Skip to content

Merge pull request #2 from xiaotian2333/main #13

Merge pull request #2 from xiaotian2333/main

Merge pull request #2 from xiaotian2333/main #13

Workflow file for this run

name: Build and Release
on:
push:
branches: [main]
tags:
- 'v*'
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
goos: [linux, windows, darwin]
goarch: [amd64, arm64]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.21'
- name: Build
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
run: |
mkdir -p dist
EXT=""
if [ "$GOOS" = "windows" ]; then
EXT=".exe"
fi
go build -ldflags="-s -w" -o dist/zai2api-${{ matrix.goos }}-${{ matrix.goarch }}${EXT} ./cmd/main.go
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: zai2api-${{ matrix.goos }}-${{ matrix.goarch }}
path: dist/
release:
needs: build
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
permissions:
contents: write
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Prepare release files
run: |
mkdir -p release
find artifacts -type f -exec cp {} release/ \;
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: release/*
generate_release_notes: true