Files
agentchat/.gitea/workflows/build.yml
T
Gabriel Brown e3a5d86869
Build and Push agentchat Image / quality (push) Successful in 18s
Build and Push agentchat Image / build-image (push) Failing after 18s
Use fully-qualified image tags so builds work on podman-backed runners
2026-08-13 10:31:25 -04:00

45 lines
1.6 KiB
YAML

name: Build and Push agentchat Image
on:
push:
branches: [main]
jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.14
- run: bun install --frozen-lockfile
- name: Typecheck and test
run: |
bun run typecheck
bun test
build-image:
needs: [quality]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Log in to container registry
run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login git.gbrown.org -u "${{ secrets.REGISTRY_USER }}" --password-stdin
# Fully-qualified tags from the start: unqualified names like
# `agentchat:latest` break on podman-backed runners, which resolve them
# to docker.io/library/* instead of the local build.
- name: Build image
run: docker build -f docker/Dockerfile -t git.gbrown.org/gib/agentchat:${{ gitea.sha }} -t git.gbrown.org/gib/agentchat:latest .
- name: Push image
run: |
docker push git.gbrown.org/gib/agentchat:${{ gitea.sha }}
docker push git.gbrown.org/gib/agentchat:latest
# Watchtower on the VPS updates labelled containers nightly at 04:30; this
# asks it to do so immediately. Non-fatal: the sweep still catches it.
- name: Trigger immediate deploy via Watchtower API
run: |
curl -fsS -X POST -H "Authorization: Bearer ${{ secrets.WATCHTOWER_TOKEN }}" \
http://192.168.2.2:8080/v1/update \
|| echo "::warning::watchtower trigger failed; nightly sweep will deploy instead"