aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Henrik Tjäder <henrik@grepit.se> 2022-02-09 21:03:57 +0100
committerGravatar Henrik Tjäder <henrik@grepit.se> 2022-02-10 09:54:14 +0100
commit4a7951121db71ff075bf5a8eb2cb3760c65ace7a (patch)
tree54af94751908ca78ad7c1e2a48e6d816b7825afb
parent78bdab6bf1d840ef6b072261ea33d2b8d1ad3d8d (diff)
downloadrtic-4a7951121db71ff075bf5a8eb2cb3760c65ace7a.tar.gz
rtic-4a7951121db71ff075bf5a8eb2cb3760c65ace7a.tar.zst
rtic-4a7951121db71ff075bf5a8eb2cb3760c65ace7a.zip
GHA: Automatic merge to release/vX
-rw-r--r--.github/workflows/build.yml61
1 files changed, 53 insertions, 8 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 976e698a..9d61cc0f 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -363,9 +363,11 @@ jobs:
linkchecker $td/book/en/
linkchecker $td/book/ru/
- # Only runs when pushing to master branch
- deploy:
- name: deploy
+ # Update stable branch
+ #
+ # This needs to run before book is built
+ mergetostablebranch:
+ name: If CI passes, merge master branch into release/vX
runs-on: ubuntu-20.04
needs:
- style
@@ -378,6 +380,39 @@ jobs:
- tests
- docs
- mdbook
+
+ # Only run this when pushing to master branch
+ if: github.ref == 'refs/heads/master'
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Get crate version and print output branch release/vX
+ id: crateversionbranch
+ # Parse metadata for version number, extract the Semver Major
+ run: |
+ VERSION=$(cargo metadata --format-version 1 --no-deps --offline | jq -r '.packages[] | select(.name =="cortex-m-rtic") | .version')
+ VERSIONMAJOR=${VERSION%.*.*}
+ echo "branch=release/v$VERSIONMAJOR" >> $GITHUB_ENV
+ echo "versionmajor=$VERSIONMAJOR" >> $GITHUB_ENV
+ echo "version=$VERSION" >> $GITHUB_ENV
+
+ - uses: everlytic/branch-merge@1.1.2
+ with:
+ github_token: ${{ github.token }}
+ source_ref: 'master'
+ target_branch: ${{ env.branch }}
+ commit_message_template: '[Bors] Merged {source_ref} into target {target_branch}'
+
+ # Only runs when pushing to master branch
+ # Bors run CI against staging branch,
+ # if that succeeds Borst tries against master branch
+ # If all tests pass, then deploy stage is run
+ deploy:
+ name: deploy
+ runs-on: ubuntu-20.04
+ needs:
+ mergetostablebranch
+
# Only run this when pushing to master branch
if: github.ref == 'refs/heads/master'
steps:
@@ -400,6 +435,16 @@ jobs:
with:
mdbook-version: 'latest'
+ - name: Get crate version
+ id: crateversion
+ # Parse metadata for version number, extract the Semver Major
+ run: |
+ VERSION=$(cargo metadata --format-version 1 --no-deps --offline | jq -r '.packages[] | select(.name =="cortex-m-rtic") | .version')
+ VERSIONMAJOR=${VERSION%.*.*}
+ echo "branch=release/v$VERSIONMAJOR" >> $GITHUB_ENV
+ echo "versionmajor=$VERSIONMAJOR" >> $GITHUB_ENV
+ echo "version=$VERSION" >> $GITHUB_ENV
+
- name: Remove cargo-config
run: rm -f .cargo/config
@@ -412,12 +457,12 @@ jobs:
langs=( en ru )
devver=( dev )
# The latest stable must be the first element in the array
- vers=( 1.0.x 0.5.x 0.4.x )
+ vers=( "1" "0.5" "0.4" )
# All releases start with "v"
# followed by MAJOR.MINOR.PATCH, see semver.org
- # Retain MAJOR.MINOR as $stable
- stable=${vers%.*}
+ # Store first in array as stable
+ stable=${vers}
echo "Stable version: $stable"
@@ -449,11 +494,11 @@ jobs:
# Build older versions, including stable
root=$(pwd)
for ver in ${vers[@]}; do
- prefix=${ver%.*}
+ prefix=${ver}
mkdir -p $td/$prefix/book
src=$(mktemp -d)
- curl -L https://github.com/rtic-rs/cortex-m-rtic/archive/v${ver}.tar.gz | tar xz --strip-components 1 -C $src
+ curl -L https://github.com/rtic-rs/cortex-m-rtic/archive/release/v${ver}.tar.gz | tar xz --strip-components 1 -C $src
pushd $src
rm -f .cargo/config