Target: pimoroni_plasma2350 #204
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: HyperSerialPico CI Build | |
| on: [push] | |
| jobs: | |
| ########################### | |
| #### HyperSerialPico ###### | |
| ########################### | |
| HyperSerialPico: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| with: | |
| submodules: recursive | |
| - name: Install GNU Arm Embedded Toolchain | |
| uses: carlosperate/arm-none-eabi-gcc-action@v1 | |
| with: | |
| release: '14.2.Rel1' | |
| - name: Build packages | |
| shell: bash | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake .. | |
| cmake --build . --config Release | |
| - uses: actions/upload-artifact@v7.0.0 | |
| name: Upload artifacts (release) | |
| with: | |
| name: firmware-release-generic-RP2040 | |
| path: | | |
| firmware/*.uf2 | |
| - name: Build packages for generic RP2350 | |
| shell: bash | |
| run: | | |
| cd build | |
| rm -rf * | |
| rm -rf ../firmware/* | |
| cmake -DTARGET_BOARD=pico2 -DCMAKE_BUILD_TYPE=Release .. | |
| cmake --build . | |
| zip -j ../firmware/firmware_generic_RP2350.zip ../firmware/* | |
| - uses: actions/upload-artifact@v7.0.0 | |
| name: Upload artifacts (release generic RP2350) | |
| with: | |
| name: firmware-release-generic-RP2350 | |
| archive: false | |
| path: | | |
| firmware/*.zip | |
| - name: Build packages for Adafruit Feather RP2040 Scorpio | |
| shell: bash | |
| run: | | |
| cd build | |
| rm -rf * | |
| rm -rf ../firmware/* | |
| echo "Neopixel is using GPIO16(OUTPUT_DATA_PIN) on output 0." > ../firmware/Pinout_for_Adafruit_Feather_RP2040_Scorpio.txt | |
| echo "SPI is using spi0 interface pins: GPIO19(OUTPUT_SPI_DATA_PIN) and GPIO18(OUTPUT_SPI_CLOCK_PIN) on output 3 and 2 respectively." >> ../firmware/Pinout_for_Adafruit_Feather_RP2040_Scorpio.txt | |
| cmake -DOVERRIDE_BOOT_WORKAROUND=ON -DOVERRIDE_DATA_PIN=16 -DOVERRIDE_SPI_DATA_PIN=19 -DOVERRIDE_SPI_CLOCK_PIN=18 -DCMAKE_BUILD_TYPE=Release .. | |
| cmake --build . | |
| zip -j ../firmware/Adafruit_Feather_RP2040_Scorpio.zip ../firmware/* | |
| - uses: actions/upload-artifact@v7.0.0 | |
| name: Upload artifacts (release for Adafruit_Feather_RP2040) | |
| with: | |
| name: firmware-release-adafruit-scorpio-RP2040 | |
| archive: false | |
| path: | | |
| firmware/*.zip | |
| - name: Build packages for Adafruit ItsyBitsy RP2040 | |
| shell: bash | |
| run: | | |
| cd build | |
| rm -rf * | |
| rm -rf ../firmware/* | |
| echo "Neopixel is using GPIO14(OUTPUT_DATA_PIN) on output 5." > ../firmware/Pinout_for_Adafruit_ItsyBitsy_RP2040.txt | |
| cmake -DOVERRIDE_BOOT_WORKAROUND=ON -DOVERRIDE_DATA_PIN=14 -DCMAKE_BUILD_TYPE=Release .. | |
| cmake --build . | |
| rm ../firmware/*_Spi.uf2 | |
| zip -j ../firmware/Adafruit_ItsyBitsy_RP2040.zip ../firmware/* | |
| - uses: actions/upload-artifact@v7.0.0 | |
| name: Upload artifacts (release for Adafruit_ItsyBitsy_RP2040) | |
| with: | |
| name: firmware-release-adafruit-itsybitsy-RP2040 | |
| archive: false | |
| path: | | |
| firmware/*.zip | |
| - name: Build packages for Pimoroni Plasma Stick RP2040 W | |
| shell: bash | |
| run: | | |
| cd build | |
| rm -rf * | |
| rm -rf ../firmware/* | |
| echo "Neopixel is using GPIO15(OUTPUT_DATA_PIN) on output PIXELS." > ../firmware/Pinout_for_Pimoroni_Plasma_Stick_RP2040_W.txt | |
| cmake -DOVERRIDE_DATA_PIN=15 -DCMAKE_BUILD_TYPE=Release .. | |
| cmake --build . | |
| rm ../firmware/*_Spi.uf2 | |
| zip -j ../firmware/Pimoroni_Plasma_Stick_RP2040_W.zip ../firmware/* | |
| - uses: actions/upload-artifact@v7.0.0 | |
| name: Upload artifacts (release for Pimoroni_Plasma_Stick_RP2040_W) | |
| with: | |
| name: firmware-release-pimoroni-plasma-stick-RP2040-W | |
| archive: false | |
| path: | | |
| firmware/*.zip | |
| - name: Build packages for Pimoroni Plasma 2040 | |
| shell: bash | |
| run: | | |
| cd build | |
| rm -rf * | |
| rm -rf ../firmware/* | |
| echo "Neopixel is using GPIO15(OUTPUT_DATA_PIN) on output DA." > ../firmware/Pinout_for_Pimoroni_Plasma_RP2040.txt | |
| echo "SPI is using spi1 interface pins: GPIO15(OUTPUT_SPI_DATA_PIN) and GPIO14(OUTPUT_SPI_CLOCK_PIN) on output DA and CL respectively." >> ../firmware/Pinout_for_Pimoroni_Plasma_RP2040.txt | |
| cmake -DOVERRIDE_DATA_PIN=15 -DOVERRIDE_SPI_INTERFACE=spi1 -DOVERRIDE_SPI_DATA_PIN=15 -DOVERRIDE_SPI_CLOCK_PIN=14 -DCMAKE_BUILD_TYPE=Release .. | |
| cmake --build . | |
| zip -j ../firmware/Pimoroni_Plasma_RP2040.zip ../firmware/* | |
| - uses: actions/upload-artifact@v7.0.0 | |
| name: Upload artifacts (release for Pimoroni_Plasma_RP2040) | |
| with: | |
| name: firmware-release-pimoroni-plasma-RP2040 | |
| archive: false | |
| path: | | |
| firmware/*.zip | |
| - name: Build packages for Pimoroni Plasma RP2350 | |
| shell: bash | |
| run: | | |
| cd build | |
| rm -rf * | |
| rm -rf ../firmware/* | |
| echo "Neopixel is using GPIO15(OUTPUT_DATA_PIN) on output DA." > ../firmware/Pinout_for_Pimoroni_Plasma_RP2350.txt | |
| echo "SPI is using spi1 interface pins: GPIO15(OUTPUT_SPI_DATA_PIN) and GPIO14(OUTPUT_SPI_CLOCK_PIN) on output DA and CL respectively." >> ../firmware/Pinout_for_Pimoroni_Plasma_RP2350.txt | |
| cmake -DTARGET_BOARD=pimoroni_plasma2350 -DOVERRIDE_DATA_PIN=15 -DOVERRIDE_SPI_INTERFACE=spi1 -DOVERRIDE_SPI_DATA_PIN=15 -DOVERRIDE_SPI_CLOCK_PIN=14 -DCMAKE_BUILD_TYPE=Release .. | |
| cmake --build . | |
| zip -j ../firmware/Pimoroni_Plasma_RP2350.zip ../firmware/* | |
| - uses: actions/upload-artifact@v7.0.0 | |
| name: Upload artifacts (release for Pimoroni_Plasma_RP2350) | |
| with: | |
| name: firmware-release-pimoroni-plasma-RP2350 | |
| archive: false | |
| path: | | |
| firmware/*.zip | |
| ################################ | |
| ###### Publish Releases ######## | |
| ################################ | |
| publish: | |
| name: Publish Releases | |
| if: startsWith(github.event.ref, 'refs/tags') | |
| needs: [HyperSerialPico] | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: write | |
| steps: | |
| # generate environment variables | |
| - name: Generate environment variables from version and tag | |
| run: | | |
| echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV | |
| echo "preRelease=false" >> $GITHUB_ENV | |
| # If version contains alpha or beta, mark draft release as pre-release | |
| - name: Mark release as pre-release | |
| if: contains(env.VERSION, 'alpha') || contains(env.VERSION, 'beta') | |
| run: echo "preRelease=true" >> $GITHUB_ENV | |
| - uses: actions/download-artifact@v8.0.0 | |
| with: | |
| pattern: firmware-release-* | |
| merge-multiple: true | |
| # create draft release and upload artifacts | |
| - name: Create draft release | |
| uses: softprops/action-gh-release@v2.5.0 | |
| with: | |
| name: HyperSerialPico ${{ env.VERSION }} | |
| tag_name: ${{ env.TAG }} | |
| files: | | |
| *.uf2 | |
| *.zip | |
| draft: true | |
| prerelease: ${{ env.preRelease }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |