ci(cryptify): publish the cryptify image from this repo - #280
Open
rubenhensen wants to merge 1 commit into
Open
Conversation
Starts moving cryptify's image delivery here now that the crate lives here (#255). Adds build-cryptify, scan-cryptify and finalize-cryptify, mirroring the pg-pkg jobs, plus a cryptify_version output on release-plz-release so a release tags the image the way pg-pkg's does. Two deliberate choices. The image keeps the name the cryptify repo publishes today, so nothing that pulls it has to be repointed. That needs the existing GHCR package to grant this repository push access, which is a package setting no workflow can set, so it cannot happen in this PR. Until it does, all three jobs are gated on the repo variable PUBLISH_CRYPTIFY_IMAGE. Unset, they skip and nothing about today's delivery changes; merging this is inert. Without that gate the push would fail and turn delivery red on every push to main. Purely additive: 165 insertions, no deletions, and the pg-pkg jobs are untouched. `actionlint` reports no workflow or expression errors. Refs #255
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.
Starts moving cryptify's image delivery into this repo now that the crate lives here. Refs #255.
Adds
build-cryptify,scan-cryptifyandfinalize-cryptifytodelivery.yml, mirroring the existing pg-pkg jobs, plus acryptify_versionoutput onrelease-plz-releaseso a release tags the image the way pg-pkg's does.Merging this changes nothing that runs today
All three jobs are gated on a repo variable:
Unset, they skip. That gate is load-bearing rather than decorative, see below.
The decision this PR does not make
The image keeps the name the cryptify repo publishes today:
so nothing that pulls
ghcr.io/encryption4all/cryptifyhas to be repointed. That requires granting this repository push access to the existing GHCR package — package settings → Manage Actions access → addencryption4all/postguardwith the Write role. No workflow can set that, so it cannot happen in this PR, and I could not verify the package's current settings either (this token lacksread:packages).Until that access exists the push would fail and turn delivery red on every push to main, which is why the jobs are gated rather than merged live.
The alternative is publishing under a new name. That needs no package settings change but moves the work to every deployment that pulls the image, which is privacybydesign/postguard-ops territory. Changing the one
env:line above is the whole cost of going that way instead.Turning it on
encryption4all/postguardWrite on thecryptifyGHCR package.PUBLISH_CRYPTIFY_IMAGE=true.:edge, and that a cryptify release also tags:0.1.x.Step 4 is deliberately not here. Until it happens both repos publish, which is redundant but not harmful, since both build the same source from the same lockfile.
Notes
build-cryptifyuses the repo root as build context withfile: cryptify/Dockerfile, because a workspace member cannot be built without the root manifest and its siblings.category: cryptifyso it does not collide with the pg-pkg scan's results.actionlintreports no workflow or expression errors; its shellcheck notes on the new jobs are the same ones the existing jobs already carry, kept for consistency.