aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/ci.yml4
-rw-r--r--.github/workflows/clippy.yml1
-rw-r--r--.github/workflows/cron.yml45
-rw-r--r--.github/workflows/rt-ci.yml87
4 files changed, 135 insertions, 2 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 8600054..3d65b0f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -3,7 +3,7 @@ on:
branches: [ staging, trying, master ]
pull_request:
-name: CI
+name: cortex-m CI
jobs:
ci-linux:
@@ -29,6 +29,6 @@ jobs:
toolchain: ${{ matrix.rust }}
override: true
- name: Run tests
- run: cargo test --all
+ run: cargo test --all --exclude cortex-m-rt
# FIXME: test on macOS and Windows
diff --git a/.github/workflows/clippy.yml b/.github/workflows/clippy.yml
index d55d697..5a76037 100644
--- a/.github/workflows/clippy.yml
+++ b/.github/workflows/clippy.yml
@@ -23,3 +23,4 @@ jobs:
- uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
+ args: --all
diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml
index bc31bb2..d765dba 100644
--- a/.github/workflows/cron.yml
+++ b/.github/workflows/cron.yml
@@ -28,3 +28,48 @@ jobs:
https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ rt-ci-linux:
+ runs-on: ubuntu-20.04
+ continue-on-error: ${{ matrix.experimental || false }}
+ defaults:
+ run:
+ working-directory: cortex-m-rt
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: stable
+ override: true
+ - name: Install all Rust targets for stable
+ run: rustup target install --toolchain=stable thumbv6m-none-eabi thumbv7m-none-eabi thumbv7em-none-eabi thumbv7em-none-eabihf thumbv8m.base-none-eabi thumbv8m.main-none-eabi thumbv8m.main-none-eabihf
+ - name: Install qemu and gcc
+ run: sudo apt-get update && sudo apt-get install qemu-system-arm gcc-arm-none-eabi
+ - name: Run CI script for x86_64-unknown-linux-gnu under stable
+ run: TARGET=x86_64-unknown-linux-gnu TRAVIS_RUST_VERSION=stable bash ci/script.sh
+ - name: Run CI script for thumbv6m-none-eabi under stable
+ run: TARGET=thumbv6m-none-eabi TRAVIS_RUST_VERSION=stable bash ci/script.sh
+ - name: Run CI script for thumbv7m-none-eabi under stable
+ run: TARGET=thumbv7m-none-eabi TRAVIS_RUST_VERSION=stable bash ci/script.sh
+ - name: Run CI script for thumbv7em-none-eabi under stable
+ run: TARGET=thumbv7em-none-eabi TRAVIS_RUST_VERSION=stable bash ci/script.sh
+ - name: Run CI script for thumbv7em-none-eabihf under stable
+ run: TARGET=thumbv7em-none-eabihf TRAVIS_RUST_VERSION=stable bash ci/script.sh
+ - name: Run CI script for thumbv8m.base-none-eabi under stable
+ run: TARGET=thumbv8m.base-none-eabi TRAVIS_RUST_VERSION=stable bash ci/script.sh
+ - name: Run CI script for thumbv8m.main-none-eabi under stable
+ run: TARGET=thumbv8m.main-none-eabi TRAVIS_RUST_VERSION=stable bash ci/script.sh
+ - name: Run CI script for thumbv8m.main-none-eabihf under stable
+ run: TARGET=thumbv8m.main-none-eabihf TRAVIS_RUST_VERSION=stable bash ci/script.sh
+ - uses: imjohnbo/issue-bot@v2
+ if: failure()
+ with:
+ title: CI Failure
+ labels: ci
+ body: |
+ Scheduled CI run failed. Details:
+
+ https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/rt-ci.yml b/.github/workflows/rt-ci.yml
new file mode 100644
index 0000000..0e48b6b
--- /dev/null
+++ b/.github/workflows/rt-ci.yml
@@ -0,0 +1,87 @@
+on:
+ push:
+ branches: [ staging, trying, master ]
+ pull_request:
+
+name: cortex-m-rt CI
+
+jobs:
+ rt-ci-linux:
+ runs-on: ubuntu-20.04
+ continue-on-error: ${{ matrix.experimental || false }}
+ strategy:
+ matrix:
+ # All generated code should be running on stable now
+ rust: [nightly, stable, 1.40.0]
+
+ include:
+ # Nightly is only for reference and allowed to fail
+ - rust: nightly
+ experimental: true
+ defaults:
+ run:
+ working-directory: cortex-m-rt
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: ${{ matrix.rust }}
+ override: true
+ - name: Install all Rust targets for ${{ matrix.rust }}
+ run: rustup target install --toolchain=${{ matrix.rust }} thumbv6m-none-eabi thumbv7m-none-eabi thumbv7em-none-eabi thumbv7em-none-eabihf thumbv8m.base-none-eabi thumbv8m.main-none-eabi thumbv8m.main-none-eabihf
+ - name: Install qemu and gcc
+ run: sudo apt-get update && sudo apt-get install qemu-system-arm gcc-arm-none-eabi
+ - name: Run CI script for x86_64-unknown-linux-gnu under ${{ matrix.rust }}
+ run: TARGET=x86_64-unknown-linux-gnu TRAVIS_RUST_VERSION=${{ matrix.rust }} bash ci/script.sh
+ - name: Run CI script for thumbv6m-none-eabi under ${{ matrix.rust }}
+ run: TARGET=thumbv6m-none-eabi TRAVIS_RUST_VERSION=${{ matrix.rust }} bash ci/script.sh
+ - name: Run CI script for thumbv7m-none-eabi under ${{ matrix.rust }}
+ run: TARGET=thumbv7m-none-eabi TRAVIS_RUST_VERSION=${{ matrix.rust }} bash ci/script.sh
+ - name: Run CI script for thumbv7em-none-eabi under ${{ matrix.rust }}
+ run: TARGET=thumbv7em-none-eabi TRAVIS_RUST_VERSION=${{ matrix.rust }} bash ci/script.sh
+ - name: Run CI script for thumbv7em-none-eabihf under ${{ matrix.rust }}
+ run: TARGET=thumbv7em-none-eabihf TRAVIS_RUST_VERSION=${{ matrix.rust }} bash ci/script.sh
+ - name: Run CI script for thumbv8m.base-none-eabi under ${{ matrix.rust }}
+ run: TARGET=thumbv8m.base-none-eabi TRAVIS_RUST_VERSION=${{ matrix.rust }} bash ci/script.sh
+ - name: Run CI script for thumbv8m.main-none-eabi under ${{ matrix.rust }}
+ run: TARGET=thumbv8m.main-none-eabi TRAVIS_RUST_VERSION=${{ matrix.rust }} bash ci/script.sh
+ - name: Run CI script for thumbv8m.main-none-eabihf under ${{ matrix.rust }}
+ run: TARGET=thumbv8m.main-none-eabihf TRAVIS_RUST_VERSION=${{ matrix.rust }} bash ci/script.sh
+
+ # On macOS and Windows, we at least make sure that all examples build and link.
+ rt-ci-other-os:
+ strategy:
+ matrix:
+ os:
+ - macOS-latest
+ - windows-latest
+ runs-on: ${{ matrix.os }}
+ defaults:
+ run:
+ working-directory: cortex-m-rt
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: stable
+ override: true
+ - name: Install all Rust targets
+ run: rustup target install thumbv6m-none-eabi thumbv7m-none-eabi thumbv7em-none-eabi thumbv7em-none-eabihf thumbv8m.base-none-eabi thumbv8m.main-none-eabi thumbv8m.main-none-eabihf
+ - name: Build examples for thumbv6m-none-eabi
+ run: cargo build --target=thumbv6m-none-eabi --examples
+ - name: Build examples for thumbv7m-none-eabi
+ run: cargo build --target=thumbv7m-none-eabi --examples
+ - name: Build examples for thumbv7em-none-eabi
+ run: cargo build --target=thumbv7em-none-eabi --examples
+ - name: Build examples for thumbv7em-none-eabihf
+ run: cargo build --target=thumbv7em-none-eabihf --examples
+ - name: Build examples for thumbv8m.base-none-eabi
+ run: cargo build --target=thumbv8m.base-none-eabi --examples
+ - name: Build examples for thumbv8m.main-none-eabi
+ run: cargo build --target=thumbv8m.main-none-eabi --examples
+ - name: Build examples for thumbv8m.main-none-eabihf
+ run: cargo build --target=thumbv8m.main-none-eabihf --examples
+ - name: Build crate for host OS
+ run: cargo build