Files
tbd/.gitea/workflows/ci.yml
ajet 99d6a2f5c6
CI / Test + coverage (push) Successful in 14s
simplify pipelines
2026-09-19 06:03:35 -09:00

46 lines
1.3 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 Cloverage; the merged report is the dockerized
# equivalent of script/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