Skip to content

Add a release workflow#839

Merged
zanieb merged 1 commit intomainfrom
zb/release
Apr 7, 2026
Merged

Add a release workflow#839
zanieb merged 1 commit intomainfrom
zb/release

Conversation

@zanieb
Copy link
Copy Markdown
Member

@zanieb zanieb commented Apr 2, 2026

Uses a release workflow with environment protection for publishing releases instead of relying on user invocation.

The release environment can then be protected, e.g., requiring approval from another team member. We can add a tag ruleset to prevent tags from being created outside of the release environment.

I've never used Release drafter, but the workflow here differs from our other projects in that the release process just marks the draft release as final and adds the tag. The draft release is required, for simplicity.

@zanieb zanieb marked this pull request as ready for review April 2, 2026 20:31
@zanieb zanieb requested a review from eifinger as a code owner April 2, 2026 20:31
@zanieb zanieb requested a review from woodruffw April 2, 2026 20:31
Copy link
Copy Markdown
Collaborator

@eifinger eifinger left a comment

Choose a reason for hiding this comment

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

Looks good and the benefits you describe sound like reason enough to move away from the manual releases.

To clarify I understood this correctly:

  1. Release Drafter continues to creates the draft with all the PRs linked and categorized by label
  2. I add the manually created release text
  3. I start this workflow to change the release from draft to released and create the tag

@zanieb
Copy link
Copy Markdown
Member Author

zanieb commented Apr 7, 2026

Sounds correct to me!

@zanieb
Copy link
Copy Markdown
Member Author

zanieb commented Apr 7, 2026

The only addendum would be 4. Poke the Astral team for a release workflow approval

@zanieb zanieb merged commit 7b222e1 into main Apr 7, 2026
89 checks passed
@zanieb zanieb deleted the zb/release branch April 7, 2026 13:39
eifinger pushed a commit to astral-sh/ruff-action that referenced this pull request Apr 9, 2026
@eifinger eifinger added the ci Pull requests that change the CI workflows label Apr 16, 2026
luketainton pushed a commit to luketainton/repos_pypilot that referenced this pull request Apr 17, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | action | minor | `v8.0.0` → `v8.1.0` |

---

### Release Notes

<details>
<summary>astral-sh/setup-uv (astral-sh/setup-uv)</summary>

### [`v8.1.0`](https://github.com/astral-sh/setup-uv/releases/tag/v8.1.0): 🌈 New input `no-project`

[Compare Source](astral-sh/setup-uv@v8.0.0...v8.1.0)

#### Changes

This add the a new boolean input `no-project`.
It only makes sense to use in combination with `activate-environment: true` and will append `--no project` to the `uv venv` call. This is for example useful [if you have a pyproject.toml file with parts unparseable by uv](astral-sh/setup-uv#854)

#### 🚀 Enhancements

- Add input no-project in combination with activate-environment [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;856](astral-sh/setup-uv#856))

#### 🧰 Maintenance

- fix: grant contents:write to validate-release job [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;860](astral-sh/setup-uv#860))
- Add a release-gate step to the release workflow [@&#8203;zanieb](https://github.com/zanieb) ([#&#8203;859](astral-sh/setup-uv#859))
- Draft commitish releases [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;858](astral-sh/setup-uv#858))
- Add action-types.yml to instructions [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;857](astral-sh/setup-uv#857))
- chore: update known checksums for 0.11.7 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;853](astral-sh/setup-uv#853))
- Refactor version resolving [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;852](astral-sh/setup-uv#852))
- chore: update known checksums for 0.11.6 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;850](astral-sh/setup-uv#850))
- chore: update known checksums for 0.11.5 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;845](astral-sh/setup-uv#845))
- chore: update known checksums for 0.11.4 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;843](astral-sh/setup-uv#843))
- Add a release workflow [@&#8203;zanieb](https://github.com/zanieb) ([#&#8203;839](astral-sh/setup-uv#839))
- chore: update known checksums for 0.11.3 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;836](astral-sh/setup-uv#836))

#### 📚 Documentation

- Update ignore-nothing-to-cache documentation [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;833](astral-sh/setup-uv#833))
- Pin setup-uv docs to v8 [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;829](astral-sh/setup-uv#829))

#### ⬆️ Dependency updates

- chore(deps): bump release-drafter/release-drafter from 7.1.1 to 7.2.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;855](astral-sh/setup-uv#855))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjYuMCIsInVwZGF0ZWRJblZlciI6IjQzLjEyNi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: https://git.tainton.uk/repos/pypilot/pulls/436
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Pull requests that change the CI workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants