Skip to content
5 changes: 4 additions & 1 deletion .github/bors.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
block_labels = ["needs-decision"]
delete_merged_branches = true
required_approvals = 1
status = ["continuous-integration/travis-ci/push"]
status = [
"build (stable)",
"build (1.51.0)",
]
116 changes: 116 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
name: CI

on:
push:
branches: [master, staging, trying]
pull_request:

jobs:
build:
runs-on: ubuntu-20.04

continue-on-error: ${{ matrix.experimental || false }}

strategy:
matrix:
rust:
- stable
- beta
- nightly
- 1.51.0 # Minimum supported rust version (MSRV)
include:
- rust: nightly
experimental: true

steps:
- uses: actions/checkout@v2

- name: Install Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
override: true
components: rustfmt, clippy, llvm-tools-preview
target: thumbv7m-none-eabi

- name: Install Python dependencies
run: |
pip3 install --user python-dateutil linkchecker

- name: Cache installed binaries
uses: actions/cache@v1
id: cache-bin
with:
path: ~/cache-bin
key: cache-bin

- name: Install mdbook
if: steps.cache-bin.outputs.cache-hit != 'true'
uses: actions-rs/install@v0.1
with:
crate: mdbook
version: latest

- name: Install cargo-binutils
if: steps.cache-bin.outputs.cache-hit != 'true'
uses: actions-rs/install@v0.1
with:
crate: cargo-binutils
version: latest

- name: Install arm-none-eabi-gcc and qemu
if: steps.cache-bin.outputs.cache-hit != 'true'
run: |
mkdir -p ~/cache-bin/arm_gcc
curl -L https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.07/gcc-arm-none-eabi-10.3-2021.07-x86_64-linux.tar.bz2 \
| tar --strip-components=1 -C ~/cache-bin/arm_gcc -xj

curl -L https://github.com/japaric/qemu-bin/raw/master/14.04/qemu-system-arm-2.12.0 \
> ~/cache-bin/qemu-system-arm
chmod a+x ~/cache-bin/qemu-system-arm

- name: Copy installed binaries to cache directory
if: steps.cache-bin.outputs.cache-hit != 'true'
run: |
cp ~/.cargo/bin/* ~/cache-bin

- name: Put new bin directory into path
run: |
echo "$HOME/cache-bin" >> $GITHUB_PATH
echo "$HOME/cache-bin/arm_gcc/bin" >> $GITHUB_PATH

- name: Test
run: bash ci/script.sh
env:
RUST_VERSION: ${{ matrix.rust }}

deploy:
runs-on: ubuntu-20.04

needs: [build]

if: github.event_name == 'push' && github.ref == 'refs/heads/master'

steps:
- uses: actions/checkout@v2

- name: Cache installed binaries
uses: actions/cache@v1
id: cache-bin
with:
path: ~/cache-bin
key: cache-bin

- name: Put new bin directory into path
run: echo "$HOME/cache-bin" >> $GITHUB_PATH

- name: Build the book
run: mdbook build

- name: Deploy book
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: book
force_orphan: true
30 changes: 0 additions & 30 deletions .travis.yml

This file was deleted.

19 changes: 8 additions & 11 deletions ci/asm/app/release.objdump
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@

app: file format ELF32-arm-little
app: file format elf32-littlearm


Disassembly of section .text:

HardFault:
<HardFault>:
b #-0x4 <HardFault>

main:
trap
<main>:
b #-0x4 <main>

Reset:
<Reset>:
push {r7, lr}
mov r7, sp
bl #-0xa
trap

DefaultExceptionHandler:
b #-0x4 <DefaultExceptionHandler>

UsageFault:
<unknown>
<UsageFault>:
b #-0x4 <UsageFault>

HardFaultTrampoline:
<HardFaultTrampoline>:
mrs r0, msp
b #-0x18 <HardFault>
2 changes: 1 addition & 1 deletion ci/asm/app/release.vector_table
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

app: file format ELF32-arm-little
app: file format elf32-littlearm

Contents of section .vector_table:
0000 00000120 45000000 4f000000 51000000 ... E...O...Q...
Expand Down
Loading