Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
7208a4c
use julia-downgrade-compat@v2
JoshuaLampert Jul 29, 2025
471aafe
bump compat of DiffEqBase.jl to 6.155.4
JoshuaLampert Jul 29, 2025
793ada9
bump compat of Reexport.jl v1.2.2
JoshuaLampert Jul 29, 2025
3c7be8e
try mode: all
JoshuaLampert Aug 5, 2025
bb4f779
put mode at correct location
JoshuaLampert Aug 5, 2025
468bc62
set mode to deps
JoshuaLampert Aug 5, 2025
07a59b2
use same compat for Reexport.jl as before
JoshuaLampert Aug 5, 2025
381cb8d
Merge branch 'main' into downgrade-v2
JoshuaLampert Feb 24, 2026
d843344
forcedeps, julia_version, force_latest_compatible_version
JoshuaLampert Feb 24, 2026
8b58eed
remove ignore in dependabot
JoshuaLampert Feb 24, 2026
bdb00cb
bump compats as suggested by Resolver.jl
JoshuaLampert Feb 24, 2026
b513f80
Merge branch 'main' into downgrade-v2
JoshuaLampert Feb 26, 2026
54db076
use default julia_version
JoshuaLampert Feb 26, 2026
6be1ff5
bump StaticArrays.jl to v1.9.8
JoshuaLampert Feb 26, 2026
05552cf
Merge branch 'main' into downgrade-v2
JoshuaLampert Mar 2, 2026
3623cb9
manually run tests
JoshuaLampert Mar 2, 2026
be561b8
try to cd into test/ first
JoshuaLampert Mar 2, 2026
419781a
path ..
JoshuaLampert Mar 2, 2026
f407de7
Merge branch 'main' into downgrade-v2
JoshuaLampert Mar 2, 2026
07b806b
add comment
JoshuaLampert Mar 2, 2026
b26ad44
do not cd into test/
JoshuaLampert Mar 3, 2026
01c62dd
Merge branch 'main' into downgrade-v2
JoshuaLampert Mar 3, 2026
1ff266a
use at__DIR__
JoshuaLampert Mar 3, 2026
68c4d5c
test if error is specific to threaded tests
JoshuaLampert Mar 3, 2026
082b5f6
try with Pkg.test and allow_reresolve = false
JoshuaLampert Mar 3, 2026
45bac1e
drop support for HDF5.jl v0.16
JoshuaLampert Mar 3, 2026
3cc0d6b
don't use Pkg.test
JoshuaLampert Mar 3, 2026
ce28af4
pass TRIXI_TEST as environment variable
JoshuaLampert Mar 3, 2026
87c67c6
downgrade TRIXI_TEST
JoshuaLampert Mar 3, 2026
65aa3c7
add misssing if
JoshuaLampert Mar 3, 2026
6d09ade
Merge branch 'main' into downgrade-v2
JoshuaLampert Mar 3, 2026
438bac5
Merge branch 'main' into downgrade-v2
ranocha Mar 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,3 @@ updates:
all-github-actions:
patterns:
- "*"
ignore:
- dependency-name: "julia-actions/julia-downgrade-compat"
versions: [ ">=2.0.0" ]
26 changes: 16 additions & 10 deletions .github/workflows/Downgrade.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@ jobs:
# - performance_specializations_part1
# - performance_specializations_part2
# - mpi
- threaded
# - threaded
- downgrade
steps:
- uses: actions/checkout@v6
- uses: julia-actions/setup-julia@v2
Expand All @@ -75,17 +76,22 @@ jobs:
arch: ${{ matrix.arch }}
- run: julia -e 'using InteractiveUtils; versioninfo(verbose=true)'
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-downgrade-compat@v1
- uses: julia-actions/julia-downgrade-compat@v2
with:
skip: LinearAlgebra,Printf,SparseArrays,UUIDs,DelimitedFiles,Test,Downloads,Random
projects: ., test
- uses: julia-actions/julia-buildpkg@v1
mode: forcedeps
# We run the tests manually instead of using julia-action/julia-builpkg and julia-action/julia-runtest or `Pkg.test`
# because otherwise the downgraded Manifest.toml is not used in the tests under julia <v1.12
# see also https://github.com/julia-actions/julia-downgrade-compat/blob/00f940b7be2b50389571ed016d603be561649103/README.md#L89
- name: Run tests
run: |
julia --project=test --color=yes -e '
import Pkg
Pkg.develop(Pkg.PackageSpec(path=pwd()))
Pkg.instantiate()
Pkg.status(; mode = Pkg.PKGMODE_MANIFEST)
include("test/runtests.jl")
'
env:
PYTHON: ''
- name: Run tests without coverage
uses: julia-actions/julia-runtest@v1
with:
coverage: false
env:
PYTHON: ''
TRIXI_TEST: ${{ matrix.trixi_test }}
12 changes: 6 additions & 6 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ Accessors = "0.1.36"
Adapt = "4.1"
CUDA = "5.8.2"
CodeTracking = "1.0.5, 2, 3"
ConstructionBase = "1.5"
ConstructionBase = "1.5.8"
Convex = "0.16"
DataStructures = "0.18.15, 0.19"
DelimitedFiles = "1"
Expand All @@ -84,7 +84,7 @@ ECOS = "1.1.2"
EllipsisNotation = "1.0"
FillArrays = "1.9"
ForwardDiff = "0.10.36, 1"
HDF5 = "0.16.10, 0.17"
HDF5 = "0.17"
KernelAbstractions = "0.9.36"
LinearAlgebra = "1"
LinearMaps = "2.7, 3.0"
Expand All @@ -97,12 +97,12 @@ Octavian = "0.3.28"
OffsetArrays = "1.13"
P4est = "0.4.12"
Polyester = "=0.7.16, 0.7.18"
PrecompileTools = "1.2"
Preferences = "1.4"
PrecompileTools = "1.2.1"
Preferences = "1.4.3"
Printf = "1"
RecipesBase = "1.3.4"
RecursiveArrayTools = "3.31.1"
Reexport = "1.2"
Reexport = "1.2.2"
Requires = "1.3"
SciMLBase = "2.92.0"
SimpleUnPack = "1.1"
Expand All @@ -112,7 +112,7 @@ StableRNGs = "1.0.2"
StartUpDG = "1.1.5"
Static = "1.1.1"
StaticArrayInterface = "1.5.1"
StaticArrays = "1.9"
StaticArrays = "1.9.8"
StrideArrays = "0.1.29"
StructArrays = "0.6.20, 0.7"
SummationByPartsOperators = "0.5.52"
Expand Down
72 changes: 40 additions & 32 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const TRIXI_NTHREADS = clamp(Sys.CPU_THREADS, 2, 3)

# We provide a `--heap-size-hint` to avoid/reduce out-of-memory errors during CI testing
mpiexec() do cmd
run(`$cmd -n $TRIXI_MPI_NPROCS $(Base.julia_cmd()) --threads=1 --check-bounds=yes --heap-size-hint=0.5G $(abspath("test_mpi.jl"))`)
run(`$cmd -n $TRIXI_MPI_NPROCS $(Base.julia_cmd()) --threads=1 --check-bounds=yes --heap-size-hint=0.5G $(joinpath(@__DIR__, "test_mpi.jl"))`)
return nothing
end
end
Expand All @@ -34,87 +34,95 @@ const TRIXI_NTHREADS = clamp(Sys.CPU_THREADS, 2, 3)
# cf. https://github.com/JuliaParallel/MPI.jl/pull/391
@test true

run(`$(Base.julia_cmd()) --threads=$TRIXI_NTHREADS --check-bounds=yes --code-coverage=none $(abspath("test_threaded.jl"))`)
run(`$(Base.julia_cmd()) --threads=$TRIXI_NTHREADS --check-bounds=yes --code-coverage=none $(joinpath(@__DIR__, "test_threaded.jl"))`)
end

# Downgrade CI currently has issues with running julia processes via `run`, see
# https://github.com/trixi-framework/Trixi.jl/pull/2507#issuecomment-3990318366
# So we run test_threaded.jl serially.
# For `TRIXI_TEST = "all"`, test_threaded.jl is already covered by the threaded run, so we don't need to run it again.
@time if TRIXI_TEST == "downgrade"
include(joinpath(@__DIR__, "test_threaded.jl"))
end

@time if TRIXI_TEST == "all" || TRIXI_TEST == "tree_part1"
include("test_tree_1d.jl")
include("test_tree_2d_part1.jl")
include(joinpath(@__DIR__, "test_tree_1d.jl"))
include(joinpath(@__DIR__, "test_tree_2d_part1.jl"))
end
@time if TRIXI_TEST == "all" || TRIXI_TEST == "tree_part2"
include("test_tree_2d_part2.jl")
include(joinpath(@__DIR__, "test_tree_2d_part2.jl"))
end
@time if TRIXI_TEST == "all" || TRIXI_TEST == "tree_part3"
include("test_tree_2d_part3.jl")
include(joinpath(@__DIR__, "test_tree_2d_part3.jl"))
end
@time if TRIXI_TEST == "all" || TRIXI_TEST == "tree_part4"
include("test_tree_3d_part1.jl")
include(joinpath(@__DIR__, "test_tree_3d_part1.jl"))
end
@time if TRIXI_TEST == "all" || TRIXI_TEST == "tree_part5"
include("test_tree_3d_part2.jl")
include(joinpath(@__DIR__, "test_tree_3d_part2.jl"))
end
@time if TRIXI_TEST == "all" || TRIXI_TEST == "tree_part6"
include("test_tree_3d_part3.jl")
include(joinpath(@__DIR__, "test_tree_3d_part3.jl"))
end

@time if TRIXI_TEST == "all" || TRIXI_TEST == "structured"
include("test_structured_1d.jl")
include("test_structured_2d.jl")
include("test_structured_3d.jl")
include(joinpath(@__DIR__, "test_structured_1d.jl"))
include(joinpath(@__DIR__, "test_structured_2d.jl"))
include(joinpath(@__DIR__, "test_structured_3d.jl"))
end

@time if TRIXI_TEST == "all" || TRIXI_TEST == "p4est_part1"
include("test_p4est_2d.jl")
include(joinpath(@__DIR__, "test_p4est_2d.jl"))
end
@time if TRIXI_TEST == "all" || TRIXI_TEST == "p4est_part2"
include("test_p4est_3d.jl")
include(joinpath(@__DIR__, "test_p4est_3d.jl"))
end

@time if TRIXI_TEST == "all" || TRIXI_TEST == "t8code_part1"
include("test_t8code_2d.jl")
include(joinpath(@__DIR__, "test_t8code_2d.jl"))
end
@time if TRIXI_TEST == "all" || TRIXI_TEST == "t8code_part2"
include("test_t8code_3d.jl")
include(joinpath(@__DIR__, "test_t8code_3d.jl"))
end

@time if TRIXI_TEST == "all" || TRIXI_TEST == "unstructured_dgmulti"
include("test_unstructured_2d.jl")
include("test_dgmulti_1d.jl")
include("test_dgmulti_2d.jl")
include("test_dgmulti_3d.jl")
include(joinpath(@__DIR__, "test_unstructured_2d.jl"))
include(joinpath(@__DIR__, "test_dgmulti_1d.jl"))
include(joinpath(@__DIR__, "test_dgmulti_2d.jl"))
include(joinpath(@__DIR__, "test_dgmulti_3d.jl"))
end

@time if TRIXI_TEST == "all" || TRIXI_TEST == "parabolic_part1"
include("test_parabolic_1d.jl")
include("test_parabolic_2d.jl")
include(joinpath(@__DIR__, "test_parabolic_1d.jl"))
include(joinpath(@__DIR__, "test_parabolic_2d.jl"))
end
@time if TRIXI_TEST == "all" || TRIXI_TEST == "parabolic_part2"
include("test_parabolic_3d.jl")
include(joinpath(@__DIR__, "test_parabolic_3d.jl"))
end

@time if TRIXI_TEST == "all" || TRIXI_TEST == "misc_part1"
include("test_unit.jl")
include("test_type.jl")
include("test_visualization.jl")
include(joinpath(@__DIR__, "test_unit.jl"))
include(joinpath(@__DIR__, "test_type.jl"))
include(joinpath(@__DIR__, "test_visualization.jl"))
end
@time if TRIXI_TEST == "all" || TRIXI_TEST == "misc_part2"
include("test_special_elixirs.jl")
include("test_aqua.jl")
include(joinpath(@__DIR__, "test_special_elixirs.jl"))
include(joinpath(@__DIR__, "test_aqua.jl"))
end

@time if TRIXI_TEST == "all" || TRIXI_TEST == "performance_specializations"
include("test_performance_specializations_2d.jl")
include("test_performance_specializations_3d.jl")
include(joinpath(@__DIR__, "test_performance_specializations_2d.jl"))
include(joinpath(@__DIR__, "test_performance_specializations_3d.jl"))
end

@time if TRIXI_TEST == "all" || TRIXI_TEST == "paper_self_gravitating_gas_dynamics"
include("test_paper_self_gravitating_gas_dynamics.jl")
include(joinpath(@__DIR__, "test_paper_self_gravitating_gas_dynamics.jl"))
end

@time if TRIXI_TEST == "all" || TRIXI_TEST == "CUDA"
import CUDA
if CUDA.functional()
include("test_cuda.jl")
include(joinpath(@__DIR__, "test_cuda.jl"))
else
@warn "Unable to run CUDA tests on this machine"
end
Expand Down
Loading