mirror of
https://github.com/lukaszraczylo/gohoarder.git
synced 2026-07-12 04:50:45 +00:00
fixup! perf: build frontend once on runner instead of in Docker
This commit is contained in:
+47
-7
@@ -7,10 +7,16 @@ project_name: gohoarder
|
|||||||
before:
|
before:
|
||||||
hooks:
|
hooks:
|
||||||
- go mod tidy
|
- go mod tidy
|
||||||
|
# Download and setup Zig for cross-compilation
|
||||||
|
- wget -q https://ziglang.org/download/0.13.0/zig-linux-x86_64-0.13.0.tar.xz -O /tmp/zig.tar.xz
|
||||||
|
- tar -xf /tmp/zig.tar.xz -C /tmp
|
||||||
|
- sudo cp -r /tmp/zig-linux-x86_64-0.13.0 /usr/local/zig
|
||||||
|
- sudo ln -sf /usr/local/zig/zig /usr/local/bin/zig
|
||||||
|
|
||||||
# Build configuration
|
# Build configuration
|
||||||
# Binary builds for direct downloads (darwin/arm64, linux/amd64)
|
# All binaries built using Zig for consistent cross-compilation
|
||||||
# Binaries use split mode to avoid CGO cross-compilation
|
# Zig handles CGO cross-compilation without platform-specific toolchains
|
||||||
|
# Binaries are injected into Docker images (no Docker compilation)
|
||||||
builds:
|
builds:
|
||||||
- id: gohoarder
|
- id: gohoarder
|
||||||
main: ./cmd/gohoarder
|
main: ./cmd/gohoarder
|
||||||
@@ -35,8 +41,25 @@ builds:
|
|||||||
ignore:
|
ignore:
|
||||||
- goos: darwin
|
- goos: darwin
|
||||||
goarch: amd64
|
goarch: amd64
|
||||||
|
overrides:
|
||||||
- goos: linux
|
- goos: linux
|
||||||
goarch: arm64 # Skip linux/arm64 binaries (Docker handles multi-arch)
|
goarch: amd64
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=1
|
||||||
|
- CC=zig cc -target x86_64-linux-musl
|
||||||
|
- CXX=zig c++ -target x86_64-linux-musl
|
||||||
|
- goos: linux
|
||||||
|
goarch: arm64
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=1
|
||||||
|
- CC=zig cc -target aarch64-linux-musl
|
||||||
|
- CXX=zig c++ -target aarch64-linux-musl
|
||||||
|
- goos: darwin
|
||||||
|
goarch: arm64
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=1
|
||||||
|
- CC=zig cc -target aarch64-macos-none
|
||||||
|
- CXX=zig c++ -target aarch64-macos-none
|
||||||
|
|
||||||
- id: migrate
|
- id: migrate
|
||||||
main: ./cmd/migrate
|
main: ./cmd/migrate
|
||||||
@@ -61,8 +84,25 @@ builds:
|
|||||||
ignore:
|
ignore:
|
||||||
- goos: darwin
|
- goos: darwin
|
||||||
goarch: amd64
|
goarch: amd64
|
||||||
|
overrides:
|
||||||
- goos: linux
|
- goos: linux
|
||||||
goarch: arm64 # Skip linux/arm64 binaries (Docker handles multi-arch)
|
goarch: amd64
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=1
|
||||||
|
- CC=zig cc -target x86_64-linux-musl
|
||||||
|
- CXX=zig c++ -target x86_64-linux-musl
|
||||||
|
- goos: linux
|
||||||
|
goarch: arm64
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=1
|
||||||
|
- CC=zig cc -target aarch64-linux-musl
|
||||||
|
- CXX=zig c++ -target aarch64-linux-musl
|
||||||
|
- goos: darwin
|
||||||
|
goarch: arm64
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=1
|
||||||
|
- CC=zig cc -target aarch64-macos-none
|
||||||
|
- CXX=zig c++ -target aarch64-macos-none
|
||||||
|
|
||||||
# Archives for releases
|
# Archives for releases
|
||||||
archives:
|
archives:
|
||||||
@@ -125,6 +165,7 @@ release:
|
|||||||
dockers_v2:
|
dockers_v2:
|
||||||
# 1. Application Engine - Main GoHoarder server
|
# 1. Application Engine - Main GoHoarder server
|
||||||
# Uses pre-built binary from 'gohoarder' build (no Docker compilation)
|
# Uses pre-built binary from 'gohoarder' build (no Docker compilation)
|
||||||
|
# linux/arm64 binary is cross-compiled using Zig (fast, no QEMU!)
|
||||||
- id: gohoarder-server
|
- id: gohoarder-server
|
||||||
ids:
|
ids:
|
||||||
- gohoarder
|
- gohoarder
|
||||||
@@ -137,7 +178,6 @@ dockers_v2:
|
|||||||
- linux/amd64
|
- linux/amd64
|
||||||
- linux/arm64
|
- linux/arm64
|
||||||
dockerfile: Dockerfile.server
|
dockerfile: Dockerfile.server
|
||||||
use_buildx: true
|
|
||||||
flags:
|
flags:
|
||||||
- "--pull"
|
- "--pull"
|
||||||
- "--label=org.opencontainers.image.title=GoHoarder Server"
|
- "--label=org.opencontainers.image.title=GoHoarder Server"
|
||||||
@@ -176,6 +216,7 @@ dockers_v2:
|
|||||||
|
|
||||||
# 3. Scanning Engine - Background scanner worker
|
# 3. Scanning Engine - Background scanner worker
|
||||||
# Uses pre-built binary from 'gohoarder' build (no Docker compilation)
|
# Uses pre-built binary from 'gohoarder' build (no Docker compilation)
|
||||||
|
# linux/arm64 binary is cross-compiled using Zig (fast, no QEMU!)
|
||||||
- id: gohoarder-scanner
|
- id: gohoarder-scanner
|
||||||
ids:
|
ids:
|
||||||
- gohoarder
|
- gohoarder
|
||||||
@@ -188,7 +229,6 @@ dockers_v2:
|
|||||||
- linux/amd64
|
- linux/amd64
|
||||||
- linux/arm64
|
- linux/arm64
|
||||||
dockerfile: Dockerfile.scanner
|
dockerfile: Dockerfile.scanner
|
||||||
use_buildx: true
|
|
||||||
flags:
|
flags:
|
||||||
- "--pull"
|
- "--pull"
|
||||||
- "--label=org.opencontainers.image.title=GoHoarder Scanner"
|
- "--label=org.opencontainers.image.title=GoHoarder Scanner"
|
||||||
@@ -203,6 +243,7 @@ dockers_v2:
|
|||||||
|
|
||||||
# 4. Migration Engine - Database migration tool
|
# 4. Migration Engine - Database migration tool
|
||||||
# Uses pre-built binary from 'migrate' build (no Docker compilation)
|
# Uses pre-built binary from 'migrate' build (no Docker compilation)
|
||||||
|
# linux/arm64 binary is cross-compiled using Zig (fast, no QEMU!)
|
||||||
- id: gohoarder-migrate
|
- id: gohoarder-migrate
|
||||||
ids:
|
ids:
|
||||||
- migrate
|
- migrate
|
||||||
@@ -215,7 +256,6 @@ dockers_v2:
|
|||||||
- linux/amd64
|
- linux/amd64
|
||||||
- linux/arm64
|
- linux/arm64
|
||||||
dockerfile: Dockerfile.migrate
|
dockerfile: Dockerfile.migrate
|
||||||
use_buildx: true
|
|
||||||
flags:
|
flags:
|
||||||
- "--pull"
|
- "--pull"
|
||||||
- "--label=org.opencontainers.image.title=GoHoarder Migrate"
|
- "--label=org.opencontainers.image.title=GoHoarder Migrate"
|
||||||
|
|||||||
Reference in New Issue
Block a user