Skip to content

Commit

Permalink
make sure we dont depend on tests for building binaries.
Browse files Browse the repository at this point in the history
empty commit.

fix checkout.

fix checkout.

fix zig.

fix zig.

fix zig.

fix zig.

fix zig.

fix zig.

fix zig.

fix zig.

fix zig.

fix zig.
  • Loading branch information
AnalogJ committed Jul 7, 2022
1 parent d0b545d commit 797a6b0
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 16 deletions.
35 changes: 22 additions & 13 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- 8086:8086
env:
PROJECT_PATH: /go/src/github.com/analogj/scrutiny
CGO_ENABLED: 1
STATIC: true
steps:
- name: Git
run: |
Expand All @@ -34,7 +34,7 @@ jobs:
uses: actions/checkout@v2
- name: Test
run: |
make clean binary-test-coverage
make binary-clean binary-test-coverage
- name: Generate coverage report
uses: codecov/codecov-action@v2
with:
Expand All @@ -44,31 +44,40 @@ jobs:
verbose: true
build:
name: Build ${{ matrix.cfg.goos }}/${{ matrix.cfg.goarch }}
needs: release
runs-on: ${{ matrix.cfg.on }}
env:
GOOS: ${{ matrix.cfg.goos }}
GOARCH: ${{ matrix.cfg.goarch }}
GOARM: ${{ matrix.cfg.goarm }}
ZIG_CROSS_COMPILE_TARGET: ${{ matrix.cfg.zig_cc_target }}
STATIC: true
strategy:
matrix:
cfg:
- { on: ubuntu-latest, goos: linux, goarch: amd64 }
- { on: ubuntu-latest, goos: linux, goarch: arm, goarm: 5 }
- { on: ubuntu-latest, goos: linux, goarch: arm, goarm: 6 }
- { on: ubuntu-latest, goos: linux, goarch: arm, goarm: 7 }
- { on: ubuntu-latest, goos: linux, goarch: arm64 }
- { on: ubuntu-latest, goos: linux, goarch: arm, goarm: 5, zig_cc_target: armv5-linux }
- { on: ubuntu-latest, goos: linux, goarch: arm, goarm: 6, zig_cc_target: armv6-linux }
- { on: ubuntu-latest, goos: linux, goarch: arm, goarm: 7, zig_cc_target: armv7-linux }
- { on: ubuntu-latest, goos: linux, goarch: arm64, zig_cc_target: aarch64v8-linux }
- { on: macos-latest, goos: darwin, goarch: amd64 }
- { on: macos-latest, goos: darwin, goarch: arm64 }
- { on: macos-latest, goos: freebsd, goarch: amd64 }
- { on: macos-latest, goos: freebsd, goarch: arm64 }
- { on: windows-latest, goos: windows, goarch: amd64 }
- { on: windows-latest, goos: windows, goarch: arm64 }
- { on: macos-latest, goos: darwin, goarch: arm64, zig_cc_target: aarch64v8-macos }
- { on: macos-latest, goos: freebsd, goarch: amd64, zig_cc_target: x86_64-freebsd }
- { on: macos-latest, goos: freebsd, goarch: arm64, zig_cc_target: aarch64v8-freebsd }
- { on: windows-latest, goos: windows, goarch: amd64, zig_cc_target: x86_64-windows-gnu }
- { on: windows-latest, goos: windows, goarch: arm64, zig_cc_target: aarch64v8-windows-gnu }
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: goto-bus-stop/setup-zig@v1
with:
version: v0.9
- name: Build Binaries
run: |
make clean binary-all
zig version
which zig
echo $PATH
make binary-clean binary-all
- name: Archive
uses: actions/upload-artifact@v2
with:
Expand Down
24 changes: 21 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,24 @@ GO_WORKSPACE ?= /go/src/github.com/analogj/scrutiny
COLLECTOR_BINARY_NAME = scrutiny-collector-metrics
WEB_BINARY_NAME = scrutiny-web
LD_FLAGS =

WEB_STATIC_TAGS =
COLLECTOR_STATIC_TAGS =


# enable to build static binaries.
ifdef STATIC
LD_FLAGS := $(LD_FLAGS) -extldflags=-static
WEB_STATIC_TAGS := $(WEB_STATIC_TAGS) -tags "static netgo sqlite_omit_load_extension"
COLLECTOR_STATIC_TAGS := $(COLLECTOR_STATIC_TAGS) -tags "static netgo"
endif
#enable to do cross compilation (build windows/mac binaries on linux)
ifdef ZIG_CROSS_COMPILE_TARGET
ZIG_BINARY != which zig
export CC = $(ZIG_BINARY) cc -target $(ZIG_CROSS_COMPILE_TARGET)
export CXX = $(ZIG_BINARY) cc -target $(ZIG_CROSS_COMPILE_TARGET)
endif

ifdef GOOS
COLLECTOR_BINARY_NAME := $(COLLECTOR_BINARY_NAME)-$(GOOS)
WEB_BINARY_NAME := $(WEB_BINARY_NAME)-$(GOOS)
Expand All @@ -38,14 +53,17 @@ endif
all: binary-all

.PHONY: binary-all
binary-all: binary-web binary-collector binary-frontend
binary-all: binary-collector binary-web
@echo "building all"

.PHONY: binary-clean
binary-clean:
go clean

.PHONY: binary-dep
binary-dep:
env
go env
go mod vendor

.PHONY: binary-test
Expand All @@ -58,7 +76,7 @@ binary-test-coverage: binary-dep

.PHONY: binary-collector
binary-collector: binary-dep
go build -ldflags "$(LD_FLAGS)" -o $(COLLECTOR_BINARY_NAME) -tags "static netgo" ./collector/cmd/collector-metrics/
go build -ldflags "$(LD_FLAGS)" -o $(COLLECTOR_BINARY_NAME) $(COLLECTOR_STATIC_TAGS) ./collector/cmd/collector-metrics/
ifneq ($(OS),Windows_NT)
chmod +x $(COLLECTOR_BINARY_NAME)
file $(COLLECTOR_BINARY_NAME) || true
Expand All @@ -68,7 +86,7 @@ endif

.PHONY: binary-web
binary-web: binary-dep
go build -ldflags "$(LD_FLAGS)" -o $(WEB_BINARY_NAME) -tags "static netgo sqlite_omit_load_extension" ./webapp/backend/cmd/scrutiny/
go build -ldflags "$(LD_FLAGS)" -o $(WEB_BINARY_NAME) $(WEB_STATIC_TAGS) ./webapp/backend/cmd/scrutiny/
ifneq ($(OS),Windows_NT)
chmod +x $(WEB_BINARY_NAME)
file $(WEB_BINARY_NAME) || true
Expand Down

0 comments on commit 797a6b0

Please sign in to comment.