Implement PDUs of the CCSDS File Deliver Protocol (#422) #1458
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: Continuous Integration | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| release: | |
| types: | |
| - created | |
| jobs: | |
| format-and-spell-check: | |
| runs-on: ubuntu-24.04 | |
| container: tuwienspaceteam/sts1-cobc:1.17.0-linux-x86 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Format check | |
| run: cmake -P cmake/format.cmake | |
| - name: Spell check | |
| if: always() | |
| run: cmake -P cmake/spell.cmake | |
| coverage: | |
| needs: format-and-spell-check | |
| runs-on: ubuntu-24.04 | |
| container: tuwienspaceteam/sts1-cobc:1.17.0-linux-x86 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Configure | |
| run: cmake --preset=ci-coverage | |
| - name: Build all tests | |
| run: cmake --build build/ci-coverage -t AllTests | |
| - name: Test | |
| working-directory: build/ci-coverage | |
| run: ctest --output-on-failure | |
| - name: Process coverage info | |
| run: cmake --build build/ci-coverage -t coverage | |
| - name: Submit to codecov.io | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: build/ci-coverage/coverage.info | |
| sanitize: | |
| needs: format-and-spell-check | |
| runs-on: ubuntu-24.04 | |
| container: tuwienspaceteam/sts1-cobc:1.17.0-linux-x86 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Configure | |
| run: cmake --preset=ci-sanitize | |
| - name: Build all tests | |
| run: cmake --build build/ci-sanitize -t AllTests | |
| - name: Test | |
| working-directory: build/ci-sanitize | |
| env: | |
| ASAN_OPTIONS: "strict_string_checks=1:\ | |
| detect_stack_use_after_return=1:\ | |
| check_initialization_order=1:\ | |
| strict_init_order=1:\ | |
| detect_leaks=1" | |
| UBSAN_OPTIONS: print_stacktrace=1 | |
| run: ctest --output-on-failure | |
| build-for-cobc: | |
| needs: format-and-spell-check | |
| runs-on: ubuntu-24.04 | |
| container: tuwienspaceteam/sts1-cobc:1.17.0 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Configure | |
| run: cmake --preset=ci-cobc | |
| - name: Build | |
| run: cmake --build build/ci-cobc | |
| - name: Build all tests | |
| run: cmake --build build/ci-cobc -t AllTests | |
| - name: Upload artifacts | |
| if: github.event_name == 'push' || github.event_name == 'pull_request' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: CobcBinaries | |
| path: | | |
| ./build/ci-cobc/*.bin | |
| ./build/ci-cobc/*.elf | |
| ./build/ci-cobc/Tests/**/*.bin | |
| ./build/ci-cobc/Tests/**/*.elf | |
| - name: Add assets to release | |
| if: github.event_name == 'release' | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| ./build/ci-cobc/*.bin | |
| ./build/ci-cobc/*.elf | |
| build-for-cobc-with-bootloader: | |
| needs: format-and-spell-check | |
| runs-on: ubuntu-24.04 | |
| container: tuwienspaceteam/sts1-cobc:1.17.0 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # Building COBC binaries for use with the bootloader runs add_metadata.py which calls Git. | |
| # Without this step, the Git command fails with an error about the workspace not being a safe | |
| # directory. | |
| - name: Mark workspace as safe | |
| run: git config --global --add safe.directory $GITHUB_WORKSPACE | |
| - name: Configure for COBC with bootloader | |
| run: cmake --preset=ci-cobc-with-bootloader | |
| - name: Build COBC FW for use with bootloader | |
| run: cmake --build build/ci-cobc-with-bootloader | |
| - name: Configure bootloader | |
| run: cmake --preset=ci-bootloader | |
| - name: Build bootloader | |
| run: cmake --build build/ci-bootloader | |
| - name: Upload artifacts | |
| if: github.event_name == 'push' || github.event_name == 'pull_request' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: CobcBinariesWithBootloader | |
| path: | | |
| ./build/ci-cobc-with-bootloader/*.bin | |
| ./build/ci-cobc-with-bootloader/*.elf | |
| ./build/ci-bootloader/*.bin | |
| ./build/ci-bootloader/*.elf | |
| - name: Add assets to release | |
| if: github.event_name == 'release' | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| ./build/ci-cobc-with-bootloader/*.bin | |
| ./build/ci-cobc-with-bootloader/*.elf | |
| ./build/ci-bootloader/*.bin | |
| ./build/ci-bootloader/*.elf | |
| test: | |
| needs: format-and-spell-check | |
| runs-on: ubuntu-24.04 | |
| container: tuwienspaceteam/sts1-cobc:1.17.0-linux-x86 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Configure linux-x86 | |
| run: cmake --preset=ci-linux-x86 | |
| - name: Build all tests | |
| run: cmake --build build/ci-linux-x86 -t AllTests | |
| - name: Test | |
| working-directory: build/ci-linux-x86/Tests | |
| run: ctest --output-on-failure -C MinSizeRel |