54 lines
1.8 KiB
YAML
54 lines
1.8 KiB
YAML
name: "Release (cli)"
|
|
|
|
on:
|
|
push:
|
|
# Run when a tag matching the pattern "cli-v*"" is pushed
|
|
#
|
|
# Tip: to test this workflow, push at tag with a pre-release version,
|
|
# e.g. `cli-v1.2.3-test`, where 1.2.3 is the expected version number of
|
|
# the next release that'll go out.
|
|
#
|
|
# See: [Note: Testing release workflows that are triggered by tags]
|
|
tags:
|
|
- "cli-v*"
|
|
|
|
jobs:
|
|
draft-release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Create a draft GitHub release
|
|
uses: ncipollo/release-action@v1
|
|
with:
|
|
draft: true
|
|
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
needs: draft-release
|
|
|
|
strategy:
|
|
matrix:
|
|
goos: [linux, windows, darwin]
|
|
goarch: ["386", amd64, arm64]
|
|
exclude:
|
|
- goarch: "386"
|
|
goos: darwin
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Build binaries and add to the release
|
|
uses: wangyoucao577/go-release-action@v1
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
goos: ${{ matrix.goos }}
|
|
goarch: ${{ matrix.goarch }}
|
|
asset_name: ente-${{ github.ref_name }}-${{ matrix.goos }}-${{ matrix.goarch }}
|
|
release_name: ${{ github.ref_name }}
|
|
goversion: "1.20"
|
|
project_path: "./cli"
|
|
pre_command: export CGO_ENABLED=0
|
|
build_flags: "-trimpath"
|
|
ldflags: "-X main.AppVersion=${{ github.ref_name }} -s -w"
|
|
md5sum: false
|
|
sha256sum: true
|