name: Build on: pull_request: 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]') MATRIX_JSON=$(ls -d promicro_nrf52840 | 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=promicro_nrf52840 all make BOARD=promicro_nrf52840 copy-artifact # 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 with: files: | _bin/promicro_nrf52840/promicro_nrf52840_bootloader-*.zip _bin/promicro_nrf52840/promicro_nrf52840_bootloader-*.hex _bin/promicro_nrf52840/update-promicro_nrf52840_bootloader-*.uf2