Skip to content

Conversation

@aldy505
Copy link
Collaborator

@aldy505 aldy505 commented Dec 25, 2025

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

@aldy505 aldy505 requested a review from a team as a code owner December 25, 2025 11:31
Comment on lines 21 to 31
- 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$/
Copy link

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
Copy link

codecov bot commented Dec 25, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.06%. Comparing base (5a85fd7) to head (4731e6c).
⚠️ Report is 459 commits behind head on master.

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     

@Dav1dde Dav1dde merged commit 4d04d16 into getsentry:master Jan 8, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants