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 reusable workflow

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 reusable workflow
@BYK BYK requested review from buenaflor and romtsn as code owners January 9, 2026 18:01
@github-actions
Copy link
Contributor

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).


Bug Fixes 🐛

  • (ios) Fix UserFeedback not being sent on iOS by romtsn in #503

Build / dependencies / internal 🔧

  • (release) Switch from action-prepare-release to Craft by BYK in #504

🤖 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 +6 to +7
description: Version to release (or "auto")
required: false

This comment was marked as outdated.

Comment on lines +6 to +7
description: Version to release (or "auto")
required: false

This comment was marked as outdated.

Comment on lines +15 to 17
pull-requests: write

jobs:
Copy link

Choose a reason for hiding this comment

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

Bug: The optional force input lacks a default. If not provided, GitHub Actions passes an empty string, which could be misinterpreted by the downstream craft action, potentially forcing a release.
Severity: CRITICAL

Suggested Fix

To ensure predictable behavior, explicitly handle the empty string case. Add a default value for the force input, such as default: 'false', or use a conditional step to set a default if the input is an empty string, like force: ${{ github.event.inputs.force || 'false' }}.

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#L15-L17

Potential issue: The `release.yml` workflow defines the `force` input as optional
(`required: false`) without a default value. When a user triggers this workflow without
specifying the `force` input, GitHub Actions will pass an empty string `""` to the
`getsentry/craft@v2` action. The behavior of the `craft` action when receiving an empty
string for a boolean input is unknown. If it interprets an empty string as `true`, it
could lead to unintentionally forced releases even when release-blockers are present. If
it fails validation, the workflow will break.

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

None yet

Development

Successfully merging this pull request may close these issues.

2 participants