87 lines
2.2 KiB
YAML
87 lines
2.2 KiB
YAML
name: Verify
|
||
|
||
on:
|
||
pull_request:
|
||
push:
|
||
branches: [main]
|
||
|
||
jobs:
|
||
test:
|
||
runs-on: [self-hosted, pod]
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||
with:
|
||
persist-credentials: false
|
||
|
||
- name: Set up Go
|
||
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417
|
||
with:
|
||
go-version-file: go.mod
|
||
cache: true
|
||
|
||
- name: Verify generated files and tests
|
||
run: |
|
||
make test
|
||
git diff --exit-code
|
||
|
||
lint:
|
||
runs-on: [self-hosted, pod]
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||
with:
|
||
persist-credentials: false
|
||
|
||
- name: Set up Go
|
||
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417
|
||
with:
|
||
go-version-file: go.mod
|
||
cache: true
|
||
|
||
- name: Lint
|
||
run: |
|
||
make lint
|
||
make lint-database-integration
|
||
|
||
database-integration:
|
||
runs-on: [self-hosted, pod]
|
||
timeout-minutes: 30
|
||
env:
|
||
DOCKER_HOST: unix:///var/run/docker.sock
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||
with:
|
||
persist-credentials: false
|
||
|
||
- name: Set up Go
|
||
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417
|
||
with:
|
||
go-version-file: go.mod
|
||
cache: true
|
||
|
||
# 复用 dynamic runner 的 pod-smoke:daemon 与数据只属于本次 Pod job。
|
||
- name: Start job-local Docker
|
||
shell: bash
|
||
run: |
|
||
set -euo pipefail
|
||
command -v docker
|
||
command -v dockerd
|
||
sudo -n nohup dockerd \
|
||
--host=unix:///var/run/docker.sock \
|
||
--storage-driver=overlay2 \
|
||
>/tmp/ayatori-dockerd.log 2>&1 &
|
||
for _ in {1..60}; do
|
||
if docker info >/dev/null 2>&1; then
|
||
docker version
|
||
exit 0
|
||
fi
|
||
sleep 1
|
||
done
|
||
cat /tmp/ayatori-dockerd.log
|
||
exit 1
|
||
|
||
- name: Test Database integration with real backends
|
||
run: make test-database-integration
|