-
-
Notifications
You must be signed in to change notification settings - Fork 61
ref(build): release Docker image to GHCR via Craft #1856
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| - id: release | ||
| name: docker | ||
| source: us-central1-docker.pkg.dev/sentryio/symbolicator/image | ||
| target: getsentry/symbolicator | ||
| source: ghcr.io/getsentry/symbolicator | ||
| target: ghcr.io/getsentry/symbolicator | ||
| - id: latest | ||
| name: docker | ||
| source: us-central1-docker.pkg.dev/sentryio/symbolicator/image | ||
| target: getsentry/symbolicator | ||
| source: ghcr.io/getsentry/symbolicator | ||
| target: ghcr.io/getsentry/symbolicator | ||
| targetFormat: '{{{target}}}:latest' | ||
| requireNames: | ||
| - /^symbolicator-Darwin-universal$/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: The release.yml workflow is missing the craft publish command, which will prevent Docker images from being published during a release.
Severity: CRITICAL | Confidence: High
🔍 Detailed Analysis
The new release workflow in release.yml replaces the previous Docker image publishing mechanism but omits the necessary craft publish command. The workflow calls getsentry/action-prepare-release but does not include a subsequent step to publish artifacts. Although .craft.yml is correctly configured with Docker targets for ghcr.io/getsentry/symbolicator, these definitions are never used because the command that invokes them is missing from the release process. As a result, new versions of the symbolicator Docker image will not be published to the container registry during a release.
💡 Suggested Fix
Add a step to the release.yml job that runs craft publish after the release has been prepared. This will use the Docker target configuration in .craft.yml to publish the images. Ensure that any necessary authentication steps for the container registry are also included in the workflow.
🤖 Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: .craft.yml#L20-L31
Potential issue: The new release workflow in `release.yml` replaces the previous Docker
image publishing mechanism but omits the necessary `craft publish` command. The workflow
calls `getsentry/action-prepare-release` but does not include a subsequent step to
publish artifacts. Although `.craft.yml` is correctly configured with Docker targets for
`ghcr.io/getsentry/symbolicator`, these definitions are never used because the command
that invokes them is missing from the release process. As a result, new versions of the
symbolicator Docker image will not be published to the container registry during a
release.
Did we get this right? 👍 / 👎 to inform future reviews.
Reference ID: 7927984
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1856 +/- ##
==========================================
- Coverage 76.09% 75.06% -1.03%
==========================================
Files 101 116 +15
Lines 15262 16644 +1382
==========================================
+ Hits 11613 12494 +881
- Misses 3649 4150 +501 |
This is an ongoing effort to simplify the release process to not rely on the hacky GitHub Actions script that copies the Docker image after a release was created.
Part of getsentry/self-hosted#4123
REF SELF-78