Files
tbd/.gitea/workflows/ci.yml
ajet 47f6cbf2d1
CI / Test + coverage (push) Successful in 1m33s
add ui tests to ci
2026-09-19 19:17:22 -09:00

50 lines
1.5 KiB
YAML

name: CI
on:
push:
branches: [main]
pull_request:
# Everything runs in Docker (script/docker-*, script/integration-*), so the runner needs
# no JDK, Clojure or Babashka; only a Docker daemon. That means /var/run/docker.sock
# mounted into job containers, or a host-mode runner. Scripts move files with `docker cp`
# rather than bind mounts so they work from inside a job container.
jobs:
test:
name: Test + coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Fail fast with a clear message if the runner has no usable Docker.
- name: Check Docker
run: |
docker version
docker compose version
docker buildx version
# Each suite runs once, under a coverage tool. The Clojure reports (Cloverage) are merged
# below; the UI's (c8) stands on its own. Together this is the dockerized equivalent of
# script/coverage.
- name: UI tests (coverage)
run: script/docker-ui-coverage
- name: Unit tests (coverage)
run: script/docker-unit-coverage
- name: Integration tests (coverage)
run: script/integration-coverage
- name: Merge coverage report
run: script/docker-coverage-report
# Gitea Actions only supports upload-artifact v3 (v4+ needs GitHub's artifact backend).
- name: Upload coverage report
uses: actions/upload-artifact@v3
if: always()
with:
name: coverage
path: target/coverage/
if-no-files-found: ignore