Skip to content

Conversation

@BYK
Copy link
Member

@BYK BYK commented Jan 9, 2026

Summary

This PR migrates from the deprecated action-prepare-release to the new Craft GitHub Actions.

Changes

  • Migrated .github/workflows/release.yml to Craft composite action
  • Updated .craft.yml with versioning.policy: calver

Documentation

See https://getsentry.github.io/craft/github-actions/ for more information.

This PR migrates from the deprecated action-prepare-release to the new
Craft GitHub Actions (reusable workflow or composite action).

Changes:
- Migrate .github/workflows/release.yml to Craft composite action
- Update .craft.yml with versioning.policy: calver
@github-actions
Copy link

github-actions bot commented Jan 9, 2026

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

  • Switch nodestore-s3 package to getsentry org by aldy505 in #4119

Build / dependencies / internal 🔧

  • (deps) Bump astral-sh/setup-uv from 7.1.5 to 7.1.6 by dependabot in #4100
  • (release) Switch from action-prepare-release to Craft by BYK in #4129

Other

  • Include SDK version 10 when using local JS SDK assets by hsgt-brice in #4130

🤖 This preview updates automatically when you update the PR.

The previous migration incorrectly removed the GitHub App token
authentication step. This commit restores it by switching to the
composite action pattern which preserves the auth flow.
Comment on lines 46 to 52
- id: prepare
uses: getsentry/craft@39ee616a6a58dc64797feecb145d66770492b66c # v2
env:
GITHUB_TOKEN: ${{ github.token }}
with:
version: ${{ inputs.version }}
force: ${{ inputs.force }}

This comment was marked as outdated.

Copy link
Collaborator

@aldy505 aldy505 left a comment

Choose a reason for hiding this comment

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

I would recommend you to use this for updating GHA tags https://github.com/azat-io/actions-up

needs: release
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't know why but this is very inconsistent. Why did you lower the version for actions/checkout?

steps:
- name: Repository checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.0
Copy link
Collaborator

Choose a reason for hiding this comment

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

The version comment should be updated to v6.0.1 too.

uses: getsentry/action-prepare-release@3cea80dc3938c0baf5ec4ce752ecb311f8780cdc # v1.6.4
uses: getsentry/craft@1c58bfd57bfd6a967b6f3fc92bead2c42ee698ce # v2
env:
GITHUB_TOKEN: ${{ steps.token.outputs.token }}

This comment was marked as outdated.

token: ${{ steps.token.outputs.token }}
fetch-depth: 0
- name: Prepare release
id: prepare-release
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 job's output release-version references an environment variable env.RELEASE_VERSION, which may not be reliably passed to downstream jobs.
Severity: HIGH

Suggested Fix

Verify the outputs of the getsentry/craft action. If it provides a step output (e.g., version), update the job output to use it: release-version: ${{ steps.prepare-release.outputs.version }}. This ensures data is passed reliably between jobs according to GitHub Actions best practices.

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: .github/workflows/release.yml#L35

Potential issue: The `release` job defines an output `release-version` by referencing
the environment variable `env.RELEASE_VERSION`. Environment variables set within a step
are not guaranteed to be available for job-level outputs. If the `getsentry/craft`
action in the `prepare-release` step does not set this environment variable in a way
that's accessible at the job scope, the `release-version` output will be empty.
Consequently, the downstream `dogfood-release` job will receive an empty version,
potentially causing the release process to fail or proceed with an incorrect version.

Did we get this right? 👍 / 👎 to inform future reviews.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants