metacmd 0.0.1

Abstracting commands over multiple environments
Documentation
name: CI

on:
  push:
    branches: [ main ]
    paths-ignore:
    - '**.md'
    - 'scripts/**'
    - '.github/**'
    - '!.github/workflows/ci.yaml'
  pull_request:
    branches: [ main ]
    paths-ignore:
    - '**.md'
    - 'scripts/**'
    - '.gitignore'
    - '.github/**'
    - '!.github/workflows/ci.yaml'

env:
  CARGO_TERM_COLOR: always
  RUST_VERSION: 1.70.0

jobs:
  ci:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    runs-on: ${{ matrix.os }}
    steps:
    - uses: actions/checkout@v3

    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: ${{ env.RUST_VERSION }}
        default: true
        components: clippy

    - name: Cache Rust
      uses: Swatinem/rust-cache@v2

    - name: Lint
      uses: actions-rs/cargo@v1
      with:
        command: clippy
        args: --verbose --release -- -D warnings

    - name: Run tests
      uses: actions-rs/cargo@v1
      with:
        command: test
        args: --verbose --release