Skip to content

Commit 7f48483

Browse files
authored
fix: setup node support macos 14 in arm64 (#11)
follow webpack/webpack#18359
1 parent c68dde8 commit 7f48483

File tree

3 files changed

+44
-11
lines changed

3 files changed

+44
-11
lines changed

.github/workflows/node-release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,22 +49,22 @@ jobs:
4949
steps:
5050
# Checkout action repository
5151
- name: Checkout action repository
52-
uses: actions/checkout@v3
52+
uses: actions/checkout@v4
5353
with:
5454
repository: node-modules/github-actions
5555
path: action_repo
5656
ref: ${{ inputs.action_ref }}
5757

5858
# Checkout project repository
5959
- name: Checkout project repository
60-
uses: actions/checkout@v3
60+
uses: actions/checkout@v4
6161
with:
6262
path: main_repo
6363
token: ${{ secrets.GIT_TOKEN }}
6464

6565
# Setup Node.js environment
6666
- name: Setup Node.js
67-
uses: actions/setup-node@v3
67+
uses: actions/setup-node@v4
6868

6969
# Install action dependencies
7070
- name: Install action dependencies

.github/workflows/node-test-mysql.yml

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ on:
1010

1111
version:
1212
type: string
13-
description: 'Node.js Version, such as 16, 18'
14-
default: '16, 18'
13+
description: 'Node.js Version, such as 16, 18, 20, 22'
14+
default: '16, 18, 20, 22'
1515

1616
install:
1717
type: string
@@ -39,15 +39,15 @@ jobs:
3939
steps:
4040
# Checkout action repository
4141
- name: Checkout
42-
uses: actions/checkout@v3
42+
uses: actions/checkout@v4
4343
with:
4444
repository: node-modules/github-actions
4545
path: action_repo
4646
ref: ${{ inputs.action_ref }}
4747

4848
# Setup Node.js environment
4949
- name: Setup Node.js
50-
uses: actions/setup-node@v3
50+
uses: actions/setup-node@v4
5151

5252
# Install dependencies
5353
- name: Install dependencies
@@ -98,12 +98,29 @@ jobs:
9898

9999
steps:
100100
- name: Checkout Git Source
101-
uses: actions/checkout@v3
101+
uses: actions/checkout@v4
102+
103+
- name: Calculate Architecture
104+
uses: actions/github-script@v7
105+
with:
106+
result-encoding: string
107+
script: |
108+
const osVersion = '${{ matrix.os }}';
109+
const nodeVersion = '${{ matrix['node-version'] }}';
110+
const isMacOS = osVersion === 'macos-latest' || osVersion.startsWith('macos');
111+
const isMajor14 = nodeVersion === '14' || nodeVersion.startsWith('14.');
112+
if (isMacOS && isMajor14) {
113+
return 'x64';
114+
} else {
115+
return '';
116+
}
102117
103118
- name: Use Node.js ${{ matrix.version }}
104-
uses: actions/setup-node@v3
119+
uses: actions/setup-node@v4
105120
with:
106121
node-version: ${{ matrix.version }}
122+
architecture: ${{ steps.calculate_architecture.outputs.result }}
123+
check-latest: true
107124

108125
- name: Install Dependencies
109126
run: ${{ inputs.install }}

.github/workflows/node-test.yml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ on:
1010

1111
version:
1212
type: string
13-
description: 'Node.js Version, such as 16, 18, 20'
14-
default: '16, 18, 20'
13+
description: 'Node.js Version, such as 16, 18, 20, 22'
14+
default: '16, 18, 20, 22'
1515

1616
install:
1717
type: string
@@ -75,10 +75,26 @@ jobs:
7575
- name: Checkout Git Source
7676
uses: actions/checkout@v4
7777

78+
- name: Calculate Architecture
79+
uses: actions/github-script@v7
80+
with:
81+
result-encoding: string
82+
script: |
83+
const osVersion = '${{ matrix.os }}';
84+
const nodeVersion = '${{ matrix['node-version'] }}';
85+
const isMacOS = osVersion === 'macos-latest' || osVersion.startsWith('macos');
86+
const isMajor14 = nodeVersion === '14' || nodeVersion.startsWith('14.');
87+
if (isMacOS && isMajor14) {
88+
return 'x64';
89+
} else {
90+
return '';
91+
}
92+
7893
- name: Use Node.js ${{ matrix.version }}
7994
uses: actions/setup-node@v4
8095
with:
8196
node-version: ${{ matrix.version }}
97+
architecture: ${{ steps.calculate_architecture.outputs.result }}
8298
check-latest: true
8399

84100
- name: Install Dependencies

0 commit comments

Comments
 (0)