name: Build and upload binaries to release
on:
push:
tags:
- 'v*.*.*'
jobs:
release:
name: Build and Release
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
artifact_name: tzbuddy
asset_name: tzbuddy-linux-amd64.tar.gz
- os: macos-latest
artifact_name: tzbuddy
asset_name: tzbuddy-macos-arm64.tar.gz
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set output
id: vars
run: echo ::set-output name=tag::${GITHUB_REF#refs/*/}
- name: set rust version
run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }}
- name: Build project
run: cargo build --release --locked
- name: Create tar
run: tar czf target/release/${{ matrix.asset_name }} -C target/release ${{ matrix.artifact_name }}
- name: Upload binary to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: target/release/${{ matrix.asset_name }}
asset_name: ${{ matrix.asset_name }}
tag: ${{ steps.vars.outputs.tag }}
bump:
name: Bump Homebrew formula
runs-on: ubuntu-latest
needs: release
steps:
- name: Set output
id: vars
run: echo ::set-output name=tag::${GITHUB_REF#refs/*/}
- name: Open PR for formula
uses: mislav/bump-homebrew-formula-action@v3
with:
formula-name: tzbuddy
homebrew-tap: gbagnoli/homebrew-tzbuddy
base-branch: main
create-pullrequest: true
env:
COMMITTER_TOKEN: ${{ secrets.COMMITTER_TOKEN }}