Unit-tests #262
Workflow file for this run
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: | |
| push: | |
| branches: | |
| - master | |
| tags: | |
| - '*' | |
| pull_request: | |
| branches: | |
| - master | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| name: Build for ${{ matrix.debian_codename }} | |
| strategy: | |
| matrix: | |
| debian_codename: | |
| - bullseye | |
| - bookworm | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Cache debian | |
| id: cache-debian | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| .apt_cache | |
| !.apt_cache/archives/lock | |
| !.apt_cache/archives/partial | |
| debian-*-generic-arm64.tar | |
| key: ${{ matrix.debian_codename }}-files | |
| - name: Install deps | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y qemu-user-static | |
| - name: Build | |
| run: | | |
| set -x | |
| make qemu_build DEBIAN_CODENAME=${{ matrix.debian_codename }} | |
| ls -lh | |
| sudo mv pixelpilot ${{ matrix.debian_codename }}_pixelpilot | |
| rm -f disk.raw # for some reason reusing the disc causes `pgpconf` to hang | |
| - name: Build deb package | |
| run: | | |
| set -x | |
| make qemu_build_deb DEBIAN_CODENAME=${{ matrix.debian_codename }} | |
| for f in `ls pixelpilot-rk*_arm64.deb`; do | |
| mv $f "${{ matrix.debian_codename }}_${f}"; | |
| done | |
| - name: Upload binary | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.debian_codename }} | |
| path: | | |
| ${{ matrix.debian_codename }}_pixelpilot | |
| ${{ matrix.debian_codename }}_pixelpilot-rk_*_arm64.deb | |
| ${{ matrix.debian_codename }}_pixelpilot-rk-dbgsym_*_arm64.deb | |
| test: | |
| name: Test (${{ matrix.debian_codename }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| debian_codename: | |
| - bookworm | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Cache debian | |
| id: cache-debian | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| .apt_cache | |
| !.apt_cache/archives/lock | |
| !.apt_cache/archives/partial | |
| debian-*-generic-arm64.tar | |
| key: ${{ matrix.debian_codename }}-files | |
| - name: Install deps | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y qemu-user-static | |
| - name: QEMU Test | |
| run: | | |
| make qemu_test DEBIAN_CODENAME=${{ matrix.debian_codename }} | |
| release: | |
| name: Release Artifacts | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Download Binaries | |
| uses: actions/download-artifact@v5 | |
| with: | |
| run-id: ${{ github.run_id }} # Download all artifacts | |
| merge-multiple: true | |
| - name: Versioned release | |
| if: startsWith(github.ref, 'refs/tags/') | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| bullseye_pixelpilot | |
| bullseye_pixelpilot-rk_*_arm64.deb | |
| bullseye_pixelpilot-rk-dbgsym_*_arm64.deb | |
| bookworm_pixelpilot | |
| bookworm_pixelpilot-rk_*_arm64.deb | |
| bookworm_pixelpilot-rk-dbgsym_*_arm64.deb | |
| config_osd.json | |
| pixelpilot.yaml | |
| gsmenu.sh | |
| - name: Upload latest | |
| if: github.event_name != 'pull_request' | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: latest | |
| files: | | |
| bullseye_pixelpilot | |
| bullseye_pixelpilot-rk_*_arm64.deb | |
| bullseye_pixelpilot-rk-dbgsym_*_arm64.deb | |
| bookworm_pixelpilot | |
| bookworm_pixelpilot-rk_*_arm64.deb | |
| bookworm_pixelpilot-rk-dbgsym_*_arm64.deb | |
| config_osd.json | |
| pixelpilot.yaml | |
| gsmenu.sh |