Skip to content

Commit 9ec8b25

Browse files
authored
Add NPM_TOKEN (#1362)
* fix npm packages 403 issue with cypress tests
1 parent b006d4b commit 9ec8b25

File tree

6 files changed

+31
-5
lines changed

6 files changed

+31
-5
lines changed

.github/workflows/aps-cypress-e2e.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ env:
1616
GIT_COMMIT_AUTHOR: ${{ github.actor }}
1717
GIT_COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
1818
GIT_REPO_URL: ${{ github.repository }}
19+
# Optional: avoids npm 403 from registry when multiple images run npm install in parallel
20+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
1921

2022
jobs:
2123
cypress-run:

docker-compose.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ x-common-variables: &common-variables
55
KONG_PG_USER: konguser
66
KONG_PG_PASSWORD: konguser
77

8+
secrets:
9+
npm_token:
10+
environment: "NPM_TOKEN"
11+
812
services:
913
keycloak:
1014
image: quay.io/keycloak/keycloak:15.1.1
@@ -64,6 +68,8 @@ services:
6468
build:
6569
context: .
6670
dockerfile: ./local/portal/Dockerfile.E2E
71+
secrets:
72+
- npm_token
6773
env_file:
6874
- .env.local
6975
ports:
@@ -80,6 +86,8 @@ services:
8086
build:
8187
context: ./feeds
8288
dockerfile: Dockerfile
89+
secrets:
90+
- npm_token
8391
env_file:
8492
- ./local/feeds/.env.local
8593
restart: on-failure
@@ -208,6 +216,8 @@ services:
208216
build:
209217
context: ./local/cypress-jwks-url
210218
dockerfile: Dockerfile
219+
secrets:
220+
- npm_token
211221
volumes:
212222
- ./local/cypress-jwks-url:/src
213223
command: npm start
@@ -237,6 +247,8 @@ services:
237247
build:
238248
context: .
239249
dockerfile: e2e/Dockerfile
250+
secrets:
251+
- npm_token
240252
volumes:
241253
- ./e2e/coverage:/e2e/coverage
242254
- ./e2e/results:/e2e/results

e2e/Dockerfile

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ FROM cypress/included:13.17.0
44
WORKDIR /app
55
COPY src/. ./
66

7-
RUN npm install --legacy-peer-deps
7+
RUN --mount=type=secret,id=npm_token \
8+
( [ ! -s /run/secrets/npm_token ] || npm config set //registry.npmjs.org/:_authToken="$(cat /run/secrets/npm_token)" ) && \
9+
npm install --legacy-peer-deps
810

911
RUN npx nyc instrument --compact=false . --in-place
1012

@@ -14,7 +16,9 @@ WORKDIR /e2e
1416
RUN apt-get -y update; apt-get -y install curl
1517
COPY e2e/package.json /e2e
1618
COPY e2e/package-lock.json /e2e
17-
RUN npm install
19+
RUN --mount=type=secret,id=npm_token \
20+
( [ ! -s /run/secrets/npm_token ] || npm config set //registry.npmjs.org/:_authToken="$(cat /run/secrets/npm_token)" ) && \
21+
npm install
1822

1923
COPY e2e/cypress.config.ts /e2e
2024
COPY e2e/tsconfig.json /e2e

feeds/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ ENV APP_REVISION=${APP_REVISION}
1212
WORKDIR /app
1313

1414
COPY package*.json ./
15-
RUN npm install
15+
RUN --mount=type=secret,id=npm_token \
16+
( [ ! -s /run/secrets/npm_token ] || npm config set //registry.npmjs.org/:_authToken="$(cat /run/secrets/npm_token)" ) && \
17+
npm install
1618

1719
COPY . ./
1820

local/cypress-jwks-url/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ COPY package*.json /
66

77
EXPOSE 3500
88

9-
RUN npm install
9+
RUN --mount=type=secret,id=npm_token \
10+
( [ ! -s /run/secrets/npm_token ] || npm config set //registry.npmjs.org/:_authToken="$(cat /run/secrets/npm_token)" ) && \
11+
npm install
1012

1113
COPY . /
1214

local/portal/Dockerfile.E2E

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ COPY --chown=node src/*.json ./
1616

1717
COPY --chown=node src/nyc.config.js ./
1818

19-
RUN npm install --legacy-peer-deps
19+
USER root
20+
RUN --mount=type=secret,id=npm_token \
21+
( [ ! -s /run/secrets/npm_token ] || npm config set //registry.npmjs.org/:_authToken="$(cat /run/secrets/npm_token)" ) && \
22+
npm install --legacy-peer-deps && chown -R node:node /app
23+
USER node
2024

2125
COPY --chown=node src ./
2226

0 commit comments

Comments
 (0)