Skip to content

No auto pause on empty group #1503

No auto pause on empty group

No auto pause on empty group #1503

Workflow file for this run

name: "Test Build"
on:
push:
branches:
- main
- development
paths:
- ".github/**/*"
- "**.rs"
- "**/Cargo.toml"
- "**/Cargo.lock"
pull_request:
branches:
- main
- development
paths:
- ".github/**/*"
- "**.rs"
- "**/Cargo.toml"
- "**/Cargo.lock"
jobs:
publish:
name: Test on ${{ matrix.os }} for ${{ matrix.target }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
target:
- x86_64-unknown-linux-gnu
- aarch64-unknown-linux-musl
- armv7-unknown-linux-musleabihf
- arm-unknown-linux-musleabihf
- x86_64-pc-windows-msvc
- x86_64-apple-darwin
- aarch64-apple-darwin
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
cross: false
strip: true
- os: ubuntu-latest
target: aarch64-unknown-linux-musl
cross: true
strip: false
- os: ubuntu-latest
target: armv7-unknown-linux-musleabihf
cross: true
strip: false
- os: ubuntu-latest
target: arm-unknown-linux-musleabihf
cross: true
strip: false
- os: windows-latest
target: x86_64-pc-windows-msvc
cross: false
strip: true
- os: macos-latest
target: x86_64-apple-darwin
cross: false
strip: true
- os: macos-latest
target: aarch64-apple-darwin
cross: true
strip: true
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: llvm-tools-preview
target: ${{ matrix.target }}
- name: Install cargo-nextest
uses: taiki-e/install-action@v2
with:
tool: nextest
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.target }}-
- name: cargo build
uses: actions-rs/cargo@v1
with:
command: build
args: --target=${{ matrix.target }}
use-cross: ${{ matrix.cross }}
- name: cargo test
uses: actions-rs/cargo@v1
if: ${{ !matrix.cross }}
env:
NEXTEST_PROFILE: ci # defined in .config/nextest.toml
with:
command: nextest
args: run --workspace --target=${{ matrix.target }}
use-cross: ${{ matrix.cross }}
# The test result artifacts are used by the test-report.yaml workflow.
- name: upload test results
uses: actions/upload-artifact@v3
if: ${{ !matrix.cross }}
with:
name: Test results (${{ matrix.target }})
path: target/nextest/ci/junit.xml
# the event file (containing the JSON payload for the webhook triggering this
# workflow) is needed to generate test result reports with the correct
# context. See the test-report.yaml workflow for details.
event_file:
name: "Event File"
runs-on: ubuntu-latest
steps:
- name: Upload
uses: actions/upload-artifact@v3
with:
name: Event File
path: ${{ github.event_path }}