Skip to content

chore: date the 0.1.0 changelog entry #3

chore: date the 0.1.0 changelog entry

chore: date the 0.1.0 changelog entry #3

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
- uses: gradle/actions/setup-gradle@v5
- name: Build, test, verify ABI
run: ./gradlew build apiCheck
contract:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@v7
with:
repository: spoo-me/spoo
path: backend
- name: Start the backend stack
working-directory: backend
run: |
# The compose file requires a .env; the example plus a generated
# secret is enough since compose pins the db/redis URIs itself.
cp .env.example .env
python3 -c "import os; print('SECRET_KEY=\"' + os.urandom(32).hex() + '\"')" >> .env
docker compose up -d --build
for i in $(seq 1 90); do
if curl -fsS http://127.0.0.1:8000/health >/dev/null 2>&1; then
echo "backend is up"; exit 0
fi
sleep 2
done
echo "backend never became healthy"
docker compose logs --tail 50
exit 1
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
- uses: gradle/actions/setup-gradle@v5
- name: Contract tests against the real backend
env:
SPOO_CONTRACT_BASE_URL: http://127.0.0.1:8000
run: ./gradlew jvmTest --tests "me.spoo.ContractTest" --rerun
spec-drift:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Compare committed openapi.json with the backend's
run: |
curl -fsSL https://raw.githubusercontent.com/spoo-me/spoo/main/openapi.json -o upstream-openapi.json
diff -q openapi.json upstream-openapi.json