-
Notifications
You must be signed in to change notification settings - Fork 257
Expand file tree
/
Copy pathDockerfile.browser
More file actions
67 lines (53 loc) · 2.46 KB
/
Dockerfile.browser
File metadata and controls
67 lines (53 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# CI test image for unit/lint/type tests
FROM node:24-alpine@sha256:01743339035a5c3c11a373cd7c83aeab6ed1457b55da6a69e014a95ac4e4700b AS browser-feature-builder
RUN apk add --update bash python3 make gcc g++ musl-dev xvfb-run curl
WORKDIR /app
COPY package*.json ./
COPY babel.config.js lerna.json .eslintignore .eslintrc.js jest.config.js tsconfig.json ./
COPY jest ./jest
ADD min_packages.tar .
COPY bin ./bin
COPY packages ./packages
RUN npm ci
RUN npm run build
RUN npm pack --verbose packages/js/
RUN npm pack --verbose packages/browser/
RUN npm pack --verbose packages/node/
RUN npm pack --verbose packages/plugin-angular/dist/
RUN npm pack --verbose packages/plugin-react/
RUN npm pack --verbose packages/plugin-vue/
RUN npm pack --verbose packages/web-worker/
COPY test/browser/features test/browser/features
WORKDIR /app/test/browser/features/fixtures
# install the dependencies for each fixture
RUN find . -name package.json -type f -mindepth 2 -maxdepth 3 ! -path "./node_modules/*" | \
xargs -I % bash -c 'cd `dirname %` && npm install --no-package-lock'
# install bugsnag dependencies
RUN npm install --no-package-lock --no-save \
../../../../bugsnag-browser-*.tgz \
../../../../bugsnag-plugin-react-*.tgz \
../../../../bugsnag-plugin-vue-*.tgz \
../../../../bugsnag-web-worker-*.tgz
WORKDIR /app/test/browser/features/fixtures/plugin_angular/angular_12
RUN npm install --no-package-lock --no-save \
../../../../../../bugsnag-plugin-angular-*.tgz \
../../../../../../bugsnag-node-*.tgz \
../../../../../../bugsnag-browser-*.tgz \
../../../../../../bugsnag-js-*.tgz
WORKDIR /app/test/browser/features/fixtures/plugin_angular/angular_17
RUN npm install --no-package-lock --no-save \
../../../../../../bugsnag-plugin-angular-*.tgz \
../../../../../../bugsnag-node-*.tgz \
../../../../../../bugsnag-browser-*.tgz \
../../../../../../bugsnag-js-*.tgz
# build each fixture
WORKDIR /app/test/browser/features/fixtures
RUN find . -name package.json -type f -mindepth 2 -maxdepth 3 ! -path "./node_modules/*" | \
xargs -I % bash -c 'cd `dirname %` && npm run build'
# once the fixtures are built we no longer need node_modules and
# it makes the COPY later on much faster if we don't have them
RUN rm -fr **/*/node_modules/
# The maze-runner browser tests (W3C protocol)
FROM 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v11-cli AS browser-maze-runner
COPY --from=browser-feature-builder /app/test/browser /app/test/browser/
WORKDIR /app/test/browser