CI Test - #1
Open
ACSimon33 wants to merge 2 commits into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
This PR modifies the GitHub Actions CI workflows, apparently to support CI experimentation/testing by changing when workflows run and which jobs execute.
Changes:
- Commented out the
pathsfilters and the entirepull_requesttrigger in the Makefile workflow. - Commented out several major test jobs in the CMake workflow, leaving only the
coveragejob active. - Renamed the Codecov upload step label in the CMake workflow.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| .github/workflows/makefile.yml | Disables PR triggering and path scoping for the Makefile CI workflow. |
| .github/workflows/cmake.yml | Comments out multiple test jobs, effectively reducing this workflow to coverage-only; tweaks Codecov step name. |
Suppressed comments (1)
.github/workflows/cmake.yml:303
- The step name says "(Test Token)" but the configuration still uses
secrets.CODECOV_TOKEN. This is likely to confuse readers/operators about what token is actually being used.
- name: Upload coverage report to Codecov (Test Token)
if: ${{ !cancelled() }}
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
4
to
+32
| push: | ||
| branches: | ||
| - master | ||
| - try-github-actions | ||
| paths: | ||
| - .github/workflows/makefile.yml | ||
| - '**Makefile' | ||
| - 'BLAS/**' | ||
| - 'CBLAS/**' | ||
| - 'INSTALL/**' | ||
| - 'LAPACKE/**' | ||
| - 'SRC/**' | ||
| - 'TESTING/**' | ||
| - '!**README' | ||
| - '!**CMakeLists.txt' | ||
| - '!**md' | ||
| pull_request: | ||
| paths: | ||
| - .github/workflows/makefile.yml | ||
| - '**Makefile' | ||
| - 'BLAS/**' | ||
| - 'CBLAS/**' | ||
| - 'INSTALL/**' | ||
| - 'LAPACKE/**' | ||
| - 'SRC/**' | ||
| - 'TESTING/**' | ||
| - '!**README' | ||
| - '!**CMakeLists.txt' | ||
| - '!**md' | ||
| # paths: | ||
| # - .github/workflows/makefile.yml | ||
| # - '**Makefile' | ||
| # - 'BLAS/**' | ||
| # - 'CBLAS/**' | ||
| # - 'INSTALL/**' | ||
| # - 'LAPACKE/**' | ||
| # - 'SRC/**' | ||
| # - 'TESTING/**' | ||
| # - '!**README' | ||
| # - '!**CMakeLists.txt' | ||
| # - '!**md' | ||
| # pull_request: | ||
| # paths: | ||
| # - .github/workflows/makefile.yml | ||
| # - '**Makefile' | ||
| # - 'BLAS/**' | ||
| # - 'CBLAS/**' | ||
| # - 'INSTALL/**' | ||
| # - 'LAPACKE/**' | ||
| # - 'SRC/**' | ||
| # - 'TESTING/**' | ||
| # - '!**README' | ||
| # - '!**CMakeLists.txt' | ||
| # - '!**md' |
Comment on lines
49
to
+58
| jobs: | ||
|
|
||
| test-install-release: | ||
| # Use GNU compilers | ||
|
|
||
| # The CMake configure and build commands are platform agnostic and should work equally | ||
| # well on Windows or Mac. You can convert this to a matrix build if you need | ||
| # cross-platform coverage. | ||
| # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | ||
| runs-on: ${{ matrix.os }} | ||
|
|
||
| env: | ||
| BUILD_TYPE: Release | ||
| FFLAGS: ${{ matrix.fflags }} | ||
|
|
||
| strategy: | ||
| fail-fast: true | ||
| matrix: | ||
| os: [ macos-latest, ubuntu-latest, ubuntu-24.04-arm, windows-latest ] | ||
| fflags: [ | ||
| "-Wall -Wno-unused-dummy-argument -Wno-unused-variable -Wno-unused-label -Werror=conversion -fimplicit-none -frecursive -fcheck=all", | ||
| "-Wall -Wno-unused-dummy-argument -Wno-unused-variable -Wno-unused-label -Werror=conversion -fimplicit-none -frecursive -fcheck=all -fopenmp" ] | ||
|
|
||
| steps: | ||
|
|
||
| - name: Checkout LAPACK | ||
| uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | ||
|
|
||
| - name: Use GCC-14 on MacOS | ||
| if: ${{ matrix.os == 'macos-latest' }} | ||
| run: > | ||
| cmake -B build -G Ninja | ||
| -D CMAKE_C_COMPILER="gcc-14" | ||
| -D CMAKE_Fortran_COMPILER="gfortran-14" | ||
| -D USE_FLAT_NAMESPACE:BOOL=ON | ||
|
|
||
| - name: Special flags for Windows | ||
| if: ${{ matrix.os == 'windows-latest' }} | ||
| run: > | ||
| cmake -B build -G Ninja | ||
| -D CMAKE_EXE_LINKER_FLAGS="-Wl,--stack=2097152" | ||
|
|
||
| - name: Configure CMake | ||
| # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using | ||
| # a single-configuration generator such as make or Ninja. | ||
| # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | ||
| run: > | ||
| cmake -B build -G Ninja | ||
| -D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | ||
| -D CMAKE_INSTALL_PREFIX=${{github.workspace}}/lapack_install | ||
| -D CBLAS:BOOL=ON | ||
| -D LAPACKE:BOOL=ON | ||
| -D BUILD_TESTING:BOOL=ON | ||
| -D LAPACKE_WITH_TMG:BOOL=ON | ||
| -D BUILD_SHARED_LIBS:BOOL=ON | ||
|
|
||
| - name: Build | ||
| # Execute tests defined by the CMake configuration. | ||
| # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | ||
| run: cmake --build build | ||
|
|
||
| - name: Test with OpenMP | ||
| working-directory: ${{github.workspace}}/build | ||
| if: ${{ contains( matrix.fflags, 'openmp' ) && (matrix.os != 'windows-latest') }} | ||
| run: ctest -C ${{env.BUILD_TYPE}} --schedule-random -j1 --output-on-failure --timeout 100 | ||
|
|
||
| - name: Test | ||
| working-directory: ${{github.workspace}}/build | ||
| if: ${{ !contains( matrix.fflags, 'openmp' ) && (matrix.os != 'windows-latest') }} | ||
| run: ctest -C ${{env.BUILD_TYPE}} --schedule-random -j2 --output-on-failure --timeout 100 | ||
|
|
||
| - name: Upload test results | ||
| id: upload-test-results | ||
| # Uploaded even when the tests failed; that is when the results | ||
| # are needed most. The test summary below links to the artifact. | ||
| if: ${{ !cancelled() && matrix.os != 'windows-latest' }} | ||
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | ||
| with: | ||
| name: test-results-${{ matrix.os }}-${{ contains( matrix.fflags, 'openmp' ) && 'openmp' || 'no-openmp' }} | ||
| path: | | ||
| build/TESTING/testing_results.txt | ||
| build/lapack_testing_junit.xml | ||
| if-no-files-found: warn | ||
| retention-days: 14 | ||
|
|
||
| - name: Write test summary | ||
| if: ${{ !cancelled() && matrix.os != 'windows-latest' }} | ||
| env: | ||
| ARTIFACT_URL: ${{ steps.upload-test-results.outputs.artifact-url }} | ||
| run: | | ||
| cd build 2>/dev/null || exit 0 | ||
| python3 lapack_testing.py -d TESTING --merge-apis --markdown summary.md || true | ||
| if [ -f summary.md ]; then | ||
| cat summary.md >> "$GITHUB_STEP_SUMMARY" | ||
| if [ -n "$ARTIFACT_URL" ]; then | ||
| printf '\nThe raw output of every test run (`testing_results.txt`) and a JUnit XML report are in the [test-results artifact](%s).\n' "$ARTIFACT_URL" >> "$GITHUB_STEP_SUMMARY" | ||
| fi | ||
| fi | ||
|
|
||
| - name: Install | ||
| # Since we use a single configuration generator, Ninja, there is no need to provide | ||
| # the '--config ${{env.BUILD_TYPE}}' option for the build step in the 'cmake --build' command. | ||
| run: cmake --build build --target install -j2 | ||
|
|
||
| test-extended-api-only: | ||
| runs-on: ubuntu-latest | ||
|
|
||
| env: | ||
| BUILD_TYPE: Release | ||
| FFLAGS: "-Wall -Wno-unused-dummy-argument -Wno-unused-variable -Wno-unused-label -Werror=conversion -fimplicit-none -frecursive -fcheck=all" | ||
|
|
||
| strategy: | ||
| fail-fast: true | ||
| matrix: | ||
| shared_libs: [ OFF, ON ] | ||
|
|
||
| steps: | ||
|
|
||
| - name: Checkout LAPACK | ||
| uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | ||
|
|
||
| - name: Install ninja-build tool | ||
| uses: seanmiddleditch/gha-setup-ninja@16b940825621068d98711680b6c3ff92201f8fc0 # v3 | ||
|
|
||
| - name: Configure CMake | ||
| run: > | ||
| cmake -B build -G Ninja | ||
| -D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | ||
| -D BUILD_SHARED_LIBS:BOOL=${{matrix.shared_libs}} | ||
| -D BUILD_DEFAULT_API:BOOL=OFF | ||
| -D BUILD_INDEX64_EXT_API:BOOL=ON | ||
| -D BUILD_TESTING:BOOL=ON | ||
| -D CBLAS:BOOL=ON | ||
| -D LAPACKE:BOOL=ON | ||
| -D LAPACKE_WITH_TMG:BOOL=ON | ||
|
|
||
| - name: Build | ||
| run: cmake --build build --config ${{env.BUILD_TYPE}} | ||
|
|
||
| - name: Test | ||
| working-directory: ${{github.workspace}}/build | ||
| run: ctest -C ${{env.BUILD_TYPE}} --schedule-random -j2 --output-on-failure --timeout 100 | ||
|
|
||
| - name: Upload test results | ||
| id: upload-test-results | ||
| if: ${{ !cancelled() }} | ||
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | ||
| with: | ||
| name: test-results-extended-api-shared-${{ matrix.shared_libs }} | ||
| path: | | ||
| build/TESTING/testing_results.txt | ||
| build/lapack_testing_junit.xml | ||
| if-no-files-found: warn | ||
| retention-days: 14 | ||
|
|
||
| - name: Write test summary | ||
| if: ${{ !cancelled() }} | ||
| env: | ||
| ARTIFACT_URL: ${{ steps.upload-test-results.outputs.artifact-url }} | ||
| run: | | ||
| cd build 2>/dev/null || exit 0 | ||
| python3 lapack_testing.py -d TESTING --merge-apis --markdown summary.md || true | ||
| if [ -f summary.md ]; then | ||
| cat summary.md >> "$GITHUB_STEP_SUMMARY" | ||
| if [ -n "$ARTIFACT_URL" ]; then | ||
| printf '\nThe raw output of every test run (`testing_results.txt`) and a JUnit XML report are in the [test-results artifact](%s).\n' "$ARTIFACT_URL" >> "$GITHUB_STEP_SUMMARY" | ||
| fi | ||
| fi | ||
| # test-install-release: | ||
| # # Use GNU compilers | ||
|
|
||
| # # The CMake configure and build commands are platform agnostic and should work equally | ||
| # # well on Windows or Mac. You can convert this to a matrix build if you need | ||
| # # cross-platform coverage. | ||
| # # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | ||
| # runs-on: ${{ matrix.os }} |
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Checklist