Files
scrutiny/.github/workflows/ci.yaml
T
Jason Kulatunga 797a6b0429 make sure we dont depend on tests for building binaries.
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.
2022-07-06 21:39:22 -07:00

87 lines
3.2 KiB
YAML

name: CI
# This workflow is triggered on pushes & pull requests
on: [pull_request]
jobs:
test:
name: Test
runs-on: ubuntu-latest
container: ghcr.io/packagrio/packagr:latest-golang
# Service containers to run with `build` (Required for end-to-end testing)
services:
influxdb:
image: influxdb:2.2
env:
DOCKER_INFLUXDB_INIT_MODE: setup
DOCKER_INFLUXDB_INIT_USERNAME: admin
DOCKER_INFLUXDB_INIT_PASSWORD: password12345
DOCKER_INFLUXDB_INIT_ORG: scrutiny
DOCKER_INFLUXDB_INIT_BUCKET: metrics
DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: my-super-secret-auth-token
ports:
- 8086:8086
env:
PROJECT_PATH: /go/src/github.com/analogj/scrutiny
STATIC: true
steps:
- name: Git
run: |
apt-get update && apt-get install -y software-properties-common
add-apt-repository ppa:git-core/ppa && apt-get update && apt-get install -y git
git --version
- name: Checkout
uses: actions/checkout@v2
- name: Test
run: |
make binary-clean binary-test-coverage
- name: Generate coverage report
uses: codecov/codecov-action@v2
with:
files: ${{ github.workspace }}/coverage.txt
flags: unittests
fail_ci_if_error: true
verbose: true
build:
name: Build ${{ matrix.cfg.goos }}/${{ matrix.cfg.goarch }}
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, 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, 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: |
zig version
which zig
echo $PATH
make binary-clean binary-all
- name: Archive
uses: actions/upload-artifact@v2
with:
name: binaries.zip
path: |
scrutiny-web-*
scrutiny-collector-metrics-*