Skip to content

Fix release workflow. #69

Fix release workflow.

Fix release workflow. #69

Workflow file for this run

name: Go
on:
push:
tags:
- 'v*'
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v1
with:
go-version: 1.21
- name: Check out code into the Go module directory
uses: actions/checkout@v1
- name: Get dependencies
run: go get -v -t -d ./...
- name: Set version environment
run: echo "VALAR_VERSION=$(echo ${GITHUB_REF:10})" >> $GITHUB_ENV
- name: Build
run: |
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags netgo -ldflags "-X valar/cli/cmd.version=$VALAR_VERSION -s -w -extldflags \"-static\"" -o valar_linux_amd64 .
CGO_ENABLED=0 GOOS=linux GOARCH=arm go build -a -tags netgo -ldflags "-X valar/cli/cmd.version=$VALAR_VERSION -s -w -extldflags \"-static\"" -o valar_linux_arm .
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -a -tags netgo -ldflags "-X valar/cli/cmd.version=$VALAR_VERSION -s -w -extldflags \"-static\"" -o valar_linux_arm64 .
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -a -tags netgo -ldflags "-X valar/cli/cmd.version=$VALAR_VERSION -s -w -extldflags \"-static\"" -o valar_darwin_amd64 .
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -a -tags netgo -ldflags "-X valar/cli/cmd.version=$VALAR_VERSION -s -w -extldflags \"-static\"" -o valar_darwin_arm64 .
- uses: actions/upload-artifact@v2
with:
name: valar_darwin_amd64
path: valar_darwin_amd64
- uses: actions/upload-artifact@v2
with:
name: valar_darwin_arm64
path: valar_darwin_arm64
- uses: actions/upload-artifact@v2
with:
name: valar_linux_amd64
path: valar_linux_amd64
- uses: actions/upload-artifact@v2
with:
name: valar_linux_arm
path: valar_linux_arm
- uses: actions/upload-artifact@v2
with:
name: valar_linux_arm64
path: valar_linux_arm64
release:
name: Release
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/download-artifact@v2
with:
name: valar_linux_arm
- uses: actions/download-artifact@v2
with:
name: valar_linux_arm64
- uses: actions/download-artifact@v2
with:
name: valar_linux_amd64
- uses: actions/download-artifact@v2
with:
name: valar_darwin_amd64
- uses: actions/download-artifact@v2
with:
name: valar_darwin_arm64
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
draft: false
prerelease: false
- name: Upload release asset (linux_amd64)
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./valar_linux_amd64
asset_name: valar_linux_amd64
asset_content_type: binary/octet-stream
- name: Upload release asset (linux_arm64)
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./valar_linux_arm64
asset_name: valar_linux_arm64
asset_content_type: binary/octet-stream
- name: Upload release asset (linux_arm)
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./valar_linux_arm
asset_name: valar_linux_arm
asset_content_type: binary/octet-stream
- name: Upload release asset (darwin_amd64)
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./valar_darwin_amd64
asset_name: valar_darwin_amd64
asset_content_type: binary/octet-stream
- name: Upload release asset (darwin_arm64)
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./valar_darwin_arm64
asset_name: valar_darwin_arm64
asset_content_type: binary/octet-stream
homebrew:
name: Update homebrew-tap
runs-on: macos-latest
needs: [build, release]
steps:
- uses: actions/checkout@v2
- name: Setup SSH Keys and known_hosts
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
run: |
mkdir -p ~/.ssh
ssh-keyscan github.com >> ~/.ssh/known_hosts
ssh-agent -a $SSH_AUTH_SOCK > /dev/null
ssh-add - <<< "${DEPLOY_KEY}"
git config --global user.email "[email protected]"
git config --global user.name "GitHub Actions"
- name: Extract version
id: get_version
run: |
echo ::set-output name=version::${GITHUB_REF#refs/*/}
echo ::set-output name=short_version::$(echo ${GITHUB_REF#refs/*/} | cut -c2-)
- name: Bump archive version
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
run: |
brew tap valar/tap [email protected]:valar/homebrew-tap.git
cd $(brew --repo valar/tap)
brew bump-formula-pr --write-only \
--url=https://github.com/valar/cli/archive/refs/tags/${{ steps.get_version.outputs.version }}.tar.gz \
valar/tap/valar
git commit -a -m "Bump version to ${{ steps.get_version.outputs.version }}"
git push -u