63 lines
1.6 KiB
YAML
63 lines
1.6 KiB
YAML
---
|
|
name: Go test
|
|
on: [push]
|
|
|
|
jobs:
|
|
run-go-vet:
|
|
runs-on: imgbuilder
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
- name: Run go vet
|
|
run: go vet
|
|
check-swagger-up-to-date:
|
|
runs-on: imgbuilder
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
- name: Run make swagger
|
|
run: make swagger
|
|
- name: Check diff
|
|
run: |
|
|
if ! git diff --exit-code; then
|
|
echo "ERROR: swagger introduced uncommitted changes!"
|
|
echo "Please commit generated files."
|
|
git status
|
|
git diff
|
|
exit 1
|
|
else
|
|
echo "No uncommitted changes detected. OpenAPI is up-to-date."
|
|
fi
|
|
run-go-test:
|
|
needs:
|
|
- run-go-vet
|
|
- check-swagger-up-to-date
|
|
runs-on: imgbuilder
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
- name: Run docker compose
|
|
run: make docker-quiet
|
|
- name: Run go test
|
|
run: make test
|
|
cleanup-go-test:
|
|
needs: run-go-test
|
|
runs-on: imgbuilder
|
|
if: always()
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
- name: Run make docker-clean
|
|
run: make docker-clean
|
|
release-image:
|
|
needs:
|
|
- run-go-test
|
|
runs-on: imgbuilder
|
|
steps:
|
|
- name: Build and push image
|
|
uses: https://gitea.konchin.com/action/docker@main
|
|
with:
|
|
registry-certificate: ${{ vars.ROOTCA }}
|
|
username: ${{ secrets.REGISTRY_USERNAME }}
|
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|