diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml deleted file mode 100644 index c4be13569..000000000 --- a/.github/workflows/CI.yml +++ /dev/null @@ -1,66 +0,0 @@ -name: CI -on: - pull_request: - branches: - - master - paths-ignore: - - 'docs/**' - push: - branches: - - master - paths-ignore: - - 'docs/**' -jobs: - test: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - group: - - Components - - Sol_Interface - - MOL_Interface1 - - MOL_Interface2 - - Diffusion - - Diffusion_NU - - Nonlinear_Diffusion - - Nonlinear_Diffusion_NU - - 2D_Diffusion - - Convection - - Convection_WENO - - Higher_Order - - Stationary - - DAE - - Integrals - - Burgers - - Brusselator - - Mixed_Derivatives - - Wave_Eq_Staggered - - Complex - version: - - '1' - steps: - - uses: actions/checkout@v4 - - uses: julia-actions/setup-julia@v2 - with: - version: ${{ matrix.version }} - - uses: actions/cache@v4 - env: - cache-name: cache-artifacts - with: - path: ~/.julia/artifacts - key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} - restore-keys: | - ${{ runner.os }}-test-${{ env.cache-name }}- - ${{ runner.os }}-test- - ${{ runner.os }}- - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 - env: - GROUP: ${{ matrix.group }} - - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v4 - with: - file: lcov.info - token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: true diff --git a/.github/workflows/FormatCheck.yml b/.github/workflows/FormatCheck.yml index dd551501c..6185015c4 100644 --- a/.github/workflows/FormatCheck.yml +++ b/.github/workflows/FormatCheck.yml @@ -1,42 +1,13 @@ -name: format-check +name: "Format Check" on: push: branches: - 'master' - - 'release-' tags: '*' pull_request: jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - julia-version: [1] - julia-arch: [x86] - os: [ubuntu-latest] - steps: - - uses: julia-actions/setup-julia@latest - with: - version: ${{ matrix.julia-version }} - - - uses: actions/checkout@v4 - - name: Install JuliaFormatter and format - # This will use the latest version by default but you can set the version like so: - # - # julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter", version="0.13.0"))' - run: | - julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter"))' - julia -e 'using JuliaFormatter; format(".", verbose=true)' - - name: Format check - run: | - julia -e ' - out = Cmd(`git diff --name-only`) |> read |> String - if out == "" - exit(0) - else - @error "Some files have not been formatted !!!" - write(stdout, out) - exit(1) - end' + format-check: + name: "Format Check" + uses: "SciML/.github/.github/workflows/format-suggestions-on-pr.yml@v1" diff --git a/.github/workflows/Invalidations.yml b/.github/workflows/Invalidations.yml index 66c86a362..34eb7a92a 100644 --- a/.github/workflows/Invalidations.yml +++ b/.github/workflows/Invalidations.yml @@ -1,4 +1,4 @@ -name: Invalidations +name: "Invalidations" on: pull_request: @@ -10,31 +10,6 @@ concurrency: cancel-in-progress: true jobs: - evaluate: - # Only run on PRs to the default branch. - # In the PR trigger above branches can be specified only explicitly whereas this check should work for master, main, or any other default branch - if: github.base_ref == github.event.repository.default_branch - runs-on: ubuntu-latest - steps: - - uses: julia-actions/setup-julia@v2 - with: - version: '1' - - uses: actions/checkout@v4 - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-invalidations@v1 - id: invs_pr - - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.repository.default_branch }} - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-invalidations@v1 - id: invs_default - - - name: Report invalidation counts - run: | - echo "Invalidations on default branch: ${{ steps.invs_default.outputs.total }} (${{ steps.invs_default.outputs.deps }} via deps)" >> $GITHUB_STEP_SUMMARY - echo "This branch: ${{ steps.invs_pr.outputs.total }} (${{ steps.invs_pr.outputs.deps }} via deps)" >> $GITHUB_STEP_SUMMARY - - name: Check if the PR does increase number of invalidations - if: steps.invs_pr.outputs.total > steps.invs_default.outputs.total - run: exit 1 + evaluate-invalidations: + name: "Evaluate Invalidations" + uses: "SciML/.github/.github/workflows/invalidations.yml@v1" diff --git a/.github/workflows/Tests.yml b/.github/workflows/Tests.yml new file mode 100644 index 000000000..97160d0fd --- /dev/null +++ b/.github/workflows/Tests.yml @@ -0,0 +1,50 @@ +name: "Tests" + +on: + pull_request: + branches: + - master + - 'release-' + paths-ignore: + - 'docs/**' + push: + branches: + - master + paths-ignore: + - 'docs/**' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref_name != github.event.repository.default_branch || github.ref != 'refs/tags/v*' }} + +jobs: + tests: + name: "Tests" + strategy: + fail-fast: false + matrix: + group: + - "Components" + - "Sol_Interface" + - "MOL_Interface1" + - "MOL_Interface2" + - "Diffusion" + - "Diffusion_NU" + - "Nonlinear_Diffusion" + - "Nonlinear_Diffusion_NU" + - "2D_Diffusion" + - "Convection" + - "Convection_WENO" + - "Higher_Order" + - "Stationary" + - "DAE" + - "Integrals" + - "Burgers" + - "Brusselator" + - "Mixed_Derivatives" + - "Wave_Eq_Staggered" + - "Complex" + uses: "SciML/.github/.github/workflows/tests.yml@v1" + with: + group: "${{ matrix.group }}" + secrets: "inherit" diff --git a/Project.toml b/Project.toml index c78e3b3a0..a49555000 100644 --- a/Project.toml +++ b/Project.toml @@ -39,8 +39,8 @@ SafeTestsets = "0.0.1" SciMLBase = "2" StaticArrays = "1" SymbolicIndexingInterface = "0.3.0" -SymbolicUtils = "2" -Symbolics = "5.30.1" +SymbolicUtils = "2, 3" +Symbolics = "5.30.1, 6" TermInterface = "0.4, 2" julia = "1.10" diff --git a/docs/Project.toml b/docs/Project.toml index 13776daa9..08bc866aa 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -42,9 +42,9 @@ SafeTestsets = "0.0.1" SciMLBase = "2" StaticArrays = "1" SymbolicIndexingInterface = "0.3.0" -SymbolicUtils = "2" -Symbolics = "5.30.1" -TermInterface = "0.4" +SymbolicUtils = "2, 3" +Symbolics = "5.30.1, 6" +TermInterface = "0.4, 2" julia = "1.9" [extras] diff --git a/test/pde_systems/MOLtest2.jl b/test/pde_systems/MOLtest2.jl index 889946593..100fba75e 100644 --- a/test/pde_systems/MOLtest2.jl +++ b/test/pde_systems/MOLtest2.jl @@ -457,7 +457,7 @@ end bcs = [Tₛ(0, φ) ~ 12 - 40 * P₂(sin(φ)), Dφ(Tₛ(t, φmin)) ~ 0.0, Dφ(Tₛ(t, φmax)) ~ 0.0] - domains = [t in IntervalDomain(0, 19 * s_in_y), φ in IntervalDomain(φmin, φmax)] + domains = [t in Interval(0, 19 * s_in_y), φ in Interval(φmin, φmax)] @named sys = PDESystem(eq, bcs, domains, [t, φ], [Tₛ(t, φ)]) diff --git a/test/pde_systems/brusselator_eq.jl b/test/pde_systems/brusselator_eq.jl index 01be4ea50..7393b97da 100644 --- a/test/pde_systems/brusselator_eq.jl +++ b/test/pde_systems/brusselator_eq.jl @@ -111,9 +111,9 @@ using ModelingToolkit, MethodOfLines, LinearAlgebra, OrdinaryDiffEq @testset "." begin for k in div(length(t), 2):length(t) msolu = msol.u[k][:, :, 1] - @test solu[2:end, 2:end, k]≈msol[k][:, :, 1] rtol=0.1 + @test solu[2:end, 2:end, k]≈msol.u[k][:, :, 1] rtol=0.1 msolv = msol.u[k][:, :, 2] - @test solv[2:end, 2:end, k]≈msol[k][:, :, 2] rtol=0.1 + @test solv[2:end, 2:end, k]≈msol.u[k][:, :, 2] rtol=0.1 end end