-
Notifications
You must be signed in to change notification settings - Fork 257
Expand file tree
/
Copy pathDockerfile.browser
More file actions
62 lines (50 loc) · 2.23 KB
/
Dockerfile.browser
File metadata and controls
62 lines (50 loc) · 2.23 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
# CI test image for unit/lint/type tests
FROM node:18-alpine 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 eslint.config.mjs jest.config.js tsconfig.json ./
COPY jest ./jest
ADD min_packages.tar .
COPY .rollup ./.rollup
COPY bin ./bin
COPY packages ./packages
RUN npm install
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
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
# install the dependencies and 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 install --no-package-lock && 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-v9-cli AS browser-maze-runner
COPY --from=browser-feature-builder /app/test/browser /app/test/browser/
WORKDIR /app/test/browser