switch to goreleaser #135
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jobs: | ||
releases-matrix: | ||
name: Release Go Binary | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
# build and publish in parallel: linux/386, linux/amd64, linux/arm64, windows/386, windows/amd64, darwin/amd64, darwin/arm64 | ||
goos: [ linux, windows, darwin ] | ||
goarch: [ amd64, arm64 ] | ||
exclude: | ||
- goarch: arm64 | ||
goos: windows | ||
steps: | ||
- name: Determine C compiler | ||
run: | | ||
if [ "${{ matrix.goarch }}" = "arm64" ]; then | ||
echo "TARGET_CC=aarch64-linux-gnu-gcc" >> $GITHUB_ENV | ||
elif [ "${{ matrix.goarch }}" = "amd64" ]; then | ||
echo "TARGET_CC=x86_64-linux-gnu-gcc" >> $GITHUB_ENV | ||
fi | ||
- uses: wangyoucao577/[email protected] | ||
env: | ||
MIXPANEL_PROJECT_TOKEN: ${{ secrets.MIXPANEL_PROJECT_TOKEN }} | ||
LILICO_TOKEN: ${{ secrets.LILICO_TOKEN }} | ||
APP_VERSION: $(basename ${GITHUB_REF}) | ||
BUILD_TIME: $(date --iso-8601=seconds) | ||
VERSION: ${{github.ref_name}} | ||
COMMIT: ${{ github.sha }} | ||
CGO_ENABLED: 1 | ||
CGO_FLAGS: "-O2 -D__BLST_PORTABLE__" | ||
with: | ||
pre_command: | | ||
apt-get update && | ||
apt-get -y install gcc-aarch64-linux-gnu && | ||
make generate && | ||
export CC="${TARGET_CC}" | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
goos: ${{ matrix.goos }} | ||
goarch: ${{ matrix.goarch }} | ||
goversion: "1.20" | ||
project_path: "./cmd/flow" | ||
ldflags: -X "github.com/onflow/flow-cli/build.commit=${{ env.COMMIT }}" -X "github.com/onflow/flow-cli/build.semver=${{ env.VERSION }}" -X "github.com/onflow/flow-cli/internal/command.mixpanelToken=${{ env.MIXPANEL_PROJECT_TOKEN }}" -X "github.com/onflow/flow-cli/internal/accounts.accountToken=${{ env.LILICO_TOKEN }}" | ||
name: Build Release | ||
on: | ||
release: | ||
types: [published] | ||
jobs: | ||
release: | ||
name: Release Go Binary | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Codebase security check | ||
continue-on-error: true | ||
uses: snyk/actions/golang@master | ||
with: | ||
go-version: '1.20' | ||
env: | ||
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} | ||
- name: setup dependencies | ||
uses: actions/setup-go@v2 | ||
- name: release dry run | ||
run: make release-dry-run | ||
- name: setup release environment | ||
run: |- | ||
echo 'GITHUB_TOKEN=${{secrets.GORELEASER_ACCESS_TOKEN}}' > .release-env | ||
- name: release publish | ||
run: make release |