mirror of
https://github.com/luxfi/broker.git
synced 2026-09-24 00:25:18 +00:00
ci: native six-platform release matrix + multi-arch container
goreleaser builds the six-platform binary matrix (linux/darwin/windows ×
amd64/arm64) with SBOMs and checksums on `v*` tag push. docker.yml is
pinned to the lux-build-linux-{amd64,arm64} ARC runners (native, no
QEMU) and delegates to the canonical hanzoai/.github reusable workflow.
release.yml triggers on `v*` tags and runs on the lux-build self-hosted
scale-set.
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
name: Docker
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches: [main, dev, test]
|
||||||
|
tags: ['v*']
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
docker:
|
||||||
|
uses: hanzoai/.github/.github/workflows/docker-build.yml@main
|
||||||
|
with:
|
||||||
|
image: ghcr.io/luxfi/broker
|
||||||
|
# Native multi-arch on lux-org ARC scale-sets — no QEMU.
|
||||||
|
runner-amd64: lux-build-linux-amd64
|
||||||
|
runner-arm64: lux-build-linux-arm64
|
||||||
|
runner-deploy: lux-deploy-linux-amd64
|
||||||
|
secrets: inherit
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
name: Release
|
||||||
|
|
||||||
|
# Native binary release for brokerd on `v*` tags.
|
||||||
|
#
|
||||||
|
# Six-platform matrix (linux/darwin/windows × amd64/arm64) via goreleaser.
|
||||||
|
# Container image is built independently by .github/workflows/docker.yml
|
||||||
|
# (native multi-arch ARC runners — NO QEMU).
|
||||||
|
#
|
||||||
|
# Runner labels: lux-build self-hosted ARC scale-sets per the org policy.
|
||||||
|
# GitHub-hosted runners are NOT a permitted fallback.
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags: ['v*']
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
packages: write
|
||||||
|
id-token: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
goreleaser:
|
||||||
|
runs-on: lux-build
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version-file: go.mod
|
||||||
|
|
||||||
|
- name: Install syft for SBOM
|
||||||
|
run: |
|
||||||
|
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh \
|
||||||
|
| sh -s -- -b /usr/local/bin
|
||||||
|
|
||||||
|
- uses: goreleaser/goreleaser-action@v6
|
||||||
|
with:
|
||||||
|
distribution: goreleaser
|
||||||
|
version: "~> v2"
|
||||||
|
args: release --clean
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
# goreleaser config for brokerd.
|
||||||
|
#
|
||||||
|
# Triggered by the release workflow on `v*` tag push. Builds native
|
||||||
|
# binaries for all six policy platforms, produces tarballs + zips +
|
||||||
|
# checksums + SBOM, and attaches them to the GitHub Release.
|
||||||
|
#
|
||||||
|
# Container images are built separately by `.github/workflows/docker.yml`
|
||||||
|
# (native multi-arch via hanzoai/.github reusable workflow).
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
|
||||||
|
project_name: brokerd
|
||||||
|
|
||||||
|
before:
|
||||||
|
hooks:
|
||||||
|
- go mod tidy
|
||||||
|
|
||||||
|
builds:
|
||||||
|
- id: brokerd
|
||||||
|
main: ./cmd/brokerd
|
||||||
|
binary: brokerd
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=0
|
||||||
|
flags:
|
||||||
|
- -trimpath
|
||||||
|
ldflags:
|
||||||
|
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}
|
||||||
|
goos:
|
||||||
|
- linux
|
||||||
|
- darwin
|
||||||
|
- windows
|
||||||
|
goarch:
|
||||||
|
- amd64
|
||||||
|
- arm64
|
||||||
|
|
||||||
|
archives:
|
||||||
|
- id: brokerd
|
||||||
|
builds: [brokerd]
|
||||||
|
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
|
||||||
|
format_overrides:
|
||||||
|
- goos: windows
|
||||||
|
format: zip
|
||||||
|
files:
|
||||||
|
- LICENSE*
|
||||||
|
- README*
|
||||||
|
|
||||||
|
checksum:
|
||||||
|
name_template: checksums.txt
|
||||||
|
|
||||||
|
sboms:
|
||||||
|
- artifacts: archive
|
||||||
|
|
||||||
|
snapshot:
|
||||||
|
version_template: "{{ incpatch .Version }}-next"
|
||||||
|
|
||||||
|
changelog:
|
||||||
|
use: github
|
||||||
|
sort: asc
|
||||||
|
|
||||||
|
release:
|
||||||
|
draft: false
|
||||||
|
prerelease: auto
|
||||||
|
mode: append
|
||||||
Reference in New Issue
Block a user