From 985a467d797380cdd17bb31d069706d549ba9c9b Mon Sep 17 00:00:00 2001 From: Alistair Francis Date: Thu, 25 Jun 2020 09:17:13 -0700 Subject: [PATCH] .github: Build artifacts as part of workflow Signed-off-by: Alistair Francis --- .github/workflows/artifacts.yml | 53 +++++++++++++++++++++++++++++++++ tools/flash.sh | 5 ++++ 2 files changed, 58 insertions(+) create mode 100644 .github/workflows/artifacts.yml diff --git a/.github/workflows/artifacts.yml b/.github/workflows/artifacts.yml new file mode 100644 index 000000000..3617c11ac --- /dev/null +++ b/.github/workflows/artifacts.yml @@ -0,0 +1,53 @@ +name: Artifacts +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Install Rust toolchain + uses: actions-rs/toolchain@v1.0.6 + with: + profile: minimal + + - name: Install dependencies + run: | + rustup target add thumbv7em-none-eabi + rustup target add riscv32imac-unknown-none-elf + rustup target add riscv32imc-unknown-none-elf + cargo install elf2tab --version 0.4.0 + + - name: Build Hello World + run: | + FEATURES="alloc" make flash-apollo3 EXAMPLE=hello_world -j2 + FEATURES="alloc" make flash-hail EXAMPLE=hello_world -j2 + FEATURES="alloc" make flash-nucleo_f429zi EXAMPLE=hello_world -j2 + FEATURES="alloc" make flash-nucleo_f446re EXAMPLE=hello_world -j2 + FEATURES="alloc" make flash-nrf52840 EXAMPLE=hello_world -j2 + FEATURES="alloc" make flash-opentitan EXAMPLE=hello_world -j2 + FEATURES="alloc" make flash-hifive1 EXAMPLE=hello_world -j2 + FEATURES="alloc" make flash-nrf52 EXAMPLE=hello_world -j2 + + - name: Build libtock-test + run: | + FEATURES="alloc" make flash-apollo3 EXAMPLE=libtock_test -j2 + FEATURES="alloc" make flash-hail EXAMPLE=libtock_test -j2 + FEATURES="alloc" make flash-nucleo_f429zi EXAMPLE=libtock_test -j2 + FEATURES="alloc" make flash-nucleo_f446re EXAMPLE=libtock_test -j2 + FEATURES="alloc" make flash-nrf52840 EXAMPLE=libtock_test -j2 + FEATURES="alloc" make flash-opentitan EXAMPLE=libtock_test -j2 + FEATURES="alloc" make flash-hifive1 EXAMPLE=libtock_test -j2 + FEATURES="alloc" make flash-nrf52 EXAMPLE=libtock_test -j2 + + - name: Build extra tests + run: | + FEATURES="alloc" make flash-opentitan EXAMPLE=hmac -j2 + + - name: Archive artifacts + uses: actions/upload-artifact@v2 + with: + name: libtock-rs examples + path: target/*/tab/*/*/*.tbf diff --git a/tools/flash.sh b/tools/flash.sh index 1a7d74c5e..125a91cc7 100755 --- a/tools/flash.sh +++ b/tools/flash.sh @@ -65,5 +65,10 @@ if [ $tockload == "n" ]; then exit 0 fi +if ! [ -x "$(command -v tockloader)" ]; then + echo "Skipping flashing as tockloader isn't installed" + exit 0 +fi + tockloader uninstall ${tockloader_flags} || true tockloader install ${tockloader_flags} "${tab_file_name}"