aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cortex-m-rt/.github/bors.toml16
-rw-r--r--cortex-m-rt/.github/workflows/ci.yml39
-rw-r--r--cortex-m-rt/.github/workflows/clippy.yml20
-rw-r--r--cortex-m-rt/.github/workflows/rustfmt.yml23
-rw-r--r--cortex-m-rt/.travis.yml83
-rw-r--r--cortex-m-rt/build.rs15
-rwxr-xr-xcortex-m-rt/ci/install.sh19
-rw-r--r--cortex-m-rt/examples/data_overflow.rs4
-rw-r--r--cortex-m-rt/tests/compiletest.rs5
9 files changed, 111 insertions, 113 deletions
diff --git a/cortex-m-rt/.github/bors.toml b/cortex-m-rt/.github/bors.toml
index ca42be0..1972ab0 100644
--- a/cortex-m-rt/.github/bors.toml
+++ b/cortex-m-rt/.github/bors.toml
@@ -1,4 +1,18 @@
block_labels = ["needs-decision"]
delete_merged_branches = true
required_approvals = 1
-status = ["continuous-integration/travis-ci/push"]
+status = [
+ "ci-linux (stable, x86_64-unknown-linux-gnu)",
+ "ci-linux (stable, thumbv6m-none-eabi)",
+ "ci-linux (stable, thumbv7m-none-eabi)",
+ "ci-linux (stable, thumbv7em-none-eabi)",
+ "ci-linux (stable, thumbv7em-none-eabihf)",
+ "ci-linux (stable, thumbv8m.main-none-eabi)",
+ "ci-linux (1.39.0, x86_64-unknown-linux-gnu)",
+ "ci-linux (1.39.0, thumbv6m-none-eabi)",
+ "ci-linux (1.39.0, thumbv7m-none-eabi)",
+ "ci-linux (1.39.0, thumbv7em-none-eabi)",
+ "ci-linux (1.39.0, thumbv7em-none-eabihf)",
+ "ci-linux (1.39.0, thumbv8m.main-none-eabi)",
+ "Rustfmt"
+]
diff --git a/cortex-m-rt/.github/workflows/ci.yml b/cortex-m-rt/.github/workflows/ci.yml
new file mode 100644
index 0000000..6905827
--- /dev/null
+++ b/cortex-m-rt/.github/workflows/ci.yml
@@ -0,0 +1,39 @@
+on:
+ push:
+ branches: [ staging, trying, master ]
+ pull_request:
+
+name: Continuous integration
+
+jobs:
+ ci-linux:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ # All generated code should be running on stable now
+ rust: [nightly, stable, 1.39.0]
+
+ # The default target we're compiling on and for
+ TARGET: [x86_64-unknown-linux-gnu, thumbv6m-none-eabi, thumbv7m-none-eabi, thumbv7em-none-eabi, thumbv7em-none-eabihf, thumbv8m.main-none-eabi]
+
+ include:
+ # Nightly is only for reference and allowed to fail
+ - rust: nightly
+ experimental: true
+
+ steps:
+ - uses: fiam/arm-none-eabi-gcc@v1
+ with:
+ release: '7-2018-q2'
+ - uses: actions/checkout@v2
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: ${{ matrix.rust }}
+ target: ${{ matrix.TARGET }}
+ override: true
+ components: rustfmt
+ - name: Install qemu
+ run: sudo apt-get install qemu-system-arm
+ - name: Run CI script for ${{ matrix.TARGET }} under ${{ matrix.rust }}
+ run: TARGET=${{ matrix.TARGET }} TRAVIS_RUST_VERSION=${{ matrix.rust }} bash ci/script.sh
diff --git a/cortex-m-rt/.github/workflows/clippy.yml b/cortex-m-rt/.github/workflows/clippy.yml
new file mode 100644
index 0000000..adc3a6e
--- /dev/null
+++ b/cortex-m-rt/.github/workflows/clippy.yml
@@ -0,0 +1,20 @@
+on:
+ push:
+ branches: [ staging, trying, master ]
+ pull_request:
+
+name: Clippy check
+jobs:
+ clippy_check:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: stable
+ override: true
+ components: clippy
+ - uses: actions-rs/clippy-check@v1
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/cortex-m-rt/.github/workflows/rustfmt.yml b/cortex-m-rt/.github/workflows/rustfmt.yml
new file mode 100644
index 0000000..9a55c00
--- /dev/null
+++ b/cortex-m-rt/.github/workflows/rustfmt.yml
@@ -0,0 +1,23 @@
+on:
+ push:
+ branches: [ staging, trying, master ]
+ pull_request:
+
+name: Code formatting check
+
+jobs:
+ fmt:
+ name: Rustfmt
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: stable
+ override: true
+ components: rustfmt
+ - uses: actions-rs/cargo@v1
+ with:
+ command: fmt
+ args: --all -- --check
diff --git a/cortex-m-rt/.travis.yml b/cortex-m-rt/.travis.yml
deleted file mode 100644
index 4043e4a..0000000
--- a/cortex-m-rt/.travis.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-language: rust
-
-matrix:
- allow_failures:
- - rust: nightly
- include:
- # MSRV 1.39.0 #############################################################
- - env: TARGET=x86_64-unknown-linux-gnu
- rust: 1.39.0
-
- - env: TARGET=thumbv6m-none-eabi
- rust: 1.39.0
-
- - env: TARGET=thumbv7m-none-eabi
- rust: 1.39.0
-
- - env: TARGET=thumbv7em-none-eabi
- rust: 1.39.0
-
- - env: TARGET=thumbv7em-none-eabihf
- rust: 1.39.0
-
- - env: TARGET=thumbv8m.main-none-eabi
- rust: 1.39.0
-
- # Stable ##################################################################
- - env: TARGET=x86_64-unknown-linux-gnu
- rust: stable
-
- - env: TARGET=thumbv6m-none-eabi
- rust: stable
-
- - env: TARGET=thumbv7m-none-eabi
- rust: stable
-
- - env: TARGET=thumbv7em-none-eabi
- rust: stable
-
- - env: TARGET=thumbv7em-none-eabihf
- rust: stable
-
- - env: TARGET=thumbv8m.main-none-eabi
- rust: stable
-
- # Nightly #################################################################
- - env: TARGET=x86_64-unknown-linux-gnu
- rust: nightly
-
- - env: TARGET=thumbv6m-none-eabi
- rust: nightly
-
- - env: TARGET=thumbv7m-none-eabi
- rust: nightly
-
- - env: TARGET=thumbv7em-none-eabi
- rust: nightly
-
- - env: TARGET=thumbv7em-none-eabihf
- rust: nightly
-
- - env: TARGET=thumbv8m.main-none-eabi
- rust: nightly
-
-before_install: set -e
-
-install:
- - bash ci/install.sh
- - export PATH="$PATH:$PWD/gcc/bin:$PWD/qemu"
-
-script:
- - bash ci/script.sh
-
-after_script: set +e
-
-branches:
- only:
- - master
- - staging
- - trying
-
-notifications:
- email:
- on_success: never
diff --git a/cortex-m-rt/build.rs b/cortex-m-rt/build.rs
index 87f000a..67cdfab 100644
--- a/cortex-m-rt/build.rs
+++ b/cortex-m-rt/build.rs
@@ -13,7 +13,8 @@ fn main() {
fs::copy(
format!("bin/{}.a", target),
out_dir.join("libcortex-m-rt.a"),
- ).unwrap();
+ )
+ .unwrap();
println!("cargo:rustc-link-lib=static=cortex-m-rt");
}
@@ -34,7 +35,8 @@ fn main() {
/* Provides weak aliases (cf. PROVIDED) for device specific interrupt handlers */
/* This will usually be provided by a device crate generated using svd2rust (see `device.x`) */
INCLUDE device.x"#
- ).unwrap();
+ )
+ .unwrap();
f
} else {
let mut f = File::create(out.join("link.x")).unwrap();
@@ -55,9 +57,9 @@ INCLUDE device.x"#
println!("cargo:rustc-cfg=armv8m");
240
} else {
- // Non ARM target. We assume you're just testing the syntax.
- // This value seems as soon as any
- 240
+ // Non ARM target. We assume you're just testing the syntax.
+ // This value seems as soon as any
+ 240
};
// checking the size of the interrupts portion of the vector table is sub-architecture dependent
@@ -71,7 +73,8 @@ handlers.");
"#,
max_int_handlers * 4 + 0x40,
max_int_handlers
- ).unwrap();
+ )
+ .unwrap();
println!("cargo:rustc-link-search={}", out.display());
diff --git a/cortex-m-rt/ci/install.sh b/cortex-m-rt/ci/install.sh
deleted file mode 100755
index 2086800..0000000
--- a/cortex-m-rt/ci/install.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env bash
-
-set -euxo pipefail
-
-main() {
- if [ "$TARGET" != x86_64-unknown-linux-gnu ]; then
- rustup target add "$TARGET"
- fi
-
- mkdir gcc
-
- curl -L https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2018q2/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2?revision=bc2c96c0-14b5-4bb4-9f18-bceb4050fee7?product=GNU%20Arm%20Embedded%20Toolchain,64-bit,,Linux,7-2018-q2-update | tar --strip-components=1 -C gcc -xj
-
- mkdir qemu
- curl -L https://github.com/japaric/qemu-bin/raw/master/14.04/qemu-system-arm-2.12.0 > qemu/qemu-system-arm
- chmod +x qemu/qemu-system-arm
-}
-
-main
diff --git a/cortex-m-rt/examples/data_overflow.rs b/cortex-m-rt/examples/data_overflow.rs
index ea48b23..a84ec12 100644
--- a/cortex-m-rt/examples/data_overflow.rs
+++ b/cortex-m-rt/examples/data_overflow.rs
@@ -13,11 +13,11 @@ use core::ptr;
use rt::entry;
// This large static array uses most of .rodata
-static RODATA: [u8; 48*1024] = [1u8; 48*1024];
+static RODATA: [u8; 48 * 1024] = [1u8; 48 * 1024];
// This large mutable array causes .data to use the rest of FLASH
// without also overflowing RAM.
-static mut DATA: [u8; 16*1024] = [1u8; 16*1024];
+static mut DATA: [u8; 16 * 1024] = [1u8; 16 * 1024];
#[entry]
fn main() -> ! {
diff --git a/cortex-m-rt/tests/compiletest.rs b/cortex-m-rt/tests/compiletest.rs
index 82dda07..ba2ef73 100644
--- a/cortex-m-rt/tests/compiletest.rs
+++ b/cortex-m-rt/tests/compiletest.rs
@@ -8,8 +8,9 @@ fn run_mode(mode: &'static str) {
config.mode = mode.parse().expect("Invalid mode");
config.src_base = PathBuf::from(format!("tests/{}", mode));
// config.link_deps(); // Populate config.target_rustcflags with dependencies on the path
- config.target_rustcflags =
- Some("-L target/debug -L target/debug/deps -C panic=abort --cfg feature=\"device\"".to_owned());
+ config.target_rustcflags = Some(
+ "-L target/debug -L target/debug/deps -C panic=abort --cfg feature=\"device\"".to_owned(),
+ );
// config.clean_rmeta(); // If your tests import the parent crate, this helps with E0464
compiletest::run_tests(&config);