Skip to content

v0.1.11

v0.1.11 #12

Workflow file for this run

name: Release
on:
release:
types: [created]
jobs:
release-binary:
strategy:
fail-fast: false
matrix:
package: [mdbook-tabs, mdbook-trunk]
target:
[
aarch64-unknown-linux-gnu,
aarch64-unknown-linux-musl,
x86_64-unknown-linux-gnu,
x86_64-unknown-linux-musl,
aarch64-apple-darwin,
x86_64-apple-darwin,
x86_64-pc-windows-msvc
]
include:
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
- target: aarch64-unknown-linux-musl
os: ubuntu-latest
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- target: x86_64-unknown-linux-musl
os: ubuntu-latest
- target: aarch64-apple-darwin
os: macos-latest
- target: x86_64-apple-darwin
os: macos-latest
- target: x86_64-pc-windows-msvc
os: windows-latest
runs-on: ${{ matrix.os }}
name: Release ${{ matrix.package }} for ${{ matrix.target }}
steps:
- uses: actions/checkout@v4
- name: Set up Rust toolchain
run: |
rustup toolchain install stable --no-self-update --profile minimal
rustup component add llvm-tools-preview --toolchain stable
rustup component add rust-std-${{ matrix.target }} --toolchain stable
- name: Set up target (*-musl)
if: ${{ endsWith(matrix.target, '-musl') }}
run: |
sudo apt update -y
sudo apt install -y musl-dev musl-tools
- name: Set up target (aarch64-unknown-linux-*)
if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}
run: |
sudo apt update -y
sudo apt install -y gcc-aarch64-linux-gnu
echo CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc >> $GITHUB_ENV
echo CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-gnu-gcc >> $GITHUB_ENV
- name: Build
run: cargo build --bins --locked --release --target ${{ matrix.target }}
- name: Archive (tar.gz)
if: ${{ !contains(matrix.target, '-windows-') }}
run: tar czf ../../${{ matrix.package }}-${{ github.ref_name }}-${{ matrix.target }}.tar.gz ${{ matrix.package }}
working-directory: target/${{ matrix.target }}/release
- name: Archive (zip)
if: ${{ contains(matrix.target, '-windows-') }}
run: 7z a ../../${{ matrix.package }}-${{ github.ref_name }}-${{ matrix.target }}.zip ${{ matrix.package }}.exe
working-directory: target/${{ matrix.target }}/release
- name: Upload release asset (tar.gz)
if: ${{ !contains(matrix.target, '-windows-') }}
uses: softprops/action-gh-release@v2
with:
files: target/${{ matrix.package }}-${{ github.ref_name }}-${{ matrix.target }}.tar.gz
- name: Upload release asset (zip)
if: ${{ contains(matrix.target, '-windows-') }}
uses: softprops/action-gh-release@v2
with:
files: target/${{ matrix.package }}-${{ github.ref_name }}-${{ matrix.target }}.zip