pushd 0.0.2

A library that implements pushd
Documentation
name: Tests and release

on:
  push:
    branches:
      - "**"
    tags-ignore:
      - "precious-*"
  pull_request:

env:
  CRATE_NAME: precious
  GITHUB_TOKEN: ${{ github.token }}
  RUST_BACKTRACE: 1

jobs:
  test:
    name: ${{ 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
            skip_tests: true
          - os-name: Linux-x86_64
            runs-on: ubuntu-20.04
            target: x86_64-unknown-linux-musl
          - os-name: Linux-aarch64
            runs-on: ubuntu-20.04
            target: aarch64-unknown-linux-musl
          - os-name: Linux-arm
            runs-on: ubuntu-20.04
            target: arm-unknown-linux-musleabi
          - os-name: Linux-i686
            runs-on: ubuntu-20.04
            target: i686-unknown-linux-musl
          - os-name: Linux-powerpc
            runs-on: ubuntu-20.04
            target: powerpc-unknown-linux-gnu
          - os-name: Linux-powerpc64
            runs-on: ubuntu-20.04
            target: powerpc64-unknown-linux-gnu
          - os-name: Linux-powerpc64le
            runs-on: ubuntu-20.04
            target: powerpc64le-unknown-linux-gnu
          - os-name: Linux-riscv64
            runs-on: ubuntu-20.04
            target: riscv64gc-unknown-linux-gnu
          - os-name: Linux-s390x
            runs-on: ubuntu-20.04
            target: s390x-unknown-linux-gnu
          - os-name: NetBSD-x86_64
            runs-on: ubuntu-20.04
            target: x86_64-unknown-netbsd
            skip_tests: true
          - os-name: Windows-aarch64
            runs-on: windows-latest
            target: aarch64-pc-windows-msvc
            skip_tests: true
          - os-name: Windows-i686
            runs-on: windows-latest
            target: i686-pc-windows-msvc
          - os-name: Windows-x86_64
            runs-on: windows-latest
            target: x86_64-pc-windows-msvc
          - os-name: macOS-x86_64
            runs-on: macOS-latest
            target: x86_64-apple-darwin
          - os-name: macOS-aarch64
            runs-on: macOS-latest
            target: aarch64-apple-darwin
        toolchain:
          - stable
        include:
          - platform:
              os-name: Linux-x86_64
              runs-on: ubuntu-20.04
              target: x86_64-unknown-linux-musl
              bin: ubi
            toolchain: beta
          - platform:
              os-name: Linux-x86_64
              runs-on: ubuntu-20.04
              target: x86_64-unknown-linux-musl
              bin: ubi
            toolchain: nightly
    steps:
      - uses: actions/checkout@v3
      - name: Cache cargo & target directories
        uses: Swatinem/rust-cache@v2
      - name: Build binary
        uses: houseabsolute/actions-rust-cross@v0
        with:
          command: "build"
          target: ${{ matrix.platform.target }}
          toolchain: ${{ matrix.toolchain }}
          args: "--release"
          strip: false
      - name: Run tests
        uses: houseabsolute/actions-rust-cross@v0
        with:
          command: "test"
          target: ${{ matrix.platform.target }}
          toolchain: ${{ matrix.toolchain }}
          args: "--release"
        if: ${{ !matrix.platform.skip_tests }}