Spaces:
Runtime error
π· GitHub action to automate release based on semantic versioning (#499)
Browse files* ci: add release.yml to help automate release versions
* ci: add release.yml to help automate release versions - edited file further to cover edge cases
* ci: add release.yml to help automate release versions - I had a typo in a line which pointed at a different variable
* ci: add release.yml to help automate release versions - Fixing the release portion to prepend a v
* ci: add release.yml to help automate release versions. Lowercased V so it looks like v1.1.0 instead of V1.1.0
* ci: changing structure of release.yml to be easier to understand
* ci: #minor changes made
* ci: #minor changes made to make rolling and stable both release branches
* ci: #minor changes to hopefully turn off pre-release
* ci: #minor change - trying to make pre-release suffic set to nothing
* ci: #minor change - removed older release action for a better up to date one
* ci: #minor change
* ci: #minor change to fixed the pre-release issue
* ci: #minor change to fixed the pre-release issue again
* ci: #minor change to fixed the pre-release issue again2
* ci: changed action for tag. I believe it was causing errors
* ci: missing }
* ci: testing some things
* ci: fixing self inflicted error where I forgot to put an ID in
* ci: fixing to make the release branch rolling
* major: testing updating major
* BREAKING CHANGE: removed changelog action
* ci: reset commit and removed changelog
* ci: changed action for tag. I believe it was causing errors
* ci: missing }
* ci: testing some things
* ci: fixing self inflicted error where I forgot to put an ID in
* ci: fixing to make the release branch rolling
* ci: reset commit and removed changelog
* ci: added step to change Cargo.toml app version to the latest tag version without the v
* ci: using echo and double quotes in the appversion variable. Testing now
* ci: testing autocommit
* Apply automatic changes
* ci: testing autocommit further
* ci: testing autocommit: removing tagging since it creates another tag instead of using that tag
* Apply automatic changes
* ci: testing autocommit with branch protection and doing a PR to rolling
* Apply automatic changes
* ci: testing PR create and merge - removed the if that was causing it not to run
* ci: testing PR create and merge - removed the if that was causing it not to run
* Apply automatic changes
* ci: testing PR create and merge - fixed permission issues
* ci: testing PR create and merge - fixed permission issues
* Apply automatic changes
* ci: testing PR create and merge - potentially fixed PR issue
* Apply automatic changes
* ci: testing PR create and merge - potentially fixed PR issue2
* ci: testing PR create and merge - potentially fixed PR issue + fixing what branch it targets
* ci: testing PR create and merge - testing PAT
* ci: testing PR create and merge - testing to see if merge loop stops
* ci: adding in cargo.toml version in auto git commit
* Update Cargo.toml
Co-authored-by: alamin655 <[email protected]>
* ci: adding in steps to regenerate the Cargo.lock file
* ci: adding in steps to regenerate the Cargo.lock file - fixing commit issue with cargo.toml
---------
Co-authored-by: scottc943 <[email protected]>
Co-authored-by: alamin655 <[email protected]>
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: Bump release version
|
2 |
+
on:
|
3 |
+
pull_request:
|
4 |
+
branches: [rolling]
|
5 |
+
types:
|
6 |
+
- closed
|
7 |
+
|
8 |
+
permissions:
|
9 |
+
contents: write
|
10 |
+
pull-requests: write
|
11 |
+
repository-projects: write
|
12 |
+
|
13 |
+
concurrency: production
|
14 |
+
|
15 |
+
jobs:
|
16 |
+
build:
|
17 |
+
name: bump tag version and release
|
18 |
+
if: github.event.pull_request.merged == true
|
19 |
+
runs-on: ubuntu-latest
|
20 |
+
steps:
|
21 |
+
- name: Checkout code
|
22 |
+
uses: actions/checkout@v4
|
23 |
+
with:
|
24 |
+
ref: ${{ github.sha }}
|
25 |
+
fetch-depth: 0
|
26 |
+
- name: Bump version and push tag
|
27 |
+
id: version-bump
|
28 |
+
uses: hennejg/[email protected]
|
29 |
+
with:
|
30 |
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
31 |
+
release_branches: rolling
|
32 |
+
- name: create branch
|
33 |
+
uses: peterjgrainger/[email protected]
|
34 |
+
env:
|
35 |
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
36 |
+
with:
|
37 |
+
branch: update-from-${{ github.sha }}
|
38 |
+
- name: update cargo.toml
|
39 |
+
run: |
|
40 |
+
appversion=$(echo "${{ steps.version-bump.outputs.new_tag }}" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
|
41 |
+
sed -i -e "s/^version = .*/version = \"$appversion\"/" Cargo.toml
|
42 |
+
- run: rustup toolchain install stable --profile minimal
|
43 |
+
- run: rustup update stable && rustup default stable
|
44 |
+
- name: regenerate cargo.lock
|
45 |
+
run: cargo generate-lockfile
|
46 |
+
- name: auto commit
|
47 |
+
uses: stefanzweifel/git-auto-commit-action@v5
|
48 |
+
with:
|
49 |
+
commit_message: "[skip ci] updating app version to ${{ steps.version-bump.outputs.new_tag }}"
|
50 |
+
branch: update-from-${{ github.sha }}
|
51 |
+
# create PR using GitHub CLI
|
52 |
+
- name: create PR with update info
|
53 |
+
id: create-pr
|
54 |
+
run: gh pr create --base rolling --head update-from-${{ github.sha }} --title 'Merge new update into rolling' --body 'Created by Github action'
|
55 |
+
env:
|
56 |
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
57 |
+
# merge PR using GitHub CLI
|
58 |
+
- name: merge PR with update info
|
59 |
+
id: merge-pr
|
60 |
+
run: gh pr merge --admin --merge --subject 'Merge update info' --delete-branch
|
61 |
+
env:
|
62 |
+
GH_TOKEN: ${{ secrets.ADMIN_RIGHTS_TOKEN }}
|
63 |
+
- name: Create Release
|
64 |
+
uses: softprops/action-gh-release@v1
|
65 |
+
with:
|
66 |
+
token: ${{ secrets.GITHUB_TOKEN }}
|
67 |
+
generate_release_notes: true
|
68 |
+
name: ${{ steps.version-bump.outputs.new_tag }}
|
69 |
+
tag_name: ${{ steps.version-bump.outputs.new_tag }}
|
70 |
+
prerelease: false
|
71 |
+
env:
|
72 |
+
GITHUB_REPOSITORY: ${{ github.repository }}
|