CTest HOOTL Tests - 176/merge #987
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: CTest | |
| run-name: CTest HOOTL Tests - ${{ github.ref_name }} | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ github.run_id }} | |
| cancel-in-progress: true | |
| jobs: | |
| ctest: | |
| name: Configure, Build, and Run HOOTLTest | |
| runs-on: ${{ matrix.operatingSystem }} | |
| permissions: | |
| contents: read | |
| actions: write | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| operatingSystem: [ ubuntu-latest, windows-latest, macos-latest ] | |
| env: | |
| SCCACHE_DIR: ${{ github.workspace }}/sccache | |
| SCCACHE_LOG: "info" | |
| SCCACHE_ERROR_LOG: ${{ github.workspace }}/sccache-error.log | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 1 | |
| - name: Setup Shared Compilation Cache | |
| uses: actions/cache@v5 | |
| with: | |
| path: ${{ env.SCCACHE_DIR }} | |
| key: sccache-${{ github.workflow }}-${{ runner.os }}-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}-${{ github.event.pull_request.number || github.ref }} | |
| restore-keys: | | |
| sccache-${{ github.workflow }}-${{ runner.os }}-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}- | |
| sccache-${{ github.workflow }}-${{ runner.os }}- | |
| - name: Setup Shared Compilation Cache | |
| uses: mozilla-actions/[email protected] | |
| - name: CMake Configuration (Unix) | |
| if: matrix.operatingSystem != 'windows-latest' | |
| shell: bash | |
| run: | | |
| set -o pipefail | |
| echo "<details><summary>CMake Configuration (HOOTLTest)</summary>" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| cmake --preset HOOTLTest -DCMAKE_C_COMPILER_LAUNCHER=sccache 2>&1 | tee -a $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "</details>" >> $GITHUB_STEP_SUMMARY | |
| - name: CMake Configuration (Windows) | |
| if: matrix.operatingSystem == 'windows-latest' | |
| shell: pwsh | |
| run: | | |
| echo "<details><summary>CMake Configuration (HOOTLTest)</summary>" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "``````" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| cmake --preset HOOTLTest -DCMAKE_C_COMPILER_LAUNCHER=sccache 2>&1 | Tee-Object -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "``````" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "</details>" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| - name: CMake Build (Unix) | |
| if: matrix.operatingSystem != 'windows-latest' | |
| shell: bash | |
| run: | | |
| set -o pipefail | |
| echo "<details><summary>CMake Build (HOOTLTest)</summary>" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| cmake --build build/HOOTLTest 2>&1 | tee -a $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "</details>" >> $GITHUB_STEP_SUMMARY | |
| - name: CMake Build (Windows) | |
| if: matrix.operatingSystem == 'windows-latest' | |
| shell: pwsh | |
| run: | | |
| echo "<details><summary>CMake Build (HOOTLTest)</summary>" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "``````" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| cmake --build build/HOOTLTest 2>&1 | Tee-Object -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "``````" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "</details>" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| - name: Run CTest (Unix) | |
| if: matrix.operatingSystem != 'windows-latest' | |
| shell: bash | |
| run: | | |
| set -o pipefail | |
| echo "<details open><summary>Run CTest (HOOTLTest)</summary>" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| ctest --output-on-failure --test-dir build/HOOTLTest 2>&1 | tee -a $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "</details>" >> $GITHUB_STEP_SUMMARY | |
| - name: Run CTest (Windows) | |
| if: matrix.operatingSystem == 'windows-latest' | |
| shell: pwsh | |
| run: | | |
| echo "<details open><summary>Run CTest (HOOTLTest)</summary>" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "``````" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| ctest --output-on-failure --test-dir build/HOOTLTest 2>&1 | Tee-Object -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "``````" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "</details>" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| - name: Shared Compilation Cache Errors (Unix) | |
| if: matrix.operatingSystem != 'windows-latest' | |
| shell: bash | |
| run: | | |
| set -o pipefail | |
| if [ -f "$SCCACHE_ERROR_LOG" ]; then | |
| echo "<details><summary>Shared Compilation Cache Errors</summary>" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| cat "$SCCACHE_ERROR_LOG" | tee -a $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "</details>" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| - name: Shared Compilation Cache Errors (Windows) | |
| if: matrix.operatingSystem == 'windows-latest' | |
| shell: pwsh | |
| run: | | |
| if (Test-Path $env:SCCACHE_ERROR_LOG) { | |
| echo "<details><summary>Shared Compilation Cache Errors</summary>" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "``````" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| Get-Content $env:SCCACHE_ERROR_LOG | Tee-Object -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "``````" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| echo "</details>" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append | |
| } | |
| all: | |
| name: Complete HOOTL Tests | |
| needs: ctest | |
| runs-on: ubuntu-slim | |
| permissions: {} | |
| steps: | |
| - name: Complete All CTest Runs | |
| run: | | |
| echo "CTest has been executed for the HOOTLTest preset across all operating systems." | |
| echo "Please refer to the individual job logs for detailed test results." |