Release #48
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
permissions: | |
contents: write | |
name: Release | |
on: | |
push: | |
tags: | |
- "[0-9]+.*" | |
jobs: | |
create-release: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: taiki-e/create-gh-release-action@v1 | |
with: | |
# Create a draft release so we can add the changelog before publishing it | |
# so the changelog is included in the release email | |
draft: true | |
env: | |
# (required) | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
upload-assets: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# Targets that match the OS of the runner. | |
- target: x86_64-unknown-linux-gnu | |
os: ubuntu-20.04 | |
- target: x86_64-apple-darwin | |
os: macos-latest | |
- target: x86_64-pc-windows-msvc | |
os: windows-latest | |
# Targets using cross-compilation (upload-rust-binary-action | |
# detects that they need cross). | |
- target: x86_64-unknown-linux-musl | |
os: ubuntu-20.04 | |
use_cross: true | |
- target: aarch64-unknown-linux-gnu | |
os: ubuntu-20.04 | |
use_cross: true | |
- target: aarch64-apple-darwin | |
os: macos-latest | |
use_cross: true | |
env: | |
BUILD_CMD: cargo | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Rust toolchain | |
uses: dtolnay/[email protected] | |
with: | |
targets: ${{ matrix.target }} | |
- name: Install cross | |
if: matrix.use_cross | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: cross | |
- name: Overwrite build command env variable | |
if: matrix.use_cross | |
shell: bash | |
run: echo "BUILD_CMD=cross" >> $GITHUB_ENV | |
- name: Build info | |
shell: bash | |
run: $BUILD_CMD --version | |
- name: Do release build | |
shell: bash | |
run: $BUILD_CMD build --release --target ${{ matrix.target }} | |
- name: Move binary to root of checkout | |
shell: bash | |
run: mv target/${{ matrix.target }}/release/difft difft | |
- name: Compress binary | |
shell: bash | |
run: tar -cvzf difft-${{ matrix.target }}.tar.gz difft | |
# needs target in file name | |
- name: Upload binary | |
shell: bash | |
run: gh release upload ${{ github.ref_name }} difft-${{ matrix.target }}.tar.gz | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |