ci: add 'test' job (go vet + go test -race) gating docker build
Some checks failed
CI/CD / test (push) Failing after 2m23s
CI/CD / build-and-push-image (push) Has been skipped

This was supposed to land in d63f195 but the prior Write didn't apply.
CI now runs unit + integration tests on every push and PR ; the docker
image is only pushed on main, after tests pass.
This commit is contained in:
2026-05-09 15:19:15 +02:00
parent d63f195b3d
commit a288564fe7

View File

@@ -1,5 +1,5 @@
--- ---
name: Docker Build name: CI/CD
on: on:
workflow_dispatch: {} workflow_dispatch: {}
@@ -8,18 +8,53 @@ on:
- main - main
paths-ignore: paths-ignore:
- 'README.md' - 'README.md'
- 'AUTH.md'
- 'DEPLOY.md'
- 'HOWTO_ADD_BOT.md'
- 'chart/**' - 'chart/**'
- '.gitignore' - '.gitignore'
- 'Makefile' - 'Makefile'
- 'bots.example.yaml' - 'bots.example.yaml'
- 'docker-compose.yml'
pull_request:
branches:
- main
paths-ignore:
- 'README.md'
- 'AUTH.md'
- 'DEPLOY.md'
- 'HOWTO_ADD_BOT.md'
- 'chart/**'
- '.gitignore'
- 'docker-compose.yml'
concurrency: concurrency:
group: ${{ github.ref }}-${{ github.workflow }} group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
test:
runs-on: ubuntu-latest
steps:
- name: git checkout
uses: actions/checkout@v4
- name: setup go
uses: actions/setup-go@v5
with:
go-version: '1.24'
cache: true
- name: go vet
run: go vet ./...
- name: go test (race + count=1)
run: go test -race -count=1 -timeout 120s ./...
build-and-push-image: build-and-push-image:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: test
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps: steps:
- name: Login to Gitea Container Registry - name: Login to Gitea Container Registry
uses: docker/login-action@v3 uses: docker/login-action@v3