Skip to content

Commit 8c6a6a2

Browse files
committed
chore: workflow problem
1 parent 6c6f185 commit 8c6a6a2

1 file changed

Lines changed: 20 additions & 163 deletions

File tree

.github/workflows/pre-release.yml

Lines changed: 20 additions & 163 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
1-
name: Release CI
1+
name: Pre-release CI
22

33
on:
44
push:
55
branches:
6-
- 'release/[0-9]+.[0-9]+.[0-9]+'
7-
- 'hotfix/[0-9]+.[0-9]+.[0-9]+'
86
- 'pre-release/[0-9]+.[0-9]+.[0-9]+-alpha.[0-9]+'
97
- 'pre-release/[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+'
108
- 'pre-release/[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+'
119

1210
jobs:
1311
build:
14-
runs-on: macos-latest # 如果用了electron,记得改成 macOS-latest
12+
runs-on: macOS-latest # 如果用了electron,记得改成 macOS-latest
13+
1514
permissions:
1615
contents: write
17-
pull-requests: write
18-
id-token: write
1916

2017
strategy:
2118
matrix:
@@ -24,17 +21,12 @@ jobs:
2421

2522
steps:
2623
- uses: actions/checkout@v3
27-
- run: |
28-
git config user.name ${{ github.actor }}
29-
git config user.email ${{ github.actor }}@users.noreply.github.com
30-
3124
- name: Use Node.js ${{ matrix.node-version }}
32-
uses: actions/setup-node@v4
25+
uses: actions/setup-node@v3
3326
with:
3427
node-version: ${{ matrix.node-version }}
3528
cache: 'npm'
3629
cache-dependency-path: './common/config/rush/pnpm-lock.yaml'
37-
registry-url: 'https://registry.npmjs.org'
3830

3931
- name: Print All Github Environment Variables
4032
run: env
@@ -45,181 +37,46 @@ jobs:
4537
python-version: '3.11'
4638

4739
- name: Set PYTHON env
48-
run: echo "PYTHON=$(which python3)" >> $GITHUB_ENV
49-
50-
# Install rush
51-
- name: Install native deps for node-canvas (macOS)
52-
if: runner.os == 'macOS'
53-
run: |
54-
brew update
55-
brew install pkg-config cairo pango libpng jpeg giflib librsvg
56-
- name: Install native deps for node-canvas (Linux)
57-
if: runner.os == 'Linux'
58-
run: |
59-
sudo apt-get update
60-
sudo apt-get install -y build-essential pkg-config libcairo2-dev libpango1.0-dev libpng-dev libjpeg-dev libgif-dev librsvg2-dev
40+
run:
41+
echo "PYTHON=$(which python3)" >> $GITHUB_ENV
42+
43+
# Install rush
6144
- name: Install rush
6245
run: node common/scripts/install-run-rush.js install --bypass-policy
6346

64-
- name: Parse semver for release
65-
if: startsWith(github.ref_name, 'release/')
66-
id: semver_release
67-
uses: xile611/read-package-version-action@main
68-
with:
69-
path: packages/vrender
70-
semver_string: ${{ github.ref_name }}
71-
semver_pattern: '^release/(.*)$'
72-
73-
- name: Parse semver for hotfix
74-
if: startsWith(github.ref_name, 'hotfix/')
75-
id: semver_hotfix
76-
uses: xile611/read-package-version-action@main
77-
with:
78-
path: packages/vrender
79-
semver_string: ${{ github.ref_name }}
80-
semver_pattern: '^hotfix/(.*)$'
81-
82-
- name: Parse semver for pre-release
83-
if: startsWith(github.ref_name, 'pre-release/')
84-
id: semver_prerelease
47+
- name: Parse semver version from branch name
48+
id: semver_parser
8549
uses: xile611/read-package-version-action@main
8650
with:
8751
path: packages/vrender
8852
semver_string: ${{ github.ref_name }}
89-
semver_pattern: '^pre-release/(.*)$'
90-
91-
- name: update nextBump of version policies (release)
92-
if: startsWith(github.ref_name, 'release/')
93-
uses: xile611/set-next-bump-of-rush@main
94-
with:
95-
release_version: ${{ steps.semver_release.outputs.full }}
96-
write_next_bump: true
97-
98-
- name: update nextBump of version policies (hotfix)
99-
if: startsWith(github.ref_name, 'hotfix/')
100-
uses: xile611/set-next-bump-of-rush@main
101-
with:
102-
release_version: ${{ steps.semver_hotfix.outputs.full }}
103-
write_next_bump: true
104-
105-
- name: Update version
106-
if: startsWith(github.ref_name, 'release/') || startsWith(github.ref_name, 'hotfix/')
107-
run: node common/scripts/install-run-rush.js version --bump
108-
109-
# - name: Run CI
110-
# working-directory: ./tools/bugserver-trigger
111-
# env:
112-
# BUG_SERVER_TOKEN: ${{ secrets.BUG_SERVER_TOKEN }}
113-
# run: node ../../common/scripts/install-run-rushx.js ci -t @internal/bugserver-trigger
53+
semver_pattern: '^pre-release/(.*)$' # ^v?(.*)$ by default
11454

11555
- name: Apply prereleaseName
116-
if: startsWith(github.ref_name, 'pre-release/')
117-
run: node common/scripts/apply-prerelease-version.js ${{ steps.semver_prerelease.outputs.pre_release_name }} ${{ steps.semver_prerelease.outputs.main }}
56+
run: node common/scripts/apply-prerelease-version.js ${{ steps.semver_parser.outputs.pre_release_name }} ${{ steps.semver_parser.outputs.main }}
11857

119-
- name: Build packages (pre-release)
120-
if: startsWith(github.ref_name, 'pre-release/')
58+
- name: Build packages
12159
run: node common/scripts/install-run-rush.js build --only tag:package
12260

123-
- name: Publish to npm (release)
124-
if: startsWith(github.ref_name, 'release/')
125-
run: node common/scripts/install-run-rush.js publish --publish --include-all --tag latest
126-
127-
- name: Publish to npm (hotfix)
128-
if: startsWith(github.ref_name, 'hotfix/')
129-
run: node common/scripts/install-run-rush.js publish --publish --include-all --tag hotfix
130-
131-
- name: Publish to npm (pre-release)
132-
if: startsWith(github.ref_name, 'pre-release/')
133-
run: node common/scripts/install-run-rush.js publish --publish --include-all --tag ${{ steps.semver_prerelease.outputs.pre_release_type }}
61+
- name: Publish to npm
62+
env:
63+
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
64+
NPM_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
65+
run: node common/scripts/install-run-rush.js publish --publish --include-all --tag ${{ steps.semver_parser.outputs.pre_release_type }}
13466

13567
- name: Update shrinkwrap
13668
run: node common/scripts/install-run-rush.js update
13769

138-
- name: Get npm version (release/hotfix)
139-
if: startsWith(github.ref_name, 'release/') || startsWith(github.ref_name, 'hotfix/')
70+
- name: Get npm version
14071
id: package-version
141-
uses: xile611/read-package-version-action@v2.1
142-
with:
143-
path: packages/vrender
144-
145-
- name: Get npm version (pre-release)
146-
if: startsWith(github.ref_name, 'pre-release/')
147-
id: package-version-pre
14872
uses: xile611/read-package-version-action@main
14973
with:
15074
path: packages/vrender
15175

152-
- name: Disable git hooks for CI (release/hotfix)
153-
if: startsWith(github.ref_name, 'release/') || startsWith(github.ref_name, 'hotfix/')
154-
run: git config core.hooksPath /dev/null
155-
- name: Commit & Push changes (release/hotfix)
156-
if: startsWith(github.ref_name, 'release/') || startsWith(github.ref_name, 'hotfix/')
76+
- name: Commit & Push changes
15777
uses: actions-js/push@master
158-
env:
159-
HUSKY: 0
16078
with:
16179
github_token: ${{ secrets.GITHUB_TOKEN }}
16280
message: 'build: prelease version ${{ steps.package-version.outputs.current_version }}'
16381
branch: ${{ github.ref_name }}
164-
165-
- name: Disable git hooks for CI (pre-release)
166-
if: startsWith(github.ref_name, 'pre-release/')
167-
run: git config core.hooksPath /dev/null
168-
- name: Commit & Push changes (pre-release)
169-
if: startsWith(github.ref_name, 'pre-release/')
170-
uses: actions-js/push@master
171-
env:
172-
HUSKY: 0
173-
with:
174-
github_token: ${{ secrets.GITHUB_TOKEN }}
175-
message: 'build: prelease version ${{ steps.package-version-pre.outputs.current_version }}'
176-
branch: ${{ github.ref_name }}
17782
author_name: ${{ github.actor }}
178-
179-
- name: Collect changelog of rush
180-
if: startsWith(github.ref_name, 'release/') || startsWith(github.ref_name, 'hotfix/')
181-
uses: xile611/collect-rush-changlog@main
182-
id: changelog
183-
with:
184-
version: ${{ steps.package-version.outputs.current_version }}
185-
186-
- name: Create Release for Tag (release)
187-
if: startsWith(github.ref_name, 'release/')
188-
id: release_tag
189-
uses: ncipollo/release-action@v1.12.0
190-
env:
191-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
192-
with:
193-
tag: v${{ steps.package-version.outputs.current_version }}
194-
commit: main
195-
prerelease: false
196-
body: |
197-
${{ steps.changelog.outputs.markdown }}
198-
draft: true
199-
200-
- name: Create Release for Tag (hotfix)
201-
if: startsWith(github.ref_name, 'hotfix/')
202-
id: release_tag_hotfix
203-
uses: ncipollo/release-action@v1.12.0
204-
env:
205-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
206-
with:
207-
tag: v${{ steps.package-version.outputs.current_version }}
208-
commit: ${{ github.ref_name }}
209-
prerelease: false
210-
body: |
211-
${{ steps.changelog.outputs.markdown }}
212-
draft: true
213-
214-
- name: Create Pull Request
215-
if: startsWith(github.ref_name, 'release/')
216-
uses: dustinirving/create-pr@v1.0.2
217-
with:
218-
token: ${{ secrets.GITHUB_TOKEN }}
219-
title: '[Auto release] release ${{ steps.package-version.outputs.current_version }}'
220-
base: main
221-
head: ${{ github.ref_name }}
222-
labels: release
223-
reviewers: xile611
224-
body: |
225-
${{ steps.changelog.outputs.markdown }}

0 commit comments

Comments
 (0)