Skip to content

Commit 4b14523

Browse files
authored
Merge pull request #29 from taji-taji/create-tag-workflow
added: release workflow
2 parents 6dea71e + 756bc3f commit 4b14523

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

.github/workflows/release.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Release
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version_incremental_level:
7+
description: next incremental level
8+
required: true
9+
type: choice
10+
options:
11+
- major
12+
- minor
13+
- patch
14+
15+
jobs:
16+
release:
17+
runs-on: ubuntu-latest
18+
env:
19+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v3
23+
- name: Install SemVer
24+
run: |
25+
npm install -g semver
26+
- name: Fetch Latest Release
27+
id: fetch-latest-release
28+
run: |
29+
release=$(gh release list --limit 1)
30+
release_array=($release)
31+
echo "::set-output name=LATEST_VERSION::${release_array[0]}"
32+
- name: Create Next Version
33+
id: create-next-version
34+
run: |
35+
latest_version=${{ steps.fetch-latest-release.outputs.LATEST_VERSION }}
36+
incremental_level=${{ inputs.version_incremental_level }}
37+
next_version=$(semver ${latest_version} -i ${incremental_level})
38+
echo "::set-output name=NEXT_VERSION::${next_version}"
39+
- name: Create Release Branch
40+
run: |
41+
git switch -c release/${{ steps.create-next-version.outputs.NEXT_VERSION }}
42+
- name: Change Package.swift for Release
43+
run: |
44+
sed -i -e 's/let isDevelop = true/let isDevelop = false/' Package.swift
45+
- name: Git Config
46+
run: |
47+
git config user.name "${GITHUB_ACTOR}"
48+
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
49+
- name: Commit & Push
50+
run: |
51+
git add Package.swift
52+
git commit -m 'Change isDevelop flag to release ${{ steps.create-next-version.outputs.NEXT_VERSION }}'
53+
git push origin release/${{ steps.create-next-version.outputs.NEXT_VERSION }}
54+
- name: Create Release
55+
run: |
56+
gh release create --generate-notes --target release/${{ steps.create-next-version.outputs.NEXT_VERSION }}
57+
- name: Delete Release Branch
58+
run: |
59+
git push --delete origin release/${{ steps.create-next-version.outputs.NEXT_VERSION }}

0 commit comments

Comments
 (0)