rems 0.0.15

A finite difference time domain (FDTD) electromagnetic simulator.
name: CI

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
  schedule:
    - cron: "0 0 * * *"

jobs:
  ci:
    runs-on: ubuntu-latest
    steps:
      - name: Check out branch
        uses: actions/checkout@v2
      - name: Run cargo fmt
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: -- --check -l -v
      - name: Install OS dependencies
        run: |
          sudo apt install -y python3.10-dev
      - name: Install latest nightly
        uses: actions-rs/toolchain@v1
        with:
            toolchain: nightly
            override: true
            components: rustfmt, clippy
      - name: Run audit check
        uses: actions-rs/cargo@v1
        with:
          command: audit
          # Neither of these has a fix available, so we will ignore them for now.
          args: --ignore RUSTSEC-2020-0071 --ignore RUSTSEC-2020-0159
      - name: Cache compilation assets
        uses: actions/cache@v2
        env:
          cache-name: rust
        with:
          path: |
            target
            /usr/share/rust/.cargo
          key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }}
          restore-keys: |
            ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }}
      - name: Run cargo build
        uses: actions-rs/cargo@v1
        with:
          command: build
      - name: Run cargo clippy
        uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: --all-targets --all-features -- -D warnings
      - name: Run cargo test
        uses: actions-rs/cargo@v1
        with:
          command: test
      - name: Run cargo doc
        uses: actions-rs/cargo@v1
        with:
          command: doc