| name: Check Precompiled Binaries | |
| on: | |
| pull_request: | |
| paths: | |
| - 'enc_bootloader/**' | |
| - 'picoboot_flash_id/**' | |
| - 'xip_ram_perms/**' | |
| jobs: | |
| check-precompiled: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install dependencies (Linux) | |
| run: sudo apt install cmake ninja-build python3 build-essential gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib libusb-1.0-0-dev | |
| - name: Checkout Pico SDK | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: raspberrypi/pico-sdk | |
| ref: develop | |
| path: pico-sdk | |
| submodules: 'true' | |
| - name: Build and Install | |
| run: | | |
| cmake -S . -B build -G "Ninja" -D PICO_SDK_PATH="${{ github.workspace }}/pico-sdk" -D USE_PRECOMPILED=FALSE | |
| cmake --build build | |
| sudo cmake --install build | |
| - name: Check precompiled binaries have been updated | |
| run: | | |
| updated_files=$(curl -s -u "${{ github.repository_owner }}":"${{ github.token }}" -H "Accept: application/vnd.github.v3+json" "${{ github.event.pull_request._links.self.href }}/files") | |
| updated_files=$(jq -r '.[] | .filename' <<<"$updated_files") | |
| export updated_files | |
| echo "Updated files: $updated_files" | |
| ./.github/workflows/check_precompiled.sh | |
| - name: Upload new precompiled binaries | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: precompiled-binaries | |
| path: | | |
| enc_bootloader/enc_bootloader.elf | |
| enc_bootloader/enc_bootloader_mbedtls.elf | |
| picoboot_flash_id/flash_id.bin | |
| xip_ram_perms/xip_ram_perms.elf |