Skip to content

Commit f70f0ef

Browse files
authored
Fix release action (#623)
* updated podspec names in release.yml * updated release action to create a PR * trying different changed to get create pull request working * added pull-requests write permissions * added special token to allow for on: merge triggers & actions running * trying a different token * added release tag action * fixed token * test * added additional release steps * test * added release tag action * added additional release steps * removed old action
1 parent aa95625 commit f70f0ef

File tree

3 files changed

+72
-8
lines changed

3 files changed

+72
-8
lines changed

.github/workflows/release.yml renamed to .github/workflows/Create-Release-PR.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ jobs:
1010
runs-on: ubuntu-latest
1111
permissions:
1212
contents: write
13+
pull-requests: write
1314
steps:
1415
- uses: actions/checkout@v4
1516
with:
@@ -32,13 +33,17 @@ jobs:
3233
sed -i -e 's/spec.version = ".*"/spec.version = "${{ inputs.new_version }}"/' OpenTelemetry-Swift-Api.podspec
3334
sed -i -e 's/spec.version = ".*"/spec.version = "${{ inputs.new_version }}"/' OpenTelemetry-Swift-Sdk.podspec
3435
35-
- uses: stefanzweifel/git-auto-commit-action@v5
36+
- name: Create Pull Request
37+
uses: peter-evans/create-pull-request@v7
3638
with:
37-
commit_message: version bump to ${{inputs.new_version}}
38-
tagging_message: 'v${{ inputs.new_version }}'
39-
- uses: ncipollo/release-action@v1
40-
with:
41-
tag: v${{inputs.new_version}}
42-
prerelease: true
43-
generateReleaseNotes: true
39+
token: ${{ secrets.RELEASE_TOKEN }}
40+
branch: release/v${{inputs.new_version}}
41+
commit-message: 'Release v${{inputs.new_version}}'
42+
title: 'Release v${{inputs.new_version}}'
43+
delete-branch: true
44+
body: >
45+
This PR is auto-generated by
46+
[create-pull-request](https://github.com/peter-evans/create-pull-request).
47+
base: main
48+
4449

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Warn Release Pull Requests
2+
on:
3+
pull_request:
4+
branches:
5+
- main
6+
types:
7+
- opened
8+
jobs:
9+
Check:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
pull-requests: write
13+
steps:
14+
- name: check branch name
15+
id: check-release
16+
run: |
17+
if [[ ${{ github.head_ref }} =~ ^release/(v[0-9]+\.[0-9]+\.[0-9]+$) ]]; then
18+
echo "match=true" >> $GITHUB_OUTPUT
19+
fi
20+
- name: add comment if PR is release
21+
if: steps.check-release.outputs.match == 'true'
22+
uses: mshick/add-pr-comment@v2
23+
with:
24+
message: |
25+
**WARNING** : This PR will trigger a release and tag when merged.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Tag & Note Release
2+
on :
3+
pull_request:
4+
branches:
5+
- main
6+
types:
7+
- closed
8+
jobs:
9+
CheckRelease:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Check if merge is release branch
13+
id: check-release
14+
run: |
15+
if [[ ${{ github.head_ref }} =~ ^release/(v[0-9]+\.[0-9]+\.[0-9]+$) ]]; then
16+
echo "match=true" >> $GITHUB_OUTPUT
17+
echo "version=${BASH_REMATCH[1]}" >> $GITHUB_OUTPUT
18+
fi
19+
- name: Tag if release branch
20+
if: github.event.pull_request.merged != true || steps.check-release.outputs.match != 'true'
21+
run: exit 1
22+
- uses: actions/checkout@v4
23+
with:
24+
ref: ${{ github.event.pull_request.merge_commit_sha }}
25+
fetch-depth: '0'
26+
- uses: stefanzweifel/git-auto-commit-action@v5
27+
with:
28+
commit_message: version bump to ${{ steps.check-release.outputs.version }}
29+
tagging_message: 'v${{ steps.check-release.outputs.version }}'
30+
- uses: ncipollo/release-action@v1
31+
with:
32+
tag: v${{ steps.check-release.outputs.version }}
33+
prerelease: true
34+
generateReleaseNotes: true

0 commit comments

Comments
 (0)