[ImgBot] Optimize Images (#1120) #124
This file contains 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: CMake | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
# pull_request_target: | |
# branches: [ "main" ] | |
workflow_dispatch: | |
env: | |
BUILD_TYPE: Release | |
jobs: | |
call-node-workflow: | |
uses: ./.github/workflows/node.js.yml | |
build: | |
needs: call-node-workflow | |
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. | |
# You can convert this to a matrix build if you need cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
GP2040_BOARDCONFIG: [ARCController, Blank, Pico, PicoW, BentoBox, ergoSHIFTRev2, FightboardV3, FightboardV3Mirrored, FlatboxRev4, FlatboxRev5, FlatboxRev5RGB, FlatboxRev5USBPassthrough, FlatboxRev5Southpaw, Granola, KB2040, KeyboardConverter, Haute42COSMOX, Liatris, MavercadeRev1, MavercadeRev2, MiSTercadeV2, OpenCore0, OpenCore0WASD, OSUMGP-RP2040, PicoAnn, PicoFightingBoard, PXPGamepad, RanaTadpole, ReflexCtrlGenesis6, ReflexCtrlNES, ReflexCtrlSaturn, ReflexCtrlSNES, ReflexCtrlVB, ReflexEncodeV1.2, ReflexEncodeV2.0, RP2040AdvancedBreakoutBoard, RP2040AdvancedBreakoutBoardUSBPassthrough, RP2040MiniBreakoutBoard, SparkFunProMicro, WaveshareZero, Stress, SGFDevices, ZeroRhythm] | |
steps: | |
#Global Setup | |
- name: Checkout GP2040-CE | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
fetch-tags: true | |
- name: Setup SDK pipeline | |
uses: Fortinbra/RaspberryPiPicoBuild@v3 | |
- name: Download a Build Artifact | |
uses: actions/[email protected] | |
with: | |
name: fsData | |
path: ${{github.workspace}}/lib/httpd/ | |
- name: Get core count | |
id: core_count | |
run : cat /proc/cpuinfo | grep processor | wc -l | |
#End Global Setup | |
- name: Pico Build Configure CMake | |
shell: bash | |
if: ${{ matrix.GP2040_BOARDCONFIG != 'PicoW'}} | |
run: PICO_SDK_PATH=${{github.workspace}}/pico-sdk GP2040_BOARDCONFIG=${{ matrix.GP2040_BOARDCONFIG }} SKIP_WEBBUILD=TRUE cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
- name: PicoW Build Configure CMake | |
shell: bash | |
if: ${{ matrix.GP2040_BOARDCONFIG == 'PicoW'}} | |
run: PICO_SDK_PATH=${{github.workspace}}/pico-sdk GP2040_BOARDCONFIG=${{ matrix.GP2040_BOARDCONFIG }} SKIP_WEBBUILD=TRUE cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DPICO_BOARD=pico_w | |
- name: Pico Build | |
shell: bash | |
run: GP2040_BOARDCONFIG=${{ matrix.GP2040_BOARDCONFIG }} cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel ${{steps.core_count.outputs.output}} | |
- name: Upload Pico Artifact | |
uses: actions/[email protected] | |
with: | |
name: GP2040-CE - ${{ matrix.GP2040_BOARDCONFIG }} | |
path: ${{github.workspace}}/build/GP2040-CE_*_${{ matrix.GP2040_BOARDCONFIG }}.uf2 | |
if-no-files-found: error | |
- name: Upload .elf Artifact | |
if: ${{ matrix.GP2040_BOARDCONFIG == 'Pico'}} | |
uses: actions/[email protected] | |
with: | |
name: elf | |
path: ${{github.workspace}}/build/GP2040-CE_*_${{ matrix.GP2040_BOARDCONFIG }}.elf | |
if-no-files-found: error |