mmtc/.github/workflows/release.yml
figsoda 3448bb38b4 github actions: switch to maintained actions
create-release -> action-gh-release
upload-release-asset -> upload-release-action
2021-08-25 11:16:44 -04:00

129 lines
3.4 KiB
YAML

name: release
on:
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+
jobs:
create_release:
name: create_release
runs-on: ubuntu-latest
steps:
- name: Create release
uses: softprops/action-gh-release@v1
with:
body: "[Changelog](https://github.com/figsoda/mmtc/blob/main/CHANGELOG.md)"
release:
name: release
needs: create_release
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- target: x86_64-apple-darwin
os: macos-latest
- target: x86_64-pc-windows-gnu
os: windows-latest
ext: .exe
- target: x86_64-pc-windows-msvc
os: windows-latest
ext: .exe
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- target: x86_64-unknown-linux-musl
os: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
- name: Install rust toolchain
uses: actions-rs/toolchain@v1.0.7
with:
profile: minimal
toolchain: nightly
target: ${{ matrix.target }}
default: true
- name: Cargo build
uses: actions-rs/cargo@v1.0.3
with:
command: build
args: --release --target ${{ matrix.target }}
env:
RUSTFLAGS: -Z strip=symbols
- name: Upload release asset
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ github.token }}
tag: ${{ github.ref }}
file: target/${{ matrix.target }}/release/mmtc${{ matrix.ext }}
asset_name: mmtc-${{ matrix.target }}${{ matrix.ext }}
completions:
name: completions
needs: create_release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
- name: Install rust toolchain
uses: actions-rs/toolchain@v1.0.7
with:
profile: minimal
toolchain: nightly
default: true
- name: Cargo build
uses: actions-rs/cargo@v1.0.3
with:
command: build
env:
GEN_COMPLETIONS: 1
- name: Find generated completions
run: |
outputs=(target/debug/build/mmtc-*/out/completions)
cp -r "${outputs[0]}" completions
- name: Upload bash completion
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ github.token }}
tag: ${{ github.ref }}
file: ./completions/mmtc.bash
- name: Upload elvish completion
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ github.token }}
tag: ${{ github.ref }}
file: ./completions/mmtc.elv
- name: Upload fish completion
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ github.token }}
tag: ${{ github.ref }}
file: ./completions/mmtc.fish
- name: Upload powershell completion
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ github.token }}
tag: ${{ github.ref }}
file: ./completions/_mmtc.ps1
asset_name: mmtc.ps1
- name: Upload zsh completion
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ github.token }}
tag: ${{ github.ref }}
file: ./completions/_mmtc
asset_name: mmtc.zsh