2021-07-23 09:00:07 +00:00
|
|
|
name: Build Binaries
|
|
|
|
|
|
|
|
on:
|
|
|
|
pull_request:
|
|
|
|
branches:
|
|
|
|
- '*'
|
2024-07-29 13:58:04 +00:00
|
|
|
paths-ignore:
|
|
|
|
- 'docs/**'
|
|
|
|
- '**.md'
|
|
|
|
- 'script/gcg/**'
|
2021-07-23 09:00:07 +00:00
|
|
|
|
|
|
|
env:
|
2024-08-28 13:00:06 +00:00
|
|
|
GO_VERSION: '1.23'
|
2021-07-23 09:00:07 +00:00
|
|
|
CGO_ENABLED: 0
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
|
|
|
build-webui:
|
2024-04-22 15:04:05 +00:00
|
|
|
runs-on: ubuntu-latest
|
2021-07-23 09:00:07 +00:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Check out code
|
2024-01-09 16:00:07 +00:00
|
|
|
uses: actions/checkout@v4
|
2021-07-23 09:00:07 +00:00
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
|
|
|
|
2024-06-07 14:56:04 +00:00
|
|
|
- name: Setup node
|
|
|
|
uses: actions/setup-node@v4
|
|
|
|
with:
|
|
|
|
node-version-file: webui/.nvmrc
|
|
|
|
cache: yarn
|
|
|
|
cache-dependency-path: webui/yarn.lock
|
|
|
|
|
2021-07-23 09:00:07 +00:00
|
|
|
- name: Build webui
|
2024-06-07 14:56:04 +00:00
|
|
|
working-directory: ./webui
|
|
|
|
run: |
|
|
|
|
yarn install
|
|
|
|
yarn build
|
|
|
|
|
|
|
|
- name: Package webui
|
2021-07-23 09:00:07 +00:00
|
|
|
run: |
|
2021-09-15 08:36:14 +00:00
|
|
|
tar czvf webui.tar.gz ./webui/static/
|
2021-07-23 09:00:07 +00:00
|
|
|
|
|
|
|
- name: Artifact webui
|
2024-02-01 13:08:06 +00:00
|
|
|
uses: actions/upload-artifact@v4
|
2021-07-23 09:00:07 +00:00
|
|
|
with:
|
|
|
|
name: webui.tar.gz
|
|
|
|
path: webui.tar.gz
|
|
|
|
|
|
|
|
build:
|
2024-09-03 07:44:04 +00:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
2021-07-23 09:00:07 +00:00
|
|
|
strategy:
|
|
|
|
matrix:
|
2024-09-03 07:44:04 +00:00
|
|
|
os: [ darwin, freebsd, linux, openbsd, windows ]
|
|
|
|
arch: [ amd64, arm64 ]
|
|
|
|
include:
|
|
|
|
- os: freebsd
|
|
|
|
arch: 386
|
|
|
|
- os: linux
|
|
|
|
arch: 386
|
|
|
|
- os: linux
|
|
|
|
arch: arm
|
|
|
|
goarm: 6
|
|
|
|
- os: linux
|
|
|
|
arch: arm
|
|
|
|
goarm: 7
|
|
|
|
- os: linux
|
|
|
|
arch: ppc64le
|
|
|
|
- os: linux
|
|
|
|
arch: riscv64
|
|
|
|
- os: linux
|
|
|
|
arch: s390x
|
|
|
|
- os: openbsd
|
|
|
|
arch: 386
|
|
|
|
- os: windows
|
|
|
|
arch: 386
|
2021-07-23 09:00:07 +00:00
|
|
|
needs:
|
|
|
|
- build-webui
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Check out code
|
2024-01-09 16:00:07 +00:00
|
|
|
uses: actions/checkout@v4
|
2021-07-23 09:00:07 +00:00
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
|
|
|
|
2024-01-09 16:00:07 +00:00
|
|
|
- name: Set up Go ${{ env.GO_VERSION }}
|
|
|
|
uses: actions/setup-go@v5
|
2024-09-03 07:44:04 +00:00
|
|
|
env:
|
|
|
|
ImageOS: ${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.goarm }}
|
2021-07-23 09:00:07 +00:00
|
|
|
with:
|
2024-01-09 16:00:07 +00:00
|
|
|
go-version: ${{ env.GO_VERSION }}
|
2021-07-23 09:00:07 +00:00
|
|
|
|
|
|
|
- name: Artifact webui
|
2024-02-01 13:08:06 +00:00
|
|
|
uses: actions/download-artifact@v4
|
2021-07-23 09:00:07 +00:00
|
|
|
with:
|
|
|
|
name: webui.tar.gz
|
|
|
|
|
|
|
|
- name: Untar webui
|
|
|
|
run: tar xvf webui.tar.gz
|
|
|
|
|
|
|
|
- name: Build
|
2024-09-03 07:44:04 +00:00
|
|
|
env:
|
|
|
|
GOOS: ${{ matrix.os }}
|
|
|
|
GOARCH: ${{ matrix.arch }}
|
|
|
|
GOARM: ${{ matrix.goarm }}
|
2021-07-23 09:00:07 +00:00
|
|
|
run: make binary
|