Skip to content

Commit 2df70b7

Browse files
Run stage tests (#817)
* Added Node.js 25 support * Update dev-build-node-cpp-addons.yml * Updated dependencies * Update dev-build-node-cpp-bindings.yml * Run stage tests * Removed version 25 pre-built bindings * Added version 25 support * Fixed the versions for get-runner-os * Added skips for unneeded versions * Update dev-build-node-cpp-bindings.yml * Fixed skip logic * Update dev-build-node-cpp-bindings.yml * Update dev-build-node-cpp-bindings.yml * Update dev-build-node-cpp-bindings.yml * Update dev-build-node-cpp-bindings.yml
1 parent fd4de92 commit 2df70b7

15 files changed

+550
-260
lines changed

.github/workflows/dev-build-node-cpp-addons.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ jobs:
4747
"manylinux_x86_64",
4848
"manylinux_aarch64",
4949
"macosx_x86_64",
50-
#"macosx_arm64",
50+
"macosx_x86_64_2",
51+
"macosx_arm64",
52+
"macosx_arm64_2",
5153
"win_amd64"
5254
]
5355
fail-fast: false

.github/workflows/dev-build-node-cpp-bindings.yml

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ on:
1919
nodejs-tags:
2020
type: string
2121
required: false
22-
default: '[["v115", "20"], ["v127", "22"], ["v137", "24"]]'
22+
default: '[["v115", "20"], ["v127", "22"], ["v137", "24"], ["v141", "25"]]'
2323
version:
2424
type: string
2525
required: true
@@ -66,13 +66,16 @@ jobs:
6666

6767
- id: get-runner-os
6868
run: |
69-
declare -A hashmap
70-
hashmap[manylinux_x86_64]="ubuntu-22.04"
71-
hashmap[manylinux_aarch64]="ubuntu-22.04-arm"
72-
hashmap[macosx_x86_64]="macos-14-large"
73-
hashmap[macosx_arm64]="SMA2"
74-
hashmap[win_amd64]="windows-2022"
75-
echo runner_os=${hashmap[${{ inputs.platform-tag }}]} >> $GITHUB_OUTPUT
69+
declare -A map
70+
map[manylinux_x86_64]="ubuntu-22.04"
71+
map[manylinux_aarch64]="ubuntu-22.04-arm"
72+
map[win_amd64]="windows-2022"
73+
map[macosx_x86_64]="macos-14-large"
74+
map[macosx_x86_64_2]="macos-15-large"
75+
map[macosx_arm64]="SMA2"
76+
map[macosx_arm64_2]="SMA3"
77+
78+
echo runner_os=${map[${{ inputs.platform-tag }}]} >> $GITHUB_OUTPUT
7679
shell: bash
7780

7881

@@ -112,7 +115,7 @@ jobs:
112115
submodules: recursive
113116
fetch-depth: 0
114117

115-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
118+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
116119
with:
117120
node-version: ${{ matrix.nodejs-tag[1] }}
118121

@@ -126,6 +129,11 @@ jobs:
126129
run: |
127130
brew install libyaml
128131
132+
- name: 'Install libyaml'
133+
if: ${{ inputs.platform-tag == 'macosx_x86_64_2' }}
134+
run: |
135+
brew install libyaml
136+
129137
- name: Replace AdditionalLibraryDirectories line in props file
130138
if: ${{ inputs.platform-tag == 'win_amd64' }}
131139
run: |
@@ -160,6 +168,7 @@ jobs:
160168
NEW_VERSION: ${{ inputs.new_version }}
161169

162170
- name: Build Binding
171+
if: ${{ (matrix.nodejs-tag[1] == '25' && (inputs.platform-tag != 'macosx_x86_64' && inputs.platform-tag != 'macosx_arm64')) || (matrix.nodejs-tag[1] != '25' && (inputs.platform-tag != 'macosx_x86_64_2' && inputs.platform-tag != 'macosx_arm64_2')) }}
163172
run: |
164173
./scripts/build-c-client.sh;
165174
npm ci --ignore-scripts;
@@ -203,15 +212,33 @@ jobs:
203212
working-directory: lib/binding
204213

205214
- name: Upload binding binaries to JFrog darwin x86
206-
if: ${{ inputs.platform-tag == 'macosx_x86_64' }}
215+
if: ${{ ( matrix.nodejs-tag[1] != '25' && inputs.platform-tag == 'macosx_x86_64' ) }}
207216
run: |
208217
jf rt upload --build-name nodejs-client --build-number ${{ env.NEW_VERSION }} "./node-${{ matrix.nodejs-tag[0] }}-darwin-x64/aerospike.node" clients-npm-dev-local/aerospike/${{ env.NEW_VERSION }}/
209218
env:
210219
NEW_VERSION: ${{ inputs.version }}
211220
working-directory: lib/binding
212221

222+
- name: Upload binding binaries to JFrog darwin x86
223+
if: ${{ ( matrix.nodejs-tag[1] == '25' && inputs.platform-tag == 'macosx_x86_64_2' ) }}
224+
run: |
225+
jf rt upload --build-name nodejs-client --build-number ${{ env.NEW_VERSION }} "./node-${{ matrix.nodejs-tag[0] }}-darwin-x64/aerospike.node" clients-npm-dev-local/aerospike/${{ env.NEW_VERSION }}/
226+
env:
227+
NEW_VERSION: ${{ inputs.version }}
228+
working-directory: lib/binding
229+
230+
231+
- name: Upload binding binaries to JFrog darwin aarch64
232+
if: ${{ ( matrix.nodejs-tag[1] != '25' && inputs.platform-tag == 'macosx_arm64' ) }}
233+
run: |
234+
jf rt upload --build-name nodejs-client --build-number ${{ env.NEW_VERSION }} "./node-${{ matrix.nodejs-tag[0] }}-darwin-arm64/aerospike.node" clients-npm-dev-local/aerospike/${{ env.NEW_VERSION }}/
235+
env:
236+
NEW_VERSION: ${{ inputs.version }}
237+
working-directory: lib/binding
238+
239+
213240
- name: Upload binding binaries to JFrog darwin aarch64
214-
if: ${{ inputs.platform-tag == 'macosx_arm64' }}
241+
if: ${{ ( matrix.nodejs-tag[1] == '25' && inputs.platform-tag == 'macosx_arm64_2' ) }}
215242
run: |
216243
jf rt upload --build-name nodejs-client --build-number ${{ env.NEW_VERSION }} "./node-${{ matrix.nodejs-tag[0] }}-darwin-arm64/aerospike.node" clients-npm-dev-local/aerospike/${{ env.NEW_VERSION }}/
217244
env:

.github/workflows/dev-test-install-script.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
oidc-provider-name: gh-aerospike-clients
4343
oidc-audience: aerospike/clients
4444

45-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
45+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
4646
with:
4747
node-version: ${{ matrix.nodejs-tag[1] }}
4848
registry-url: 'https://registry.npmjs.org'

.github/workflows/get-jfrog-stage-version.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
- name: Harden the runner (Audit all outbound calls)
2929
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
3030
with:
31-
egress-policy: audit
31+
egress-policy: audit
3232

3333
# Checkout the branch where we want to bump the new version
3434
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

.github/workflows/master-upload-jfrog-build-to-npm.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
oidc-provider-name: gh-aerospike-clients
3939
oidc-audience: aerospike/clients
4040

41-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
41+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
4242
with:
4343
node-version: ${{ matrix.nodejs-tag[1] }}
4444
registry-url: 'https://registry.npmjs.org'

.github/workflows/master-verify-npm-install.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
nodejs-tags:
88
type: string
99
required: false
10-
default: '[["v115", "20"], ["v127", "22"], ["v137", "24"]]'
10+
default: '[["v115", "20"], ["v127", "22"], ["v137", "24"], ["v141", "25"]]'
1111
new_version:
1212
type: string
1313
required: true
@@ -29,7 +29,7 @@ jobs:
2929
if: ${{ matrix.os != 'windows-2022' }}
3030
run: rm -rf ${{ github.workspace }}/*
3131

32-
- uses: actions/setup-node@@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
32+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
3333
with:
3434
node-version: ${{ matrix.nodejs-tag[1] }}
3535

.github/workflows/stage-comprehensive-tests.yml

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ on:
1313
nodejs-tags:
1414
type: string
1515
required: false
16-
default: '[["v115", "20"], ["v127", "22"], ["v137", "24"]]'
16+
default: '[["v115", "20"], ["v127", "22"], ["v137", "24"], ["v141", "25"]]'
1717
platform-tag:
1818
type: string
1919
required: true
@@ -51,15 +51,19 @@ jobs:
5151

5252
- id: get-runner-os
5353
run: |
54-
declare -A hashmap
55-
hashmap[manylinux_x86_64]="ubuntu-22.04"
56-
hashmap[manylinux_aarch64]="ubuntu-22.04-arm"
57-
hashmap[macosx_x86_64]="macos-13-large"
58-
hashmap[macosx_arm64]="SMA2"
59-
hashmap[win_amd64]="windows-2022"
60-
echo runner_os=${hashmap[${{ inputs.platform-tag }}]} >> $GITHUB_OUTPUT
54+
declare -A map
55+
map[manylinux_x86_64]="ubuntu-22.04"
56+
map[manylinux_aarch64]="ubuntu-22.04-arm"
57+
map[win_amd64]="windows-2022"
58+
map[macosx_x86_64]="macos-14-large"
59+
map[macosx_x86_64_2]="macos-15-large"
60+
map[macosx_arm64_2]="SMA2"
61+
map[macosx_arm64_2]="SMA3"
62+
63+
echo runner_os=${map[${{ inputs.platform-tag }}]} >> $GITHUB_OUTPUT
6164
shell: bash
6265

66+
6367
test-ee:
6468
needs: get-runner-os
6569
if: ${{ inputs.run_tests && (inputs.platform-tag == 'manylinux_x86_64' || inputs.platform-tag == 'manylinux_aarch64' || inputs.platform-tag == 'macosx_x86_64') }}
@@ -75,8 +79,8 @@ jobs:
7579
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
7680
with:
7781
egress-policy: audit
78-
- name: Create status check message
7982

83+
- name: Create status check message
8084
run: echo STATUS_CHECK_MESSAGE="test-ee (${{ env.BUILD_IDENTIFIER }})" >> $GITHUB_ENV
8185
shell: bash
8286

@@ -92,7 +96,7 @@ jobs:
9296
submodules: recursive
9397
fetch-depth: 0
9498

95-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
99+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
96100
with:
97101
node-version: ${{ matrix.nodejs-tag[1] }}
98102

@@ -239,7 +243,7 @@ jobs:
239243
submodules: recursive
240244
fetch-depth: 0
241245

242-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
246+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
243247
with:
244248
node-version: ${{ matrix.nodejs-tag[1] }}
245249

@@ -385,7 +389,7 @@ jobs:
385389
submodules: recursive
386390
fetch-depth: 0
387391

388-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
392+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
389393
with:
390394
node-version: ${{ matrix.nodejs-tag[1] }}
391395

@@ -542,7 +546,7 @@ jobs:
542546
# We need the last tag before the ref, so we can relabel the version if needed
543547
fetch-depth: 0
544548

545-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
549+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
546550
with:
547551
node-version: ${{ matrix.nodejs-tag[1] }}
548552

@@ -666,7 +670,7 @@ jobs:
666670
# We need the last tag before the ref, so we can relabel the version if needed
667671
fetch-depth: 0
668672

669-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
673+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
670674
with:
671675
node-version: ${{ matrix.nodejs-tag[1] }}
672676

@@ -809,7 +813,7 @@ jobs:
809813
# We need the last tag before the ref, so we can relabel the version if needed
810814
fetch-depth: 0
811815

812-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
816+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
813817
with:
814818
node-version: ${{ matrix.nodejs-tag[1] }}
815819

@@ -918,7 +922,7 @@ jobs:
918922
# We need the last tag before the ref, so we can relabel the version if needed
919923
fetch-depth: 0
920924

921-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
925+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
922926
with:
923927
node-version: ${{ matrix.nodejs-tag[1] }}
924928

@@ -1036,7 +1040,7 @@ jobs:
10361040
# We need the last tag before the ref, so we can relabel the version if needed
10371041
fetch-depth: 0
10381042

1039-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
1043+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
10401044
with:
10411045
node-version: ${{ matrix.nodejs-tag[1] }}
10421046

@@ -1140,7 +1144,7 @@ jobs:
11401144
# We need the last tag before the ref, so we can relabel the version if needed
11411145
fetch-depth: 0
11421146

1143-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
1147+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
11441148
with:
11451149
node-version: ${{ matrix.nodejs-tag[1] }}
11461150

@@ -1288,7 +1292,7 @@ jobs:
12881292
run: node ./scripts/change-install-command.js
12891293
working-directory: downloaded-artifacts/aerospike/${{ inputs.version }}
12901294

1291-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
1295+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
12921296
#if: ${{ inputs.platform-tag == 'macosx_arm64' }}
12931297
with:
12941298
node-version: ${{ matrix.nodejs-tag[1] }}
@@ -1362,7 +1366,7 @@ jobs:
13621366
# We need the last tag before the ref, so we can relabel the version if needed
13631367
fetch-depth: 0
13641368

1365-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
1369+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
13661370
with:
13671371
node-version: ${{ matrix.nodejs-tag[1] }}
13681372

.github/workflows/stage-tests.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ jobs:
3232
"manylinux_x86_64",
3333
"manylinux_aarch64",
3434
"macosx_x86_64",
35+
"macosx_x86_64_2",
3536
"macosx_arm64",
37+
"macosx_arm64_2",
3638
"win_amd64"
3739
]
3840
fail-fast: false

examples/package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)