Skip to content

Commit a82f560

Browse files
committed
Chore(ci): Introduce workflow for version release of packages
1 parent 20a21b5 commit a82f560

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

.github/workflows/version.yaml

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: 🚀 Version
2+
run-name: Version, dry-run:${{ inputs.dryrun }}
3+
4+
on:
5+
workflow_dispatch:
6+
inputs:
7+
dryrun:
8+
description: 'Dry run'
9+
required: false
10+
default: false
11+
type: boolean
12+
13+
jobs:
14+
version:
15+
name: 🏷️ Version
16+
runs-on: ubuntu-24.04
17+
permissions:
18+
# create commits and releases
19+
contents: write
20+
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
25+
- name: Setup Node and Install Dependencies
26+
uses: ./.github/actions/setup-install
27+
28+
- name: Setup git config
29+
run: |
30+
git config user.name "${{ github.actor }}"
31+
git config user.email "[email protected]"
32+
33+
- name: List affected packages
34+
run: |
35+
yarn packages:changed
36+
37+
- name: Build
38+
run: |
39+
make build
40+
41+
- name: Dry run
42+
if: ${{ github.event.inputs.dryrun == 'true' }}
43+
run: |
44+
yarn lerna version --no-private --no-push --no-git-tag-version --yes
45+
git diff
46+
47+
- name: Version
48+
if: ${{ github.event.inputs.dryrun == 'false' }}
49+
env:
50+
# must be of type Automation to create releases
51+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
52+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
53+
run: |
54+
make version
55+
git --no-pager show --stat --patch HEAD
56+
57+
- name: Confirm version push
58+
if: ${{ github.event.inputs.dryrun == 'false' }}
59+
run: |
60+
echo "Please confirm to proceed with the version push (yes/no):"
61+
read confirmation
62+
if [ "$confirmation" != "yes" ]; then
63+
echo "Version process aborted."
64+
exit 1
65+
else
66+
echo "Proceeding with the version push..."
67+
git push && git push --tags
68+
fi

0 commit comments

Comments
 (0)