Skip to content

refresh Rust dependencies including necessary refactors, set MSRV #19

refresh Rust dependencies including necessary refactors, set MSRV

refresh Rust dependencies including necessary refactors, set MSRV #19

Workflow file for this run

name: Release
on:
release:
types: [created]
push:
branches: [master]
pull_request:
env:
CARGO_TERM_COLOR: always
REPO: git-graph
jobs:
release:
name: Release for ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
bin_extension: ""
os_name: "linux-amd64"
- os: windows-latest
bin_extension: ".exe"
os_name: "windows-amd64"
- os: macos-latest
bin_extension: ""
os_name: "macos-amd64"
steps:
- uses: actions/checkout@v2
- name: Get tag or commit
run: |
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
else
SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-7)
echo "RELEASE_VERSION=${SHORT_SHA}" >> $GITHUB_ENV
fi
shell: bash
- name: Build
run: |
cargo build --release
- name: Compress
run: |
cp -f target/release/$REPO${{ matrix.bin_extension }} .
tar -czf release.tar.gz $REPO${{ matrix.bin_extension }}
shell: bash
- name: Archive build artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ env.REPO }}-${{ env.RELEASE_VERSION }}-${{ matrix.os_name }}
path: release.tar.gz
- name: Upload binaries to release
if: github.event_name == 'release'
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: release.tar.gz
asset_name: ${{ env.REPO }}-${{ env.RELEASE_VERSION }}-${{ matrix.os_name }}.tar.gz
tag: ${{ github.ref }}