Try to gracefully handle FLASH operations queue becoming full, instead of silently failing and allow OTA DFU process to be recoverable, in case of a communication error in the DUAL_BANK configuration #607
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
| name: Build | |
| on: | |
| pull_request: | |
| push: | |
| repository_dispatch: | |
| release: | |
| types: | |
| - created | |
| jobs: | |
| set-matrix: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| matrix: ${{ steps.set-matrix.outputs.matrix }} | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: Set matrix | |
| id: set-matrix | |
| working-directory: src/boards | |
| run: | | |
| MATRIX_JSON=$(ls -d */ | sed 's/\/$//' | jq -R -s -c 'split("\n")[:-1]') | |
| echo "matrix=$MATRIX_JSON" | |
| echo "matrix=$MATRIX_JSON" >> $GITHUB_OUTPUT | |
| build: | |
| needs: set-matrix | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| board: ${{ fromJSON(needs.set-matrix.outputs.matrix) }} | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| submodules: true | |
| - name: Install ARM GCC | |
| uses: carlosperate/arm-none-eabi-gcc-action@v1 | |
| with: | |
| release: '12.3.Rel1' | |
| - name: Install Tools | |
| run: | | |
| pip3 install adafruit-nrfutil uritemplate requests intelhex setuptools | |
| - name: Build | |
| run: | | |
| make BOARD=${{ matrix.board }} all | |
| make BOARD=${{ matrix.board }} copy-artifact | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.board }} | |
| path: _bin/${{ matrix.board }} | |
| - name: Upload Release Asset | |
| uses: softprops/action-gh-release@v1 | |
| if: ${{ github.event_name == 'release' }} | |
| with: | |
| files: | | |
| _bin/${{ matrix.board }}/${{ matrix.board }}_bootloader-*.zip | |
| _bin/${{ matrix.board }}/${{ matrix.board }}_bootloader-*.hex | |
| _bin/${{ matrix.board }}/update-${{ matrix.board }}_bootloader-*.uf2 |