diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 926cb65d8..72b03a091 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -251,9 +251,16 @@ jobs: - uses: actions/setup-python@v2 with: python-version: '3.x' + - name: Cache Linux toolchain + id: cache-linux + uses: actions/cache@v2 + with: + path: ./tools/dist + key: key-linux-toolchain - name: Boards.txt diff env: TRAVIS_BUILD_DIR: ${{ github.workspace }} TRAVIS_TAG: ${{ github.ref }} run: | bash ./tests/ci/build_boards.sh + bash ./tests/ci/eboot_test.sh diff --git a/tests/ci/eboot_test.sh b/tests/ci/eboot_test.sh new file mode 100644 index 000000000..0450b0335 --- /dev/null +++ b/tests/ci/eboot_test.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +READELF="$TRAVIS_BUILD_DIR/tools/xtensa-lx106-elf/bin/xtensa-lx106-elf-readelf" + +set -ev + +cd $TRAVIS_BUILD_DIR/tools +python3 get.py -q + +cd $TRAVIS_BUILD_DIR/bootloaders/eboot + +"$READELF" -x .data -x .text eboot.elf > git.txt +make clean +make +"$READELF" -x .data -x .text eboot.elf > build.txt +diff git.txt build.txt +if [ $? -ne 0 ]; then + echo ERROR: eboot.elf in repo does not match output from compile. + echo ERROR: Need to rebuild and check in updated eboot. + exit 1 +fi