You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
3.8 KiB
84 lines
3.8 KiB
# compiles FreeBSD artifacts and attaches them to build
|
|
name: Release FreeBSD
|
|
|
|
on:
|
|
release:
|
|
# Only use the types keyword to narrow down the activity types that will trigger your workflow.
|
|
types: [published]
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag_name:
|
|
description: 'tag to build artifacts for'
|
|
required: true
|
|
default: 'v0.0.0'
|
|
jobs:
|
|
|
|
release-freebsd:
|
|
name: Release FreeBSD
|
|
runs-on: macos-10.15
|
|
env:
|
|
PROJECT_PATH: /go/src/github.com/analogj/scrutiny
|
|
GOPATH: /go
|
|
GOOS: freebsd
|
|
GOARCH: amd64
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
ref: ${{github.event.release.tag_name || github.event.inputs.tag_name }}
|
|
- name: Build Binaries
|
|
uses: vmactions/freebsd-vm@v0.1.5
|
|
with:
|
|
envs: 'PROJECT_PATH GOPATH GOOS GOARCH'
|
|
usesh: true
|
|
#TODO: lock go version using https://www.jeremymorgan.com/tutorials/golang/how-to-install-go-freebsd/
|
|
prepare: pkg install -y curl go gmake
|
|
run: |
|
|
pwd
|
|
ls -lah
|
|
whoami
|
|
freebsd-version
|
|
|
|
mkdir -p $(dirname "$PROJECT_PATH")
|
|
cp -R $GITHUB_WORKSPACE $PROJECT_PATH
|
|
cd $PROJECT_PATH
|
|
|
|
mkdir -p $GITHUB_WORKSPACE/dist
|
|
|
|
echo "building web binary (OS = ${GOOS}, ARCH = ${GOARCH})"
|
|
go build -ldflags "-extldflags=-static -X main.goos=${GOOS} -X main.goarch=${GOARCH}" -o $GITHUB_WORKSPACE/dist/scrutiny-web-${GOOS}-${GOARCH} -tags "static netgo sqlite_omit_load_extension" webapp/backend/cmd/scrutiny/scrutiny.go
|
|
|
|
chmod +x "$GITHUB_WORKSPACE/dist/scrutiny-web-${GOOS}-${GOARCH}"
|
|
file "$GITHUB_WORKSPACE/dist/scrutiny-web-${GOOS}-${GOARCH}" || true
|
|
ldd "$GITHUB_WORKSPACE/dist/scrutiny-web-${GOOS}-${GOARCH}" || true
|
|
|
|
echo "building collector binary (OS = ${GOOS}, ARCH = ${GOARCH})"
|
|
go build -ldflags "-extldflags=-static -X main.goos=${GOOS} -X main.goarch=${GOARCH}" -o $GITHUB_WORKSPACE/dist/scrutiny-collector-metrics-${GOOS}-${GOARCH} -tags "static netgo" collector/cmd/collector-metrics/collector-metrics.go
|
|
|
|
chmod +x "$GITHUB_WORKSPACE/dist/scrutiny-collector-metrics-${GOOS}-${GOARCH}"
|
|
file "$GITHUB_WORKSPACE/dist/scrutiny-collector-metrics-${GOOS}-${GOARCH}" || true
|
|
ldd "$GITHUB_WORKSPACE/dist/scrutiny-collector-metrics-${GOOS}-${GOARCH}" || true
|
|
|
|
- name: Release Asset - Collector - freebsd-amd64
|
|
id: upload-release-asset2
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.SCRUTINY_GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ github.event.release.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
|
|
asset_path: './dist/scrutiny-collector-metrics-freebsd-amd64'
|
|
asset_name: scrutiny-collector-metrics-freebsd-amd64
|
|
asset_content_type: application/octet-stream
|
|
|
|
- name: Release Asset - Web - freebsd-amd64
|
|
id: upload-release-asset1
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.SCRUTINY_GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ github.event.release.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
|
|
asset_path: './dist/scrutiny-web-freebsd-amd64'
|
|
asset_name: scrutiny-web-freebsd-amd64
|
|
asset_content_type: application/octet-stream
|
|
|