2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-04 10:17:17 +08:00

feat: optimize build workflow

This commit is contained in:
耗子
2023-06-25 00:04:58 +08:00
parent f918f40c8d
commit c36640c1d8

View File

@@ -5,67 +5,28 @@ on:
- main
pull_request:
jobs:
build-amd64:
build:
runs-on: ubuntu-latest
strategy:
matrix:
goarch: [ amd64, arm64, s390x, loong64 ]
fail-fast: true
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
cache: true
go-version: 'stable'
- name: Install dependencies
run: go mod tidy
- name: Build
run: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-s -w --extldflags "-static -fpic"' -o panel-amd64
- name: Build ${{ matrix.goarch }}
env:
CGO_ENABLED: 0
GOOS: linux
GOARCH: ${{ matrix.goarch }}
run: go build -ldflags '-s -w --extldflags "-static -fpic"' -o panel-${{ matrix.goarch }}
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: panel-amd64
path: panel-amd64
build-arm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: 'stable'
- name: Install dependencies
run: go mod tidy
- name: Build
run: CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags '-s -w --extldflags "-static -fpic"' -o panel-arm64
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: panel-arm64
path: panel-arm64
build-s390x:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: 'stable'
- name: Install dependencies
run: go mod tidy
- name: Build
run: CGO_ENABLED=0 GOOS=linux GOARCH=s390x go build -ldflags '-s -w --extldflags "-static -fpic"' -o panel-s390x
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: panel-s390x
path: panel-s390x
build-loong64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: 'stable'
- name: Install dependencies
run: go mod tidy
- name: Build
run: CGO_ENABLED=0 GOOS=linux GOARCH=loong64 go build -ldflags '-s -w --extldflags "-static -fpic"' -o panel-loong64
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: panel-loong64
path: panel-loong64
name: panel-${{ matrix.goarch }}
path: panel-${{ matrix.goarch }}