ci: run browser tests in docker
github actions doesn't work too well with `apt install` i guess lol
This commit is contained in:
parent
1720433882
commit
a994fd1112
2 changed files with 21 additions and 4 deletions
18
.github/Dockerfile.test-web
vendored
Normal file
18
.github/Dockerfile.test-web
vendored
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
FROM node:20
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
ARG BROWSER
|
||||||
|
|
||||||
|
RUN corepack enable && \
|
||||||
|
corepack prepare pnpm@8.7.1 --activate
|
||||||
|
|
||||||
|
COPY ../ /app/
|
||||||
|
|
||||||
|
RUN pnpm install --frozen-lockfile && \
|
||||||
|
pnpm -C packages/tl run gen-code && \
|
||||||
|
pnpm exec playwright install --with-deps $BROWSER
|
||||||
|
|
||||||
|
ENV BROWSER="$BROWSER"
|
||||||
|
|
||||||
|
ENTRYPOINT [ "pnpm", "run", "test:browser" ]
|
||||||
|
CMD [ "--browser.name=$BROWSER" ]
|
7
.github/workflows/test.yaml
vendored
7
.github/workflows/test.yaml
vendored
|
@ -65,9 +65,8 @@ jobs:
|
||||||
browser: [chromium, firefox]
|
browser: [chromium, firefox]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: ./.github/actions/init
|
- name: 'Build Docker image'
|
||||||
- name: 'Initialize browser'
|
run: docker build . -f .github/Dockerfile.test-web --build-arg BROWSER=${{ matrix.browser }} -t mtcute/test-web
|
||||||
run: pnpm exec playwright install --with-deps ${{ matrix.browser }}
|
|
||||||
- name: 'Run tests'
|
- name: 'Run tests'
|
||||||
# i wish we didn't have to do this, but vitest in browser is very flaky
|
# i wish we didn't have to do this, but vitest in browser is very flaky
|
||||||
# see: https://github.com/vitest-dev/vitest/issues/4173
|
# see: https://github.com/vitest-dev/vitest/issues/4173
|
||||||
|
@ -75,7 +74,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
max_attempts: 3
|
max_attempts: 3
|
||||||
timeout_minutes: 30
|
timeout_minutes: 30
|
||||||
command: pnpm run test:browser --browser.name=${{ matrix.browser }}
|
command: docker run -e CI=1 mtcute/test-web
|
||||||
|
|
||||||
e2e:
|
e2e:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
Loading…
Reference in a new issue