name: Release
on:
push:
tags:
- "v*"
jobs:
build:
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Build in release mode
run: cargo build --release
- name: Rename binary
run: mv target/release/given target/release/given-macos
- name: Upload Release Asset
uses: actions/upload-artifact@v2
with:
name: given-macos
path: target/release/given-macos
release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Download macOS Binary
uses: actions/download-artifact@v2
with:
name: given-macos
path: .
- name: Upload macOS Binary to Release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: given-macos
asset_name: given-macos
tag: ${{ github.ref }}
overwrite: true
update-homebrew:
needs: release
runs-on: ubuntu-latest
steps:
- name: Checkout Homebrew Tap Repository
uses: actions/checkout@v2
with:
repository: kitlangton/homebrew-tap
path: homebrew-tap
- name: Extract version
id: extract-version
run: echo "tag-name=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
- name: Bump Homebrew Formula
uses: mislav/bump-homebrew-formula-action@v3
with:
formula-name: given
formula-path: Formula/given.rb
homebrew-tap: kitlangton/homebrew-tap
base-branch: main
download-url: https://github.com/kitlangton/given/releases/download/${{ steps.extract-version.outputs.tag-name }}/given-macos
env:
COMMITTER_TOKEN: ${{ secrets.COMMITTER_TOKEN }}