feat(career): Add validated staging content transfer - #85
Merged
Merged
Conversation
Transfer career groups, settings and referenced images through explicit mappings and reviewed plans. Bind imports to the target database, verify content in a transaction, and preserve rollback receipts. Package the server runner in the application image and add transfer checks to CI and releases.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merging career-page code does not transfer the content entered in staging. Add a Payload-based importer that copies career groups, settings and referenced images while retaining production group IDs. Staging is authoritative for career content and application settings, including cleared URLs and closed applications.
The importer requires an explicit group mapping and a reviewed, checksummed plan bound to the target database and application. It rejects stale plans and pending migrations, verifies file hashes, applies changes in a PostgreSQL transaction, checks the resulting content before commit, and records the outcome. Applications, CVs, users and other page content remain untouched. Repeating the transfer with a fresh plan produces no changes.
Package the server runner in the application Docker image, document plan/apply commands, and run transfer unit tests in both PR and release workflows. The importer runs separately from deployment and excludes email and Google credentials.
Validation:
09974f9: lint, TypeScript, both test suites and the Linux AMD64 Docker build.next-server.js.nft.jsonENOENT error; the same integration is failing on the staging base. This is separate from the successful VPS Docker build.