Skip to content

Conversation

judah-sotomayor
Copy link
Contributor

@judah-sotomayor judah-sotomayor commented Sep 25, 2025

Update the prisma Projects model and generate migration for:

  • AutoPublishOnRebuild
  • RebuildOnSoftwareUpdate

Addresses #1236.

Summary by CodeRabbit

  • New Features
    • Added two project settings to automate workflows:
      • Auto-publish after a project rebuild.
      • Trigger a rebuild when the underlying software is updated.
    • Both options are disabled by default to preserve current behavior.
    • Accessible in project settings for fine-grained control over publishing and rebuild automation.

Copy link
Contributor

coderabbitai bot commented Sep 25, 2025

Walkthrough

Adds two boolean columns, AutoPublishOnRebuild and RebuildOnSoftwareUpdate, to the public.Projects table via a Prisma migration and updates the Prisma Projects model to include these optional boolean fields with default false.

Changes

Cohort / File(s) Summary
Database migration & schema
src/lib/prisma/migrations/12_auto_rebuilds/migration.sql, src/lib/prisma/schema.prisma
Drops AutomaticBuilds from public.Projects; adds AutoPublishOnRebuild BOOLEAN DEFAULT false and RebuildOnSoftwareUpdate BOOLEAN DEFAULT false; updates Prisma Projects model to include the two new optional boolean fields with default false.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Suggested reviewers

  • chrisvire

Poem

Thump-thump in the dataroll,
Two little flags take their stroll—
Rebuild and auto-publish, set to false,
Quiet fields align without a pulse.
Hop on, schema; steady the goal. 🥕

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title clearly and concisely summarizes the primary change in this pull request by stating that automatic build settings are being added to the Projects model, which directly reflects the addition of the two new fields in both the Prisma schema and the migration. It avoids vague wording and focuses on the main modification developers will see.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@FyreByrd FyreByrd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you could run npx prisma format (shouldn't require a new migration) that would be great.

Otherwise looks good.

@judah-sotomayor
Copy link
Contributor Author

Image

I believe I got this right.

@judah-sotomayor judah-sotomayor force-pushed the feature/automatic-builds-migration branch from 1a98769 to e728598 Compare September 25, 2025 21:10
@FyreByrd FyreByrd self-requested a review September 26, 2025 13:10
Copy link
Member

@chrisvire chrisvire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove "AutomaticBuilds"

Update the prisma Projects model and generate migration for:
- AutoPublishOnRebuild
- RebuildOnSoftwareUpdate
@judah-sotomayor judah-sotomayor force-pushed the feature/automatic-builds-migration branch from e728598 to 0955bd5 Compare September 26, 2025 16:24
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e728598 and 0955bd5.

📒 Files selected for processing (2)
  • src/lib/prisma/migrations/12_auto_rebuilds/migration.sql (1 hunks)
  • src/lib/prisma/schema.prisma (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-09-16T13:58:15.749Z
Learnt from: FyreByrd
PR: sillsdev/appbuilder-portal#1286
File: src/routes/(authenticated)/admin/settings/organizations/new/+page.server.ts:15-15
Timestamp: 2025-09-16T13:58:15.749Z
Learning: In the appbuilder-portal codebase, multiple models have OwnerId fields (Groups, Projects, etc.) that are unrelated to each other. When removing Organizations.OwnerId, other models' OwnerId fields should not be affected as they serve different ownership relationships.

Applied to files:

  • src/lib/prisma/schema.prisma
📚 Learning: 2025-09-12T14:02:04.558Z
Learnt from: FyreByrd
PR: sillsdev/appbuilder-portal#1283
File: src/lib/server/workflow/index.ts:52-74
Timestamp: 2025-09-12T14:02:04.558Z
Learning: In the appbuilder-portal codebase, when a Product exists, it always has an associated Project relationship. The Project._count fields (Authors, Reviewers) are safe to access directly when the Product query returns a result.

Applied to files:

  • src/lib/prisma/schema.prisma
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: typecheck-lint

Copy link
Contributor

@FyreByrd FyreByrd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Migration applies cleanly on existing local database without any issues.

@FyreByrd FyreByrd merged commit eba1bdd into sillsdev:develop Sep 29, 2025
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Rebuilds: Add database migration for options
3 participants