ci(component-tests): add containerized component test workflow
CI / lint-and-format (push) Successful in 35s
CI / changeset-check (push) Successful in 28s
CI / unit-tests (push) Successful in 39s
CI / component-tests (push) Successful in 29s
CI / lint-and-format (pull_request) Successful in 36s
CI / changeset-check (pull_request) Successful in 33s
CI / unit-tests (pull_request) Successful in 37s
CI / component-tests (pull_request) Successful in 29s
CI / lint-and-format (push) Successful in 35s
CI / changeset-check (push) Successful in 28s
CI / unit-tests (push) Successful in 39s
CI / component-tests (push) Successful in 29s
CI / lint-and-format (pull_request) Successful in 36s
CI / changeset-check (pull_request) Successful in 33s
CI / unit-tests (pull_request) Successful in 37s
CI / component-tests (pull_request) Successful in 29s
Introduce dedicated CI container images and improve the component test execution in Gitea Actions. The workflow now uses reproducible runner environments, private registry authentication and executes Playwright component tests inside a prepared container.
This commit is contained in:
@@ -0,0 +1,18 @@
|
|||||||
|
FROM node:22-bullseye
|
||||||
|
|
||||||
|
# Install Docker CLI + Compose V2 plugin from Docker's official apt repo
|
||||||
|
# (Debian's own docker.io package ships an outdated Docker version and
|
||||||
|
# does not include the compose plugin at all).
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y ca-certificates curl gnupg \
|
||||||
|
&& install -m 0755 -d /etc/apt/keyrings \
|
||||||
|
&& curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \
|
||||||
|
&& chmod a+r /etc/apt/keyrings/docker.asc \
|
||||||
|
&& echo \
|
||||||
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bullseye stable" \
|
||||||
|
| tee /etc/apt/sources.list.d/docker.list > /dev/null \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install -y docker-ce-cli docker-compose-plugin \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN corepack enable
|
||||||
@@ -10,13 +10,14 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
lint-and-format:
|
lint-and-format:
|
||||||
runs-on: ubuntu-docker-dind
|
runs-on: ubuntu-docker-dind
|
||||||
|
container:
|
||||||
|
image: git.byting-pandas.ninja/ci/node22-docker:latest
|
||||||
|
credentials:
|
||||||
|
username: ${{ secrets.REGISTRY_USER }}
|
||||||
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: "22"
|
|
||||||
|
|
||||||
- run: corepack enable
|
- run: corepack enable
|
||||||
- run: corepack prepare pnpm@11.11.0 --activate
|
- run: corepack prepare pnpm@11.11.0 --activate
|
||||||
|
|
||||||
@@ -30,15 +31,16 @@ jobs:
|
|||||||
|
|
||||||
changeset-check:
|
changeset-check:
|
||||||
runs-on: ubuntu-docker-dind
|
runs-on: ubuntu-docker-dind
|
||||||
|
container:
|
||||||
|
image: git.byting-pandas.ninja/ci/node22-docker:latest
|
||||||
|
credentials:
|
||||||
|
username: ${{ secrets.REGISTRY_USER }}
|
||||||
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: "22"
|
|
||||||
|
|
||||||
- run: corepack enable
|
- run: corepack enable
|
||||||
- run: corepack prepare pnpm@11.11.0 --activate
|
- run: corepack prepare pnpm@11.11.0 --activate
|
||||||
|
|
||||||
@@ -50,13 +52,14 @@ jobs:
|
|||||||
|
|
||||||
unit-tests:
|
unit-tests:
|
||||||
runs-on: ubuntu-docker-dind
|
runs-on: ubuntu-docker-dind
|
||||||
|
container:
|
||||||
|
image: git.byting-pandas.ninja/ci/node22-docker:latest
|
||||||
|
credentials:
|
||||||
|
username: ${{ secrets.REGISTRY_USER }}
|
||||||
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: "22"
|
|
||||||
|
|
||||||
- run: corepack enable
|
- run: corepack enable
|
||||||
- run: corepack prepare pnpm@11.11.0 --activate
|
- run: corepack prepare pnpm@11.11.0 --activate
|
||||||
|
|
||||||
@@ -67,18 +70,21 @@ jobs:
|
|||||||
|
|
||||||
component-tests:
|
component-tests:
|
||||||
runs-on: ubuntu-docker-dind
|
runs-on: ubuntu-docker-dind
|
||||||
|
container:
|
||||||
|
image: git.byting-pandas.ninja/ci/luna-charts-test:v1.62.1
|
||||||
|
credentials:
|
||||||
|
username: ${{ secrets.REGISTRY_USER }}
|
||||||
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: "22"
|
|
||||||
|
|
||||||
- run: corepack enable
|
- run: corepack enable
|
||||||
|
|
||||||
- run: corepack prepare pnpm@11.11.0 --activate
|
- run: corepack prepare pnpm@11.11.0 --activate
|
||||||
|
|
||||||
- run: pnpm install --frozen-lockfile
|
- run: pnpm install --frozen-lockfile
|
||||||
# ========================================================
|
|
||||||
|
|
||||||
- name: Run component tests (Docker)
|
- name: Run component tests (Playwright)
|
||||||
run: pnpm test:component
|
working-directory: packages/luna-charts
|
||||||
|
run: pnpm test:browser
|
||||||
Reference in New Issue
Block a user