refactor: remove XOR obfuscation from stream handling and update docu… #15
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: CI | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| build-test: | |
| name: ${{ matrix.name }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Windows MSVC | |
| os: windows-latest | |
| extra_args: "" | |
| - name: Linux GCC ASan UBSan | |
| os: ubuntu-latest | |
| extra_args: "-DASTERISM_SANITIZERS=ON" | |
| - name: macOS Clang | |
| os: macos-latest | |
| extra_args: "" | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| submodules: recursive | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| - name: Configure | |
| shell: bash | |
| run: cmake -S . -B build -DUNIT_TEST=ON -DCMAKE_BUILD_TYPE=Debug ${{ matrix.extra_args }} > cmake_configure.log 2>&1 || (cat cmake_configure.log && exit 1) | |
| - name: Build | |
| run: cmake --build build --config Debug --parallel | |
| - name: Test | |
| run: ctest --test-dir build --build-config Debug --output-on-failure | |
| - name: Dump Configure Log on Failure | |
| if: failure() | |
| shell: bash | |
| run: | | |
| if [ -f cmake_configure.log ]; then | |
| echo "### CMake Configure Log (${{ matrix.name }})" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| cat cmake_configure.log >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| coverage: | |
| name: Linux Coverage | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| submodules: recursive | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.x" | |
| - name: Install coverage tooling | |
| run: python -m pip install --upgrade gcovr | |
| - name: Configure | |
| shell: bash | |
| run: cmake -S . -B build-coverage -DUNIT_TEST=ON -DCMAKE_BUILD_TYPE=Debug -DASTERISM_COVERAGE=ON > cmake_configure.log 2>&1 || (cat cmake_configure.log && exit 1) | |
| - name: Build | |
| run: cmake --build build-coverage --parallel | |
| - name: Test | |
| run: ctest --test-dir build-coverage --output-on-failure | |
| - name: Dump Configure Log on Failure | |
| if: failure() | |
| shell: bash | |
| run: | | |
| if [ -f cmake_configure.log ]; then | |
| echo "### CMake Configure Log (Coverage)" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| cat cmake_configure.log >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| - name: Coverage | |
| run: > | |
| gcovr | |
| --root . | |
| --filter src/asterism | |
| --exclude 'src/asterism/(parg|s5)\.[ch]' | |
| --exclude 3rdparty | |
| --xml-pretty -o coverage.xml | |
| --print-summary | |
| --fail-under-line 65 | |
| - uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: coverage-report | |
| path: coverage.xml |