mirror of https://github.com/zmkfirmware/zmk.git
chore(ci): Automatically bump version in user config template when releasing a new version (#3016)
This commit is contained in:
parent
c25e927a2f
commit
6c266b7123
|
|
@ -11,28 +11,70 @@ permissions:
|
||||||
name: release-please
|
name: release-please
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-please:
|
handle-commit:
|
||||||
|
name: Handle new commit
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
release_created: ${{ steps.release.outputs.release_created }}
|
||||||
|
major: ${{ steps.release.outputs.major }}
|
||||||
|
minor: ${{ steps.release.outputs.minor }}
|
||||||
|
patch: ${{ steps.release.outputs.patch }}
|
||||||
steps:
|
steps:
|
||||||
- uses: googleapis/release-please-action@v4
|
- uses: googleapis/release-please-action@v4
|
||||||
id: release
|
id: release
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}
|
token: ${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}
|
||||||
target-branch: ${{ github.ref_name }}
|
target-branch: ${{ github.ref_name }}
|
||||||
|
|
||||||
|
release-new-version:
|
||||||
|
name: Release new version
|
||||||
|
needs: handle-commit
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ needs.handle-commit.outputs.release_created }}
|
||||||
|
env:
|
||||||
|
ZMK_RELEASE_PLEASE_TOKEN: ${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}
|
||||||
|
VERSION: v${{ needs.handle-commit.outputs.major }}.${{ needs.handle-commit.outputs.minor }}
|
||||||
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
if: ${{ steps.release.outputs.release_created }}
|
|
||||||
- name: create major, minor branch
|
- name: Create major.minor branch
|
||||||
if: ${{ steps.release.outputs.release_created && steps.release.outputs.patch == '0' }}
|
if: ${{ needs.handle-commit.outputs.patch == '0' }}
|
||||||
run: |
|
run: |
|
||||||
git remote add gh-token-branch "https://x-access-token:${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}@github.com/${{ github.repository }}.git"
|
git remote add gh-token-branch "https://x-access-token:$ZMK_RELEASE_PLEASE_TOKEN@github.com/${{ github.repository }}.git"
|
||||||
git checkout -b v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}-branch
|
git checkout -b $VERSION-branch
|
||||||
git push gh-token-branch v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}-branch
|
git push gh-token-branch $VERSION-branch
|
||||||
|
|
||||||
- name: tag major and minor versions
|
- name: tag major and minor versions
|
||||||
if: ${{ steps.release.outputs.release_created }}
|
|
||||||
run: |
|
run: |
|
||||||
git config user.name github-actions[bot]
|
git config user.name github-actions[bot]
|
||||||
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||||
git remote add gh-token "https://x-access-token:${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}@github.com/${{ github.repository }}.git"
|
git remote add gh-token "https://x-access-token:$ZMK_RELEASE_PLEASE_TOKEN@github.com/${{ github.repository }}.git"
|
||||||
git tag -d v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true
|
git tag -d $VERSION || true
|
||||||
git tag -a v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}"
|
git tag -a $VERSION -m "Release $VERSION"
|
||||||
git push --force gh-token v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}
|
git push --force gh-token $VERSION
|
||||||
|
|
||||||
|
bump-user-config-template-version:
|
||||||
|
name: Bump user config template version
|
||||||
|
needs: handle-commit
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ needs.handle-commit.outputs.release_created }}
|
||||||
|
env:
|
||||||
|
ZMK_RELEASE_PLEASE_TOKEN: ${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}
|
||||||
|
VERSION: v${{ needs.handle-commit.outputs.major }}.${{ needs.handle-commit.outputs.minor }}
|
||||||
|
steps:
|
||||||
|
- name: Bump user config template
|
||||||
|
run: |
|
||||||
|
if [ -z "$VERSION" ]; then
|
||||||
|
echo "VERSION is not set, exiting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
git config user.name github-actions[bot]
|
||||||
|
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||||
|
git clone "https://x-access-token:$ZMK_RELEASE_PLEASE_TOKEN@github.com/zmkfirmware/unified-zmk-config-template.git"
|
||||||
|
cd unified-zmk-config-template
|
||||||
|
sed -i 's/^\(\s*\)revision: .*/\1revision: '"$VERSION"'/' config/west.yml
|
||||||
|
sed -i 's|uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@.*|uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@'"$VERSION"'|' .github/workflows/build.yml
|
||||||
|
git add .
|
||||||
|
git commit -m "Version bump to $VERSION"
|
||||||
|
git push origin main
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue