From b276ec476543594e5072ccc4d0a545d2785bcbc3 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Fri, 17 Jul 2020 11:36:33 +0200 Subject: [PATCH] Update CI script to be consistent with other branches --- .github/workflows/build-code.yml | 121 ++++++++++++++++++++----------- 1 file changed, 77 insertions(+), 44 deletions(-) diff --git a/.github/workflows/build-code.yml b/.github/workflows/build-code.yml index af4adc1c..219ffd97 100644 --- a/.github/workflows/build-code.yml +++ b/.github/workflows/build-code.yml @@ -12,9 +12,8 @@ on: pull_request: jobs: - test: - name: "Test" - + check: + name: Check strategy: matrix: platform: [ @@ -22,55 +21,89 @@ jobs: macos-latest, windows-latest ] - runs-on: ${{ matrix.platform }} - timeout-minutes: 15 - steps: - - name: "Checkout Repository" - uses: actions/checkout@v1 + - name: Checkout Repository + uses: actions/checkout@v2 + - name: Install Rust Toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: nightly + - name: Install `rust-src` Rustup Component + run: rustup component add rust-src + - name: Run `cargo check` + uses: actions-rs/cargo@v1 + with: + command: check - - name: Install Rustup - run: | - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly - echo ::add-path::$HOME/.cargo/bin - if: runner.os == 'macOS' - - - name: "Print Rust Version" - run: | - rustc -Vv - cargo -Vv - - - name: "Add thumbv7em-none-eabihf Target" + test: + name: Test + strategy: + matrix: + platform: [ + ubuntu-latest, + macos-latest, + windows-latest + ] + runs-on: ${{ matrix.platform }} + steps: + - name: Install Rust Toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: nightly + - name: Install bootimage + run: cargo install bootimage --debug + - name: Checkout Repository + uses: actions/checkout@v2 + - name: "Add thumbv7em-none-eabihf Target" run: rustup target add thumbv7em-none-eabihf - - - name: "Build for thumbv7em-none-eabihf" - run: cargo build --target thumbv7em-none-eabihf - - - name: "Build for Linux" - if: runner.os == 'Linux' - run: cargo rustc -- -C link-arg=-nostartfiles - - - name: "Build for macOS" - if: runner.os == 'macOS' - run: cargo rustc -- -C link-args="-e __start -static -nostartfiles" - - - name: "Build for Windows" - if: runner.os == 'Windows' - run: cargo rustc -- -C link-args="/ENTRY:_start /SUBSYSTEM:console" - + - name: "Build for thumbv7em-none-eabihf" + run: cargo build --target thumbv7em-none-eabihf + - name: "Build for Linux" + if: runner.os == 'Linux' + run: cargo rustc -- -C link-arg=-nostartfiles + - name: "Build for macOS" + if: runner.os == 'macOS' + run: cargo rustc -- -C link-args="-e __start -static -nostartfiles" + - name: "Build for Windows" + if: runner.os == 'Windows' + run: cargo rustc -- -C link-args="/ENTRY:_start /SUBSYSTEM:console" check_formatting: - name: "Check Formatting" + name: Check Formatting runs-on: ubuntu-latest - timeout-minutes: 2 steps: - - uses: actions/checkout@v1 - - name: "Use the latest Rust nightly with rustfmt" - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly + - name: Checkout Repository + uses: actions/checkout@v2 + - name: Install Rust Toolchain + uses: actions-rs/toolchain@v1 + with: profile: minimal + toolchain: nightly components: rustfmt override: true - - run: cargo fmt -- --check + - name: Run `cargo fmt` + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check + + clippy: + name: Clippy + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + - name: Install Rust Toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: nightly + components: clippy, rust-src + override: true + - name: Run `cargo clippy` + uses: actions-rs/cargo@v1 + with: + command: clippy