Files
LUNA-Charts/.gitea/workflows/quality-gate.yml
T
Ninosaurier 35a8ac1992
CI / lint-and-format (push) Successful in 38s
CI / changeset-check (push) Successful in 27s
CI / unit-tests (push) Successful in 36s
CI / build-test-image (push) Failing after 1m7s
CI / component-tests (push) Skipped
fix(ci-runner): wait for docker daemon before building test image
docker build was failing intermittently with 'cannot connect to the
docker daemon' because the job started before the docker-dind sidecar
finished starting up. Poll docker info until the daemon responds
before attempting login/build/push.
2026-08-03 19:54:22 +02:00

110 lines
3.0 KiB
YAML

name: CI
on:
push:
branches:
- '**'
pull_request:
branches: [dev, main]
jobs:
lint-and-format:
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:
- uses: actions/checkout@v4
- run: corepack enable
- run: corepack prepare pnpm@11.11.0 --activate
- run: pnpm install --frozen-lockfile
- name: Lint
run: pnpm lint
- name: Check formatting
run: pnpm format:check
changeset-check:
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:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- run: corepack enable
- run: corepack prepare pnpm@11.11.0 --activate
- run: pnpm install --frozen-lockfile
- name: Verify changeset exists
continue-on-error: true
run: pnpm changeset status --since=origin/dev
unit-tests:
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:
- uses: actions/checkout@v4
- run: corepack enable
- run: corepack prepare pnpm@11.11.0 --activate
- run: pnpm install --frozen-lockfile
- name: Run unit tests
run: pnpm test:unit
build-test-image:
runs-on: ubuntu-docker-dind
container:
image: git.byting-pandas.ninja/ci/node22-docker:latest
credentials:
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_TOKEN }}
options: --network host
env:
DOCKER_HOST: tcp://localhost:2375
steps:
- uses: actions/checkout@v4
- name: Wait for docker daemon
run: |
for i in $(seq 1 30); do
docker info > /dev/null 2>&1 && break
echo "waiting for docker daemon... ($i/30)"
sleep 2
done
docker info
- name: Build and push test image
run: |
docker login git.byting-pandas.ninja -u ${{ secrets.REGISTRY_USER }} -p ${{ secrets.REGISTRY_TOKEN }}
docker build -t git.byting-pandas.ninja/ci/luna-charts-test:${{ gitea.sha }} -f Dockerfile.test .
docker push git.byting-pandas.ninja/ci/luna-charts-test:${{ gitea.sha }}
component-tests:
needs: build-test-image
runs-on: ubuntu-docker-dind
container:
image: git.byting-pandas.ninja/ci/luna-charts-test:${{ gitea.sha }}
credentials:
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_TOKEN }}
steps:
- name: Run component tests (Playwright)
working-directory: packages/luna-charts
run: pnpm test:browser