8
8
branches : [ main ]
9
9
workflow_dispatch :
10
10
11
- permissions :
12
- id-token : write
13
- contents : read
11
+ permissions : {}
14
12
15
13
jobs :
16
14
get-version :
17
15
runs-on : ubuntu-latest
16
+ permissions :
17
+ contents : read
18
18
outputs :
19
19
version : ${{ steps.version.outputs.version }}
20
20
steps :
28
28
build :
29
29
needs : [get-version]
30
30
timeout-minutes : 30
31
+ permissions :
32
+ id-token : write
33
+ contents : read
31
34
strategy :
32
35
matrix :
33
36
include :
42
45
- name : Setup Node.js
43
46
uses : actions/setup-node@v4
44
47
with :
45
- node-version : ' 20'
48
+ node-version : ' lts/*'
49
+
50
+ - name : Check copyright headers
51
+ run : npm run check-headers
46
52
47
53
- name : Install build dependencies
48
54
run : |
92
98
93
99
test :
94
100
needs : [get-version, build]
101
+ permissions :
102
+ contents : read
95
103
strategy :
96
104
matrix :
97
105
node-version : [18, 20, 22]
@@ -109,14 +117,18 @@ jobs:
109
117
docker build \
110
118
-f test/unit/Dockerfile.nodejs${{ matrix.node-version }}.x \
111
119
-t unit/nodejs.${{ matrix.node-version }}x \
112
- .
120
+ . || (sleep 60 && docker build \
121
+ -f test/unit/Dockerfile.nodejs${{ matrix.node-version }}.x \
122
+ -t unit/nodejs.${{ matrix.node-version }}x \
123
+ .)
113
124
docker run --rm unit/nodejs.${{ matrix.node-version }}x
114
125
115
126
publish :
116
127
if : startsWith(github.ref, 'refs/tags/')
117
128
runs-on : codebuild-project-awsaws-lambda-nodejs-runtime-interface-client-${{ github.run_id }}-${{ github.run_attempt }}
118
129
needs : [get-version, build, test]
119
130
permissions :
131
+ id-token : write
120
132
contents : write
121
133
steps :
122
134
- uses : actions/checkout@v4
@@ -136,11 +148,11 @@ jobs:
136
148
- name : Setup Node.js
137
149
uses : actions/setup-node@v4
138
150
with :
139
- node-version : ' 20 '
151
+ node-version : ' lts/* '
140
152
141
153
- name : Setup NPM authentication
142
154
run : |
143
- NPM_TOKEN=$(aws secretsmanager get-secret-value --secret-id aws-lambda-runtimes/github/nodejs/npm-token --query SecretString --output text)
155
+ NPM_TOKEN=$(aws secretsmanager get-secret-value --secret-id ${{ secrets.NPM_SECRET_NAME }} --query SecretString --output text)
144
156
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
145
157
chmod 0600 .npmrc
146
158
0 commit comments