schur4: correct accuracy caveat (genuine solver error vs LAPACK, not … #195
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: | |
| test: | |
| name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: | |
| - '1.9' | |
| - '1.10' | |
| - '1.11' | |
| os: | |
| - ubuntu-latest | |
| arch: | |
| - x64 | |
| env: | |
| # Skip visualization packages in CI (no display available) | |
| HYQMOM_SKIP_PLOTTING: "true" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: julia-actions/setup-julia@v2 | |
| with: | |
| version: ${{ matrix.version }} | |
| arch: ${{ matrix.arch }} | |
| - uses: julia-actions/cache@v2 | |
| with: | |
| cache-name: hyqmom-jl | |
| # Remove GLMakie from Project.toml for CI (headless environment) | |
| - name: Remove GLMakie dependency for CI | |
| env: | |
| HYQMOM_SKIP_PLOTTING: "true" | |
| run: | | |
| echo "Removing GLMakie to avoid X11/GLFW errors in CI..." | |
| # Remove GLMakie from Project.toml in multiple sections | |
| if grep -q "GLMakie" Project.toml; then | |
| echo "Found GLMakie in Project.toml, removing from all sections..." | |
| # Remove from [deps] | |
| sed -i '/^GLMakie = /d' Project.toml | |
| # Remove from [compat] | |
| sed -i '/^GLMakie = /d' Project.toml | |
| # Remove GLMakie from [targets] test array | |
| sed -i 's/, "GLMakie"//g' Project.toml | |
| sed -i 's/"GLMakie", //g' Project.toml | |
| sed -i 's/"GLMakie"//g' Project.toml | |
| echo "GLMakie removed from Project.toml" | |
| echo "Modified Project.toml:" | |
| cat Project.toml | |
| else | |
| echo "GLMakie not found in Project.toml" | |
| fi | |
| # Remove Manifest to force clean resolve | |
| if [ -f Manifest.toml ]; then | |
| rm -f Manifest.toml | |
| echo "Manifest.toml removed for clean resolve" | |
| fi | |
| - uses: julia-actions/julia-buildpkg@v1 | |
| with: | |
| project: . | |
| - uses: julia-actions/julia-runtest@v1 | |
| with: | |
| project: . | |
| - uses: julia-actions/julia-processcoverage@v1 | |
| if: matrix.version == '1.11' && matrix.os == 'ubuntu-latest' | |
| with: | |
| directories: src | |
| - uses: codecov/codecov-action@v4 | |
| if: matrix.version == '1.11' && matrix.os == 'ubuntu-latest' | |
| with: | |
| files: lcov.info | |
| flags: unittests | |
| name: codecov-umbrella | |
| fail_ci_if_error: false | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| mpi-test: | |
| name: MPI tests (Julia 1.10, 2 ranks) | |
| runs-on: ubuntu-latest | |
| env: | |
| HYQMOM_SKIP_PLOTTING: "true" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: julia-actions/setup-julia@v2 | |
| with: | |
| version: '1.10' | |
| arch: x64 | |
| - name: Install MPI (MPICH) | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y mpich libmpich-dev | |
| - name: Instantiate project | |
| run: julia --project=. -e 'using Pkg; Pkg.instantiate()' | |
| - name: Run MPI tests with coverage (1 and 2 ranks) | |
| run: | | |
| mpiexec -n 1 julia --project=. --code-coverage=user test/test_mpi.jl | |
| mpiexec -n 2 julia --project=. --code-coverage=user test/test_mpi.jl | |
| - name: Process MPI coverage | |
| uses: julia-actions/julia-processcoverage@v1 | |
| with: | |
| directories: src | |
| - name: Upload MPI coverage to Codecov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| files: lcov.info | |
| flags: mpi | |
| name: codecov-mpi | |
| fail_ci_if_error: false | |
| token: ${{ secrets.CODECOV_TOKEN }} |