Skip to content

Update test.yml

Update test.yml #3

Workflow file for this run

name: Rust (Build & Test)
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
testing:
strategy:
fail-fast: true
matrix:
os: ["ubuntu-22.04", "windows-2022"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ matrix.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: rustfmt, clippy
- name: Lint rust code
run: cargo clippy -- -D warnings
- name: Attempt to build (debug)
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose
- name: List target directory
run: ls -R target
- name: Upload debug binaries
uses: actions/upload-artifact@v3
with:
name: debug-binaries
path: |
target/debug/**/*.exe
target/debug/**/*
if: runner.os == 'Windows'
- uses: actions/upload-artifact@v3
with:
name: debug-binaries
path: target/debug/**/*
if: runner.os != 'Windows'
- name: Upload release binaries
uses: actions/upload-artifact@v3
with:
name: release-binaries
path: |
target/release/**/*.exe
target/release/**/*
if: runner.os == 'Windows'
- uses: actions/upload-artifact@v3
with:
name: release-binaries
path: target/release/**/*
if: runner.os != 'Windows'