mirror of
https://github.com/yusing/godoxy.git
synced 2026-02-25 18:25:04 +01:00
Use the shared build target for CLI binaries and upload artifacts to GitHub releases on tag builds.
67 lines
1.5 KiB
YAML
Executable File
67 lines
1.5 KiB
YAML
Executable File
name: GoDoxy CLI Binary
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- "cmd/cli/**"
|
|
- "internal/api/v1/docs/swagger.json"
|
|
- "Makefile"
|
|
- ".github/workflows/cli-binary.yml"
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- "cmd/cli/**"
|
|
- "internal/api/v1/docs/swagger.json"
|
|
- "Makefile"
|
|
- ".github/workflows/cli-binary.yml"
|
|
tags:
|
|
- v*
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- runner: ubuntu-latest
|
|
platform: linux/amd64
|
|
binary_name: godoxy-cli-linux-amd64
|
|
- runner: ubuntu-24.04-arm
|
|
platform: linux/arm64
|
|
binary_name: godoxy-cli-linux-arm64
|
|
name: Build ${{ matrix.platform }}
|
|
runs-on: ${{ matrix.runner }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: "recursive"
|
|
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- name: Verify dependencies
|
|
run: go mod verify
|
|
|
|
- name: Build CLI
|
|
run: |
|
|
make cli=1 NAME=${{ matrix.binary_name }} build
|
|
|
|
- name: Check binary
|
|
run: |
|
|
file bin/${{ matrix.binary_name }}
|
|
|
|
- name: Upload
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ${{ matrix.binary_name }}
|
|
path: bin/${{ matrix.binary_name }}
|
|
|
|
- name: Upload to release
|
|
uses: softprops/action-gh-release@v2
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: bin/${{ matrix.binary_name }}
|