123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- # https://github.com/raspberrypi/pico-examples/blob/master/.github/workflows/cmake.yml
-
- name: Firmware
-
- # build for each push and pull request
- on: [push, pull_request]
-
- env:
- BUILD_TYPE: Release
-
- jobs:
- build:
- runs-on: ubuntu-latest
-
- permissions:
- contents: write
-
- steps:
- - name: Install dependencies
- run: sudo apt-get install -y cxxtest build-essential gcc-arm-none-eabi mtools zip
-
- - name: Checkout repo
- uses: actions/checkout@v4
- with:
- path: repo
- fetch-depth: 0
-
- - name: Checkout repo submodules
- working-directory: ${{github.workspace}}/repo
- run: git submodule update --init
-
- - name: Checkout pico-sdk submodules
- working-directory: ${{github.workspace}}/repo/pico-sdk
- run: git submodule update --init
-
- - name: Create Build Environment
- working-directory: ${{github.workspace}}/repo
- run: cmake -E make_directory ${{github.workspace}}/repo/build
-
- - name: Configure CMake
- shell: bash
- working-directory: ${{github.workspace}}/repo/build
- run: cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE
-
- - name: Get core count
- id: core_count
- run : cat /proc/cpuinfo | grep processor | wc -l
-
- - name: Build
- working-directory: ${{github.workspace}}/repo/build
- shell: bash
- run: cmake --build . --config $BUILD_TYPE --parallel $(nproc)
-
- - name: Upload a Build Artifact
- uses: actions/upload-artifact@v4.0.0
- with:
- name: firmware.uf2
- path: ${{github.workspace}}/repo/build/drumkit.uf2
- if-no-files-found: error
-
- - name: Upload a Build Artifact
- uses: actions/upload-artifact@v4.0.0
- with:
- name: update.elf
- path: ${{github.workspace}}/repo/build/drumkit.elf
- if-no-files-found: error
-
- - name: Archive release files
- if: startsWith(github.ref, 'refs/tags/')
- run: |
- cd ${{github.workspace}}/repo/build
- zip -r firmware drumkit.uf2 drumkit.elf
-
- - name: Upload release files
- if: startsWith(github.ref, 'refs/tags/')
- uses: softprops/action-gh-release@v1
- with:
- files: ${{github.workspace}}/repo/build/firmware.zip
|