Skip to content

Commit 1ca315d

Browse files
committed
chore: 更新 GitHub Actions 工作流以使用共享环境变量
- 在 CI、GitHub Release、夜间构建、PR 检查和发布工作流中引入 get-env 作业 - 修改 Node.js 和 pnpm 的设置步骤,使用共享环境变量替代直接调用 - 优化工作流结构,提高可维护性和一致性
1 parent ac0fd79 commit 1ca315d

File tree

5 files changed

+42
-55
lines changed

5 files changed

+42
-55
lines changed

.github/workflows/ci.yml

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,31 +7,32 @@ on:
77
branches: [ main, master ]
88

99
jobs:
10+
get-env:
11+
uses: ./.github/workflows/env.yml
12+
1013
test:
1114
name: Test
1215
runs-on: ${{ matrix.os }}
16+
needs: get-env
1317

1418
strategy:
1519
matrix:
1620
os: [ubuntu-latest, windows-latest, macos-latest]
1721

1822
steps:
19-
- name: Call env workflow
20-
uses: ./.github/workflows/env.yml
21-
id: env
2223

2324
- name: Checkout
2425
uses: actions/checkout@v4
2526

26-
- name: Setup Node.js ${{ steps.env.outputs.node_version }}
27+
- name: Setup Node.js ${{ needs.get-env.outputs.node_version }}
2728
uses: actions/setup-node@v4
2829
with:
29-
node-version: ${{ steps.env.outputs.node_version }}
30+
node-version: ${{ needs.get-env.outputs.node_version }}
3031

3132
- name: Setup pnpm
3233
uses: pnpm/action-setup@v4
3334
with:
34-
version: ${{ steps.env.outputs.pnpm_version }}
35+
version: ${{ needs.get-env.outputs.pnpm_version }}
3536

3637
- name: Get pnpm store directory
3738
shell: bash
@@ -67,7 +68,7 @@ jobs:
6768
- name: Upload build artifacts
6869
uses: actions/upload-artifact@v4
6970
with:
70-
name: vscode-syncing-${{ matrix.os }}-${{ steps.env.outputs.node_version }}
71+
name: vscode-syncing-${{ matrix.os }}-${{ needs.get-env.outputs.node_version }}
7172
path: |
7273
*.vsix
7374
dist/
@@ -79,22 +80,20 @@ jobs:
7980
if: github.event_name == 'pull_request'
8081

8182
steps:
82-
- name: Call env workflow
83-
uses: ./.github/workflows/env.yml
84-
id: env
83+
8584

8685
- name: Checkout
8786
uses: actions/checkout@v4
8887

8988
- name: Setup Node.js
9089
uses: actions/setup-node@v4
9190
with:
92-
node-version: ${{ steps.env.outputs.node_version }}
91+
node-version: ${{ needs.get-env.outputs.node_version }}
9392

9493
- name: Setup pnpm
9594
uses: pnpm/action-setup@v4
9695
with:
97-
version: ${{ steps.env.outputs.pnpm_version }}
96+
version: ${{ needs.get-env.outputs.pnpm_version }}
9897

9998
- name: Install dependencies
10099
run: pnpm install --frozen-lockfile

.github/workflows/github-release.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,29 @@ on:
1111
required: false
1212

1313
jobs:
14+
get-env:
15+
uses: ./.github/workflows/env.yml
16+
1417
release:
1518
name: GitHub Release
1619
runs-on: ubuntu-latest
17-
20+
needs: get-env
1821
outputs:
1922
version: ${{ steps.version.outputs.version }}
2023

2124
steps:
22-
- name: Call env workflow
23-
uses: ./.github/workflows/env.yml
24-
id: env
25-
2625
- name: Checkout
2726
uses: actions/checkout@v4
2827

2928
- name: Setup Node.js
3029
uses: actions/setup-node@v4
3130
with:
32-
node-version: ${{ steps.env.outputs.node_version }}
31+
node-version: ${{ needs.get-env.outputs.node_version }}
3332

3433
- name: Setup pnpm
3534
uses: pnpm/action-setup@v4
3635
with:
37-
version: ${{ steps.env.outputs.pnpm_version }}
36+
version: ${{ needs.get-env.outputs.pnpm_version }}
3837

3938
- name: Install dependencies
4039
run: pnpm install --frozen-lockfile

.github/workflows/nightly.yml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,26 @@ on:
77
workflow_dispatch: # 允许手动触发
88

99
jobs:
10+
get-env:
11+
uses: ./.github/workflows/env.yml
12+
1013
nightly:
1114
name: Nightly Build
1215
runs-on: ubuntu-latest
13-
16+
needs: get-env
1417
steps:
15-
- name: Call env workflow
16-
uses: ./.github/workflows/env.yml
17-
id: env
18-
1918
- name: Checkout
2019
uses: actions/checkout@v4
2120

2221
- name: Setup Node.js
2322
uses: actions/setup-node@v4
2423
with:
25-
node-version: ${{ steps.env.outputs.node_version }}
24+
node-version: ${{ needs.get-env.outputs.node_version }}
2625

2726
- name: Setup pnpm
2827
uses: pnpm/action-setup@v4
2928
with:
30-
version: ${{ steps.env.outputs.pnpm_version }}
29+
version: ${{ needs.get-env.outputs.pnpm_version }}
3130

3231
- name: Get pnpm store directory
3332
shell: bash
@@ -71,7 +70,7 @@ jobs:
7170
- name: Upload nightly build
7271
uses: actions/upload-artifact@v4
7372
with:
74-
name: vscode-syncing-nightly-${{ steps.env.outputs.node_version }}-${{ github.sha }}
73+
name: vscode-syncing-nightly-${{ needs.get-env.outputs.node_version }}-${{ github.sha }}
7574
path: |
7675
*.vsix
7776
dist/

.github/workflows/pr-check.yml

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,26 @@ on:
55
branches: [ main, master ]
66

77
jobs:
8+
get-env:
9+
uses: ./.github/workflows/env.yml
10+
811
code-quality:
912
name: Code Quality
1013
runs-on: ubuntu-latest
11-
14+
needs: get-env
1215
steps:
13-
- name: Call env workflow
14-
uses: ./.github/workflows/env.yml
15-
id: env
16-
1716
- name: Checkout
1817
uses: actions/checkout@v4
1918

2019
- name: Setup Node.js
2120
uses: actions/setup-node@v4
2221
with:
23-
node-version: ${{ steps.env.outputs.node_version }}
22+
node-version: ${{ needs.get-env.outputs.node_version }}
2423

2524
- name: Setup pnpm
2625
uses: pnpm/action-setup@v4
2726
with:
28-
version: ${{ steps.env.outputs.pnpm_version }}
27+
version: ${{ needs.get-env.outputs.pnpm_version }}
2928

3029
- name: Get pnpm store directory
3130
shell: bash
@@ -80,24 +79,20 @@ jobs:
8079
dependency-check:
8180
name: Dependency Check
8281
runs-on: ubuntu-latest
83-
82+
needs: get-env
8483
steps:
85-
- name: Call env workflow
86-
uses: ./.github/workflows/env.yml
87-
id: env
88-
8984
- name: Checkout
9085
uses: actions/checkout@v4
9186

9287
- name: Setup Node.js
9388
uses: actions/setup-node@v4
9489
with:
95-
node-version: ${{ steps.env.outputs.node_version }}
90+
node-version: ${{ needs.get-env.outputs.node_version }}
9691

9792
- name: Setup pnpm
9893
uses: pnpm/action-setup@v4
9994
with:
100-
version: ${{ steps.env.outputs.pnpm_version }}
95+
version: ${{ needs.get-env.outputs.pnpm_version }}
10196

10297
- name: Install dependencies
10398
run: pnpm install --frozen-lockfile
@@ -120,28 +115,24 @@ jobs:
120115
build-test:
121116
name: Build Test
122117
runs-on: ${{ matrix.os }}
123-
118+
needs: get-env
124119
strategy:
125120
matrix:
126121
os: [ubuntu-latest, windows-latest, macos-latest]
127122

128123
steps:
129-
- name: Call env workflow
130-
uses: ./.github/workflows/env.yml
131-
id: env
132-
133124
- name: Checkout
134125
uses: actions/checkout@v4
135126

136127
- name: Setup Node.js
137128
uses: actions/setup-node@v4
138129
with:
139-
node-version: ${{ steps.env.outputs.node_version }}
130+
node-version: ${{ needs.get-env.outputs.node_version }}
140131

141132
- name: Setup pnpm
142133
uses: pnpm/action-setup@v4
143134
with:
144-
version: ${{ steps.env.outputs.pnpm_version }}
135+
version: ${{ needs.get-env.outputs.pnpm_version }}
145136

146137
- name: Get pnpm store directory
147138
shell: bash

.github/workflows/publish-marketplace.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,25 @@ on:
88
required: true
99

1010
jobs:
11+
get-env:
12+
uses: ./.github/workflows/env.yml
13+
1114
publish:
1215
runs-on: ubuntu-latest
13-
16+
needs: get-env
1417
steps:
15-
- name: Call env workflow
16-
uses: ./.github/workflows/env.yml
17-
id: env
18-
1918
- name: Checkout
2019
uses: actions/checkout@v4
2120

2221
- name: Setup Node.js
2322
uses: actions/setup-node@v4
2423
with:
25-
node-version: ${{ steps.env.outputs.node_version }}
24+
node-version: ${{ needs.get-env.outputs.node_version }}
2625

2726
- name: Setup pnpm
2827
uses: pnpm/action-setup@v4
2928
with:
30-
version: ${{ steps.env.outputs.pnpm_version }}
29+
version: ${{ needs.get-env.outputs.pnpm_version }}
3130

3231
- name: Install dependencies
3332
run: pnpm install --frozen-lockfile

0 commit comments

Comments
 (0)