Use checkout@v4 #79
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
name: Continuous integration | |
on: | |
push: | |
branches: | |
- "**" | |
tags-ignore: | |
- "omegasort-*" | |
pull_request: | |
env: | |
CRATE_NAME: omegasort | |
RUST_BACKTRACE: 1 | |
jobs: | |
test: | |
name: Test - ${{ matrix.platform.os-name }} with rust ${{ matrix.toolchain }} | |
runs-on: ${{ matrix.platform.runs-on }} | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
- os-name: FreeBSD-x86_64 | |
runs-on: ubuntu-20.04 | |
target: x86_64-unknown-freebsd | |
name: omegasort-FreeBSD-x86_64.tar.gz | |
skip_tests: true | |
- os-name: Linux-x86_64 | |
runs-on: ubuntu-20.04 | |
target: x86_64-unknown-linux-musl | |
name: omegasort-Linux-x86_64-musl.tar.gz | |
- os-name: Linux-aarch64 | |
runs-on: ubuntu-20.04 | |
target: aarch64-unknown-linux-musl | |
name: omegasort-Linux-aarch64-musl.tar.gz | |
- os-name: Linux-arm | |
runs-on: ubuntu-20.04 | |
target: arm-unknown-linux-musleabi | |
name: omegasort-Linux-arm-musl.tar.gz | |
- os-name: Linux-i686 | |
runs-on: ubuntu-20.04 | |
target: i686-unknown-linux-musl | |
name: omegasort-Linux-i686-musl.tar.gz | |
- os-name: Linux-powerpc | |
runs-on: ubuntu-20.04 | |
target: powerpc-unknown-linux-gnu | |
name: omegasort-Linux-powerpc-gnu.tar.gz | |
- os-name: Linux-powerpc64 | |
runs-on: ubuntu-20.04 | |
target: powerpc64-unknown-linux-gnu | |
name: omegasort-Linux-powerpc64-gnu.tar.gz | |
- os-name: Linux-powerpc64le | |
runs-on: ubuntu-20.04 | |
target: powerpc64le-unknown-linux-gnu | |
name: omegasort-Linux-powerpc64le.tar.gz | |
- os-name: Linux-riscv64 | |
runs-on: ubuntu-20.04 | |
target: riscv64gc-unknown-linux-gnu | |
name: omegasort-Linux-riscv64gc-gnu.tar.gz | |
- os-name: Linux-s390x | |
runs-on: ubuntu-20.04 | |
target: s390x-unknown-linux-gnu | |
name: omegasort-Linux-s390x-gnu.tar.gz | |
- os-name: NetBSD-x86_64 | |
runs-on: ubuntu-20.04 | |
target: x86_64-unknown-netbsd | |
name: omegasort-NetBSD-x86_64.tar.gz | |
skip_tests: true | |
- os-name: Windows-aarch64 | |
runs-on: windows-latest | |
target: aarch64-pc-windows-msvc | |
name: omegasort-Windows-aarch64.zip | |
skip_tests: true | |
- os-name: Windows-i686 | |
runs-on: windows-latest | |
target: i686-pc-windows-msvc | |
name: omegasort-Windows-i686.zip | |
- os-name: Windows-x86_64 | |
runs-on: windows-latest | |
target: x86_64-pc-windows-msvc | |
name: omegasort-Windows-x86_64.zip | |
- os-name: macOS-x86_64 | |
runs-on: macOS-latest | |
target: x86_64-apple-darwin | |
name: omegasort-Darwin-x86_64.tar.gz | |
- os-name: macOS-aarch64 | |
runs-on: macOS-latest | |
target: aarch64-apple-darwin | |
name: omegasort-Darwin-aarch64.tar.gz | |
toolchain: | |
- stable | |
include: | |
- platform: | |
os-name: Linux-x86_64 | |
runs-on: ubuntu-20.04 | |
target: x86_64-unknown-linux-musl | |
toolchain: beta | |
- platform: | |
os-name: Linux-x86_64 | |
runs-on: ubuntu-20.04 | |
target: x86_64-unknown-linux-musl | |
toolchain: nightly | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run tests | |
uses: houseabsolute/actions-rust-cross@v1 | |
with: | |
command: "test" | |
target: ${{ matrix.platform.target }} | |
toolchain: ${{ matrix.toolchain }} | |
args: "--locked --release" | |
if: ${{ !matrix.platform.skip_tests }} | |
- name: Build binary | |
uses: houseabsolute/actions-rust-cross@v1 | |
with: | |
command: "build" | |
target: ${{ matrix.platform.target }} | |
toolchain: ${{ matrix.toolchain }} | |
args: "--locked --release" | |
strip: true | |
- name: Publish artifacts and release | |
uses: houseabsolute/actions-rust-release@v0 | |
with: | |
executable-name: omegasort | |
target: ${{ matrix.platform.target }} | |
if: matrix.toolchain == 'stable' |