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: | ||
| branches: | ||
| - master | ||
| tags: ['*'] | ||
| jobs: | ||
| REPLTestsCommons: | ||
| name: Sequential-Commons | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - uses: julia-actions/setup-julia@latest | ||
| with: | ||
| version: '1.11.1' | ||
| arch: x64 | ||
| - uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.julia/artifacts | ||
| key: ubuntu-test-cache-${{ hashFiles('**/Project.toml') }} | ||
| - uses: julia-actions/julia-buildpkg@v1 | ||
| - uses: julia-actions/julia-runtest@v1 | ||
| - uses: julia-actions/julia-processcoverage@v1 | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: coverage-sequential-commons | ||
| path: lcov.info | ||
| REPLTestsCases: | ||
| name: Sequential-Cases | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - uses: julia-actions/setup-julia@latest | ||
| with: | ||
| version: '1.11.1' | ||
| arch: x64 | ||
| - uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.julia/artifacts | ||
| key: ubuntu-test-cache-${{ hashFiles('**/Project.toml') }} | ||
| - uses: julia-actions/julia-buildpkg@v1 | ||
| - run: julia --project=. -e "include(joinpath(\"test\", \"sequential\", \"runtests.jl\"))" | ||
| - uses: julia-actions/julia-processcoverage@v1 | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: coverage-sequential-cases | ||
| path: lcov.info | ||
| UtilsTests: | ||
| name: Sequential-Utils | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - uses: julia-actions/setup-julia@latest | ||
| with: | ||
| version: '1.11.1' | ||
| arch: x64 | ||
| - uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.julia/artifacts | ||
| key: ubuntu-test-cache-${{ hashFiles('**/Project.toml') }} | ||
| - uses: julia-actions/julia-buildpkg@v1 | ||
| - run: julia --project=. -e "include(joinpath(\"test\", \"UtilsTests\", \"runtests.jl\"))" | ||
| - uses: julia-actions/julia-processcoverage@v1 | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: coverage-sequential-utils | ||
| path: lcov.info | ||
| MPITests: | ||
| name: SegregatedVMSSolver-MPI | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - uses: julia-actions/setup-julia@latest | ||
| with: | ||
| version: '1.11.1' | ||
| arch: x64 | ||
| - uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.julia/artifacts | ||
| key: ubuntu-mpi-test-cache-${{ hashFiles('**/Project.toml') }} | ||
| - uses: julia-actions/julia-buildpkg@v1 | ||
| - run: julia --project=. -e "include(joinpath(\"test\", \"mpi\", \"runtests.jl\"))" | ||
| mergeCoverage: | ||
| name: Merge Coverage & Upload | ||
| runs-on: ubuntu-latest | ||
| needs: [REPLTestsCommons, REPLTestsCases, UtilsTests] | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - uses: actions/download-artifact@v4 | ||
| with: | ||
| path: coverage_reports | ||
| - run: julia --project=. -e 'import Pkg; Pkg.add("Coverage")' # Install Coverage.jl | ||
| - run: julia --project=. -e 'using Coverage; files = filter(f -> endswith(f, ".info"), readdir("coverage", join=true)); | ||
| merged_cov = merge_coverage_counts([LCOV.read(f) for f in files]); # Correct function | ||
| LCOV.write("coverage/lcov.info", merged_cov);' | ||
| - uses: codecov/codecov-action@v2 | ||
| with: | ||
| token: ${{ secrets.CODECOV_TOKEN }} | ||
| files: merged.info | ||