mirror of
https://github.com/luxfi/chains.git
synced 2026-07-27 03:39:41 +00:00
- 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.
47 lines
1.2 KiB
YAML
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
|