Files
chains/.github/workflows/release.yml
T
Hanzo DevandGitHub 300f9406f9 ci: migrate to canonical docker-build reusable with matrix (#1)
- Replace bespoke release.yml with canonical matrix calling hanzoai/.github/.github/workflows/docker-build.yml@main
- Add .github/images.json for per-VM image configuration
- Add Dockerfile.plugin (stateless scratch wrapper for pre-built VM binary)
- Add workflow-sanity.yml

Images built: 12 VM plugins under ghcr.io/luxfi/chains/*
(servicenodevm, teleportvm removed from release — directories missing in repo)

Refs: hanzoai/.github canonical Docker CI contract.
2026-04-23 19:20:48 -07:00

47 lines
1.2 KiB
YAML

name: Build VM Plugins
on:
push:
branches: [main]
tags: ['v*']
pull_request:
branches: [main]
workflow_dispatch:
permissions:
contents: read
packages: write
jobs:
plan:
runs-on: ubuntu-latest
outputs:
images: ${{ steps.load.outputs.images }}
steps:
- uses: actions/checkout@v4
- id: load
run: echo "images=$(jq -c . .github/images.json)" >> "$GITHUB_OUTPUT"
build:
needs: plan
if: github.event_name != 'pull_request'
strategy:
fail-fast: false
matrix:
image: ${{ fromJson(needs.plan.outputs.images) }}
uses: hanzoai/.github/.github/workflows/docker-build.yml@main
with:
image: ${{ matrix.image.image }}
dockerfile: Dockerfile.plugin
build-args: |
VM=${{ matrix.image.vm }}
pre-build-command: |
mkdir -p build
(cd ${{ matrix.image.vm }} && \
GONOSUMCHECK=github.com/luxfi/* \
GONOSUMDB=github.com/luxfi/* \
CGO_ENABLED=${{ matrix.image.cgo }} \
CGO_CFLAGS="${{ matrix.image.cgo == '1' && '-O2 -D__BLST_PORTABLE__' || '' }}" \
go build -trimpath -ldflags="-s -w" -o ../build/${{ matrix.image.vm }} .)
secrets: inherit