Add SUIT manifest verify + process support (off by default) #5
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SUIT manifest support: build the WOLFBOOT_SUIT=1 sim and run the host tests. | |
| # A = author + verify + install + tamper (host), B/C = independent cross-check of | |
| # the frozen vector (cbor2 + cryptography). | |
| name: SUIT | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| suit: | |
| name: SUIT manifest verify + process | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y build-essential autoconf automake libtool \ | |
| python3 python3-pip | |
| - name: Checkout submodules (wolfCOSE + wolfSSL) | |
| run: git submodule update --init --depth 1 lib/wolfCOSE lib/wolfssl | |
| - name: Build sim with WOLFBOOT_SUIT=1 (lean verify-only wolfCOSE) | |
| run: | | |
| cp config/examples/sim.config .config | |
| make WOLFBOOT_SUIT=1 SIGN=ECC256 | |
| - name: Build host wolfSSL (ECC) for the host test | |
| run: | | |
| git clone --depth 1 https://github.com/wolfSSL/wolfssl.git | |
| cd wolfssl | |
| ./autogen.sh | |
| ./configure --enable-cryptonly --enable-ecc \ | |
| --prefix=$HOME/wolfssl-install | |
| make -j"$(nproc)" | |
| make install | |
| - name: A - host SUIT test (author + verify + install + tamper) | |
| run: WOLFSSL_DIR=$HOME/wolfssl-install ./tests/suit_host_test.sh | |
| - name: B/C - independent cross-check of the frozen vector | |
| run: | | |
| pip3 install --quiet cbor2 cryptography | |
| python3 tests/suit_cross_check.py |