fix: switch ci to gitea multi-arch workflow
Some checks failed
ci / build-test-push (push) Failing after 58s

This commit is contained in:
Steve W
2026-04-12 00:41:10 +00:00
parent 33d65c35e9
commit 3462aff904
2 changed files with 44 additions and 36 deletions

44
.gitea/workflows/ci.yml Normal file
View File

@@ -0,0 +1,44 @@
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} \
.

View File

@@ -1,36 +0,0 @@
name: ci
on:
push:
branches: [main]
jobs:
build-test-push:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Add uv to PATH
run: echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Sync dependencies
run: uv sync --frozen
- name: Run tests
run: uv run pytest
- name: Log in to registry
env:
DOCKER_REGISTRY: ${{ secrets.DOCKER_REGISTRY }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
run: echo "$DOCKER_PASSWORD" | docker login "$DOCKER_REGISTRY" -u "$DOCKER_USERNAME" --password-stdin
- name: Build and push image
env:
IMAGE: git.danhenry.dev/thelab/work-queue-api
run: |
SHORT_SHA=$(git rev-parse --short HEAD)
docker build -t ${IMAGE}:latest -t ${IMAGE}:${SHORT_SHA} .
docker push ${IMAGE}:latest
docker push ${IMAGE}:${SHORT_SHA}