mirror of
https://github.com/fosrl/newt.git
synced 2026-02-08 05:56:40 +00:00
Merge branch 'main' into dev
This commit is contained in:
32
.github/workflows/test.yml
vendored
32
.github/workflows/test.yml
vendored
@@ -10,22 +10,30 @@ on:
|
|||||||
- dev
|
- dev
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
build:
|
||||||
runs-on: amd64-runner
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
target:
|
||||||
|
- local
|
||||||
|
- docker-build
|
||||||
|
- go-build-release-darwin-amd64
|
||||||
|
- go-build-release-darwin-arm64
|
||||||
|
- go-build-release-freebsd-amd64
|
||||||
|
- go-build-release-freebsd-arm64
|
||||||
|
- go-build-release-linux-amd64
|
||||||
|
- go-build-release-linux-arm32-v6
|
||||||
|
- go-build-release-linux-arm32-v7
|
||||||
|
- go-build-release-linux-riscv64
|
||||||
|
- go-build-release-windows-amd64
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
|
|
||||||
- name: Set up Go
|
- name: Set up Go
|
||||||
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
|
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
|
||||||
with:
|
with:
|
||||||
go-version: 1.25
|
go-version: 1.25
|
||||||
|
|
||||||
- name: Build go
|
- name: Build targets via `make`
|
||||||
run: go build
|
run: make ${{ matrix.target }}
|
||||||
|
|
||||||
- name: Build Docker image
|
|
||||||
run: make docker-build-release
|
|
||||||
|
|
||||||
- name: Build binaries
|
|
||||||
run: make go-build-release
|
|
||||||
|
|||||||
43
Makefile
43
Makefile
@@ -1,25 +1,58 @@
|
|||||||
|
.PHONY: all local docker-build docker-build-release
|
||||||
|
|
||||||
all: local
|
all: local
|
||||||
|
|
||||||
|
local:
|
||||||
|
CGO_ENABLED=0 go build -o ./bin/newt
|
||||||
|
|
||||||
|
docker-build:
|
||||||
|
docker build -t fosrl/newt:latest .
|
||||||
|
|
||||||
docker-build-release:
|
docker-build-release:
|
||||||
@if [ -z "$(tag)" ]; then \
|
@if [ -z "$(tag)" ]; then \
|
||||||
echo "Error: tag is required. Usage: make docker-build-release tag=<tag>"; \
|
echo "Error: tag is required. Usage: make docker-build-release tag=<tag>"; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
docker buildx build --platform linux/arm/v7,linux/arm64,linux/amd64 -t fosrl/newt:latest -f Dockerfile --push .
|
docker buildx build . \
|
||||||
docker buildx build --platform linux/arm/v7,linux/arm64,linux/amd64 -t fosrl/newt:$(tag) -f Dockerfile --push .
|
--platform linux/arm/v7,linux/arm64,linux/amd64 \
|
||||||
|
-t fosrl/newt:latest \
|
||||||
|
-t fosrl/newt:$(tag) \
|
||||||
|
-f Dockerfile \
|
||||||
|
--push
|
||||||
|
|
||||||
local:
|
.PHONY: go-build-release \
|
||||||
CGO_ENABLED=0 go build -o ./bin/newt
|
go-build-release-linux-arm64 go-build-release-linux-arm32-v7 \
|
||||||
|
go-build-release-linux-arm32-v6 go-build-release-linux-amd64 \
|
||||||
|
go-build-release-linux-riscv64 go-build-release-darwin-arm64 \
|
||||||
|
go-build-release-darwin-amd64 go-build-release-windows-amd64 \
|
||||||
|
go-build-release-freebsd-amd64 go-build-release-freebsd-arm64
|
||||||
|
|
||||||
go-build-release:
|
go-build-release-linux-arm64:
|
||||||
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o bin/newt_linux_arm64
|
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o bin/newt_linux_arm64
|
||||||
|
|
||||||
|
go-build-release-linux-arm32-v7:
|
||||||
CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 go build -o bin/newt_linux_arm32
|
CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 go build -o bin/newt_linux_arm32
|
||||||
|
|
||||||
|
go-build-release-linux-arm32-v6:
|
||||||
CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=6 go build -o bin/newt_linux_arm32v6
|
CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=6 go build -o bin/newt_linux_arm32v6
|
||||||
|
|
||||||
|
go-build-release-linux-amd64:
|
||||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/newt_linux_amd64
|
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/newt_linux_amd64
|
||||||
|
|
||||||
|
go-build-release-linux-riscv64:
|
||||||
CGO_ENABLED=0 GOOS=linux GOARCH=riscv64 go build -o bin/newt_linux_riscv64
|
CGO_ENABLED=0 GOOS=linux GOARCH=riscv64 go build -o bin/newt_linux_riscv64
|
||||||
|
|
||||||
|
go-build-release-darwin-arm64:
|
||||||
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o bin/newt_darwin_arm64
|
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o bin/newt_darwin_arm64
|
||||||
|
|
||||||
|
go-build-release-darwin-amd64:
|
||||||
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o bin/newt_darwin_amd64
|
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o bin/newt_darwin_amd64
|
||||||
|
|
||||||
|
go-build-release-windows-amd64:
|
||||||
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o bin/newt_windows_amd64.exe
|
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o bin/newt_windows_amd64.exe
|
||||||
|
|
||||||
|
go-build-release-freebsd-amd64:
|
||||||
CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build -o bin/newt_freebsd_amd64
|
CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build -o bin/newt_freebsd_amd64
|
||||||
|
|
||||||
|
go-build-release-freebsd-arm64:
|
||||||
CGO_ENABLED=0 GOOS=freebsd GOARCH=arm64 go build -o bin/newt_freebsd_arm64
|
CGO_ENABLED=0 GOOS=freebsd GOARCH=arm64 go build -o bin/newt_freebsd_arm64
|
||||||
Reference in New Issue
Block a user