Skip to content

Commit d337860

Browse files
committed
add a workflow to create a PR updating Bevy on a schedule
1 parent cc4062e commit d337860

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

.github/workflows/release.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Release
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "0 0 1-7 3,6,9,12 *"
7+
8+
env:
9+
CARGO_TERM_COLOR: always
10+
11+
jobs:
12+
ci:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v2
16+
17+
- name: Only run on mondays
18+
id: is-it-monday
19+
continue-on-error: true
20+
run: |
21+
if [[ ! $(date +%u) -eq 1 ]]; then
22+
echo 'This is not a monday.'
23+
exit 1
24+
fi
25+
26+
- name: Install cargo-release
27+
if: steps.is-it-monday.outcome=='success'
28+
run: cargo install cargo-release
29+
30+
- name: Setup release
31+
if: steps.is-it-monday.outcome=='success'
32+
run: |
33+
git config user.name 'Bevy Auto Releaser'
34+
git config user.email '[email protected]'
35+
# --workspace: updating all crates in the workspace
36+
# --no-publish: do not publish to crates.io
37+
# --execute: not a dry run
38+
# --no-tag: do not push tag for each new version
39+
# --no-push: do not push the update commits
40+
# --exclude: ignore those packages
41+
cargo release minor \
42+
--workspace \
43+
--no-publish \
44+
--execute \
45+
--no-tag \
46+
--no-confirm \
47+
--no-push \
48+
--exclude ci \
49+
--exclude errors \
50+
--exclude bevy-ios-example
51+
52+
- name: Create PR
53+
if: steps.is-it-monday.outcome=='success'
54+
uses: peter-evans/create-pull-request@v3
55+
with:
56+
delete-branch: true
57+
base: "main"
58+
title: "Preparing Next Release"
59+
body: |
60+
Preparing next release
61+
This PR has been auto-generated

0 commit comments

Comments
 (0)