mirror of
https://github.com/zooai/vote.git
synced 2026-10-30 20:20:17 +00:00
runs-on named zoo-linux-amd64. No runner advertises that label — RUNNERS.md in
hanzoai/.github registers the pool as {zoo,pars,zen}-build-linux-amd64 — so
every run since this workflow landed has sat queued, which reads as CI that has
not got round to you rather than as CI that never will.
luxfi/vote carried the same mistake with the lux spelling and had published no
image for three days while commits landed daily.
Co-authored-by: Hanzo Dev <[email protected]>
82 lines
2.6 KiB
YAML
82 lines
2.6 KiB
YAML
name: Image
|
|
|
|
# zoo.vote.
|
|
#
|
|
# The interface is luxfi/vote. This checks that source out, builds it with
|
|
# VITE_VOTE_HOME=zoo, and publishes ghcr.io/zooai/vote — Zoo images in Zoo's
|
|
# registry, so an org losing access cannot strand another org's deploy.
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches: [main]
|
|
# The source lives elsewhere, so a commit here is not the only reason to
|
|
# rebuild. Daily picks up a luxfi/vote change without anyone remembering to
|
|
# press the button.
|
|
schedule:
|
|
- cron: '17 6 * * *'
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
|
|
jobs:
|
|
build:
|
|
# zoo-build-linux-amd64, not zoo-linux-amd64: the second is not a label any
|
|
# runner advertises (hanzoai/.github RUNNERS.md registers the pool as
|
|
# {zoo,pars,zen}-build-linux-amd64), so a job asking for it queues forever
|
|
# while looking like CI that has not got round to it.
|
|
runs-on: [zoo-build-linux-amd64]
|
|
steps:
|
|
- name: Check out the interface
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: luxfi/vote
|
|
ref: main
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
with:
|
|
driver: docker-container
|
|
driver-opts: |
|
|
network=host
|
|
|
|
- name: Login to GHCR
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ github.repository_owner }}
|
|
password: ${{ secrets.GH_TOKEN != '' && secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Image metadata
|
|
id: meta
|
|
uses: docker/metadata-action@v5
|
|
with:
|
|
images: ghcr.io/zooai/vote
|
|
# No floating tag. A cluster pins a version; `latest` on a registry is
|
|
# a moving target that makes "what is deployed" unanswerable.
|
|
flavor: |
|
|
latest=false
|
|
# The sha is luxfi/vote's, because that is what was built. A tag naming
|
|
# this repository's sha would say nothing about the source.
|
|
tags: |
|
|
type=sha,format=short,prefix=zoo-
|
|
|
|
- name: Build & push
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: .
|
|
file: Dockerfile
|
|
platforms: linux/amd64
|
|
push: true
|
|
build-args: |
|
|
VITE_VOTE_HOME=zoo
|
|
tags: ${{ steps.meta.outputs.tags }}
|
|
labels: ${{ steps.meta.outputs.labels }}
|
|
|
|
- name: Say what to pin
|
|
run: |
|
|
echo "Built zoo.vote: ${{ steps.meta.outputs.tags }}"
|
|
echo "Pin it in the zoo-vote deploy manifest under image.tag."
|
|
echo "Nothing deploys until that file names this tag."
|