Update CI script to be consistent with other branches

This commit is contained in:
Philipp Oppermann
2020-07-17 11:36:33 +02:00
parent 5dc842d05f
commit b276ec4765

View File

@@ -12,9 +12,8 @@ on:
pull_request: pull_request:
jobs: jobs:
test: check:
name: "Test" name: Check
strategy: strategy:
matrix: matrix:
platform: [ platform: [
@@ -22,55 +21,89 @@ jobs:
macos-latest, macos-latest,
windows-latest windows-latest
] ]
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
timeout-minutes: 15
steps: steps:
- name: "Checkout Repository" - name: Checkout Repository
uses: actions/checkout@v1 uses: actions/checkout@v2
- name: Install Rust Toolchain
- name: Install Rustup uses: actions-rs/toolchain@v1
run: | with:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly profile: minimal
echo ::add-path::$HOME/.cargo/bin toolchain: nightly
if: runner.os == 'macOS' - name: Install `rust-src` Rustup Component
run: rustup component add rust-src
- name: "Print Rust Version" - name: Run `cargo check`
run: | uses: actions-rs/cargo@v1
rustc -Vv with:
cargo -Vv command: check
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" - name: "Add thumbv7em-none-eabihf Target"
run: rustup target add thumbv7em-none-eabihf run: rustup target add thumbv7em-none-eabihf
- name: "Build for thumbv7em-none-eabihf" - name: "Build for thumbv7em-none-eabihf"
run: cargo build --target thumbv7em-none-eabihf run: cargo build --target thumbv7em-none-eabihf
- name: "Build for Linux" - name: "Build for Linux"
if: runner.os == 'Linux' if: runner.os == 'Linux'
run: cargo rustc -- -C link-arg=-nostartfiles run: cargo rustc -- -C link-arg=-nostartfiles
- name: "Build for macOS" - name: "Build for macOS"
if: runner.os == 'macOS' if: runner.os == 'macOS'
run: cargo rustc -- -C link-args="-e __start -static -nostartfiles" run: cargo rustc -- -C link-args="-e __start -static -nostartfiles"
- name: "Build for Windows" - name: "Build for Windows"
if: runner.os == 'Windows' if: runner.os == 'Windows'
run: cargo rustc -- -C link-args="/ENTRY:_start /SUBSYSTEM:console" run: cargo rustc -- -C link-args="/ENTRY:_start /SUBSYSTEM:console"
check_formatting: check_formatting:
name: "Check Formatting" name: Check Formatting
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 2
steps: steps:
- uses: actions/checkout@v1 - name: Checkout Repository
- name: "Use the latest Rust nightly with rustfmt" uses: actions/checkout@v2
- name: Install Rust Toolchain
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1
with: with:
toolchain: nightly
profile: minimal profile: minimal
toolchain: nightly
components: rustfmt components: rustfmt
override: true 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