Bevy release train - add a workflow to manually create a PR updating Bevy version (#3283)

# Objective

- Ensure future Bevy releases happens smoothly

## Solution

- Add a workflow that will open a PR updating all Bevy crate that can be created manually

example PR opened: https://github.com/mockersf/bevy/pull/62

The day from this PR does not need to be the release day, it will just open the PR to prepare it. Later if we feel confident, it could push automatically to crates.io.


how to trigger the workflow: https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
This commit is contained in:
François 2022-06-01 22:31:24 +00:00
parent a16ffe6239
commit 5a1866c13d

48
.github/workflows/release.yml vendored Normal file
View file

@ -0,0 +1,48 @@
name: Release
# how to trigger: https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
on:
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install cargo-release
run: cargo install cargo-release
- name: Setup release
run: |
git config user.name 'Bevy Auto Releaser'
git config user.email 'bevy@users.noreply.github.com'
# --workspace: updating all crates in the workspace
# --no-publish: do not publish to crates.io
# --execute: not a dry run
# --no-tag: do not push tag for each new version
# --no-push: do not push the update commits
# --exclude: ignore those packages
cargo release minor \
--workspace \
--no-publish \
--execute \
--no-tag \
--no-confirm \
--no-push \
--exclude ci \
--exclude errors \
--exclude bevy-ios-example
- name: Create PR
uses: peter-evans/create-pull-request@v3
with:
delete-branch: true
base: "main"
title: "Preparing Next Release"
body: |
Preparing next release
This PR has been auto-generated