name: Continuous Integration on: push: branches: - main - wip pull_request: jobs: ci: name: "Test-build avr-device with all targets and runtime enabled" runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Install Stable Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: false default: true # Python Dependencies - name: Install Python dependencies run: | pip3 install --user setuptools wheel pip3 install --user svdtools - name: Put pip binary directory into path run: echo "$HOME/.local/bin" >> $GITHUB_PATH # Rust Dependencies - name: Cache Cargo installed binaries uses: actions/cache@v1 id: cache-cargo with: path: ~/cargo-bin key: rust-tools-002 - name: Install svd2rust if: steps.cache-cargo.outputs.cache-hit != 'true' uses: actions-rs/install@v0.1 with: crate: svd2rust version: 0.19.0 - name: Install cargo-form if: steps.cache-cargo.outputs.cache-hit != 'true' uses: actions-rs/install@v0.1 with: crate: form version: 0.8.0 - name: Install atdf2svd if: steps.cache-cargo.outputs.cache-hit != 'true' uses: actions-rs/install@v0.1 with: crate: atdf2svd version: 0.3.1 - name: Copy tools to cache directory if: steps.cache-cargo.outputs.cache-hit != 'true' run: | mkdir ~/cargo-bin cp ~/.cargo/bin/svd2rust ~/cargo-bin cp ~/.cargo/bin/form ~/cargo-bin cp ~/.cargo/bin/atdf2svd ~/cargo-bin - name: Put new cargo binary directory into path run: echo "$HOME/cargo-bin" >> $GITHUB_PATH - name: Install Nightly Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly-2022-06-13 override: true components: rustfmt # Actual test run - name: Generate chip description sources run: make RUSTUP_TOOLCHAIN=nightly-2022-06-13 - name: Test-compile the crate run: cargo check --all-features