Files
work-queue-api/.gitea/workflows/ci.yml
Steve W 3462aff904
Some checks failed
ci / build-test-push (push) Failing after 58s
fix: switch ci to gitea multi-arch workflow
2026-04-12 00:41:10 +00:00

45 lines
1.5 KiB
YAML

name: ci
on:
push:
branches:
- main
jobs:
build-test-push:
runs-on: ubuntu-latest
env:
IMAGE: git.danhenry.dev/thelab/work-queue-api
DOCKER_REGISTRY: ${{ secrets.DOCKER_REGISTRY }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
steps:
- name: Install system dependencies
run: |
apt-get update
apt-get install -y --no-install-recommends curl ca-certificates git docker.io qemu-user-static
- name: Install uv and run tests
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
uv sync --frozen --dev
uv run pytest
- name: Configure binfmt for cross-builds
run: docker run --privileged --rm tonistiigi/binfmt --install amd64,arm64
- name: Create buildx builder
run: |
docker buildx rm multiarch-builder || true
docker buildx create --name multiarch-builder --use
docker buildx inspect --bootstrap
- name: Log in to registry
run: echo "$DOCKER_PASSWORD" | docker login "$DOCKER_REGISTRY" -u "$DOCKER_USERNAME" --password-stdin
- name: Build and push multi-arch image
run: |
SHORT_SHA=$(git rev-parse --short HEAD)
docker buildx build \
--platform linux/amd64,linux/arm64 \
--push \
-t ${IMAGE}:latest \
-t ${IMAGE}:${SHORT_SHA} \
.