Skip to content

Commit 968dff2

Browse files
authored
Various CI and compat updates (#50)
* Various CI and compat updates * add dep to test Project * relax Random compat * news and more test deps * add LinearAlgebra dep
1 parent 77d03e0 commit 968dff2

8 files changed

Lines changed: 121 additions & 80 deletions

File tree

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,15 @@ updates:
55
directory: "/" # Location of package manifests
66
schedule:
77
interval: "weekly"
8+
- package-ecosystem: "julia"
9+
directories: # Location of Julia projects
10+
- "/"
11+
- "/docs"
12+
- "/test"
13+
schedule:
14+
interval: "weekly"
15+
groups:
16+
# Group all Julia package updates into a single PR:
17+
all-julia-packages:
18+
patterns:
19+
- "*"

.github/workflows/ci.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@ jobs:
1515
os: [ubuntu-latest, macOS-latest, windows-latest]
1616
steps:
1717
- uses: actions/checkout@v6
18-
- uses: julia-actions/setup-julia@v2
18+
- uses: julia-actions/setup-julia@v3
1919
with:
2020
version: ${{ matrix.julia-version }}
21-
arch: x64
2221
- uses: julia-actions/julia-buildpkg@latest
2322
- uses: julia-actions/julia-runtest@latest
2423
- uses: julia-actions/julia-uploadcodecov@latest
File renamed without changes.

.github/workflows/nightly.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@ jobs:
1212
os: [ubuntu-latest, macOS-latest, windows-latest]
1313
steps:
1414
- uses: actions/checkout@v6
15-
- uses: julia-actions/setup-julia@v2
15+
- uses: julia-actions/setup-julia@v3
1616
with:
1717
version: ${{ matrix.julia-version }}
18-
arch: x64
1918
- uses: julia-actions/julia-buildpkg@latest
2019
- uses: julia-actions/julia-runtest@latest

NEWS.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.2.7] - 2026-04-20
9+
10+
### Changed
11+
12+
* Compatibility with `OrdinaryDiffEqCore` v3 instead of v1.
13+
* Updated setup-julia action to v3.
14+
* Use dependabot instead of CompatHelper for dependency updates.
15+
816
## [0.2.6] - 2025-10-21
917

1018
### Changed

Project.toml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ManifoldDiffEq"
22
uuid = "1143c485-9b25-4e23-a65f-701df382ec90"
3-
version = "0.2.6"
3+
version = "0.2.7"
44
authors = ["Seth Axen <seth.axen@gmail.com>", "Mateusz Baran <mateuszbaran89@gmail.com>", "Ronny Bergmann <manopt@ronnybergmann.net>", "Antoine Levitt <antoine.levitt@gmail.com>"]
55

66
[deps]
@@ -13,11 +13,15 @@ Manifolds = "1cead3c2-87b3-11e9-0ccd-23c62b72b94e"
1313
ManifoldsBase = "3362f125-f0bb-47a3-aa74-596ffd7ef2fb"
1414
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
1515
OrdinaryDiffEqCore = "bbf590c4-e513-4bbe-9b18-05decba2e5d8"
16+
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
1617
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
1718
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
1819
SciMLOperators = "c0aeaf25-5076-4817-a8d5-81caf7dfa961"
1920
SimpleUnPack = "ce78b400-467f-4804-87d8-8f486da07d0a"
2021

22+
[workspace]
23+
projects = ["test", "docs"]
24+
2125
[compat]
2226
Accessors = "0.1"
2327
ConstructionBase = "1"
@@ -28,8 +32,9 @@ LinearAlgebra = "1.6"
2832
Manifolds = "0.11"
2933
ManifoldsBase = "2"
3034
Markdown = "1.6"
31-
OrdinaryDiffEqCore = "1"
32-
RecursiveArrayTools = "2, 3"
35+
OrdinaryDiffEqCore = "3"
36+
Random = "1.10"
37+
RecursiveArrayTools = "2, 3, 4"
3338
SciMLBase = "1, 2"
3439
SciMLOperators = "1"
3540
SimpleUnPack = "1"

src/ManifoldDiffEq.jl

Lines changed: 69 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ using LieGroups: AbstractLieGroup, GroupAction, base_lie_group, diff_group_apply
1010
using Manifolds
1111
using ManifoldsBase: retract_fused, retract_fused!, base_manifold
1212

13+
using Random
1314

1415
using Accessors: @set
1516

@@ -256,6 +257,15 @@ function SciMLBase.__init(
256257
allow_extrapolation = alg_extrapolates(alg),
257258
initialize_integrator = true,
258259
initializealg = DefaultInit(),
260+
# some new things
261+
save_noise = false,
262+
delta = nothing,
263+
W = nothing,
264+
P = nothing,
265+
sqdt = nothing,
266+
noise = nothing,
267+
c = nothing,
268+
rate_constants = nothing,
259269
kwargs...,
260270
) where {recompile_flag}
261271
isdae = false
@@ -442,9 +452,16 @@ function SciMLBase.__init(
442452
internalnorm = ODE_DEFAULT_NORM
443453
save_discretes = true
444454

455+
controller_cache = OrdinaryDiffEqCore.setup_controller_cache(_alg, nothing, controller)
456+
_tstops_cache = tstops
457+
458+
verbose_spec = OrdinaryDiffEqCore._process_verbose_param(verbose)
459+
445460
opts = DEOptions{
446461
typeof(abstol_internal), typeof(reltol_internal),
447-
QT, tType, typeof(controller),
462+
QT, tType,
463+
# typeof(controller),
464+
typeof(controller_cache),
448465
typeof(internalnorm), typeof(internalopnorm),
449466
typeof(save_end_user),
450467
typeof(callbacks_internal),
@@ -453,40 +470,47 @@ function SciMLBase.__init(
453470
typeof(tstops_internal),
454471
typeof(d_discontinuities_internal), typeof(userdata),
455472
typeof(save_idxs),
456-
typeof(maxiters), typeof(tstops),
457-
typeof(saveat), typeof(d_discontinuities),
473+
typeof(maxiters), typeof(_tstops_cache),
474+
typeof(saveat), typeof(d_discontinuities), typeof(verbose_spec),
475+
typeof(delta),
458476
}(
459477
maxiters, save_everystep,
460478
adaptive, abstol_internal,
461479
reltol_internal,
462-
QT(gamma), QT(qmax),
480+
# TODO vvv remove this block as these are controller and not integrator parameters vvv
481+
QT(gamma),
482+
QT(qmax),
463483
QT(qmin),
464484
QT(qsteady_max),
465485
QT(qsteady_min),
466486
QT(qoldinit),
487+
# TODO ^^^remove this block as these are controller and not integrator parameters ^^^
467488
QT(failfactor),
468489
tType(dtmax), tType(dtmin),
469-
controller,
490+
# TODO vvv remove this vvv
491+
# controller,
492+
controller_cache,
493+
# TODO ^^^ remove this ^^^
470494
internalnorm,
471495
internalopnorm,
472496
save_idxs, tstops_internal,
473497
saveat_internal,
474498
d_discontinuities_internal,
475-
tstops, saveat,
499+
_tstops_cache, saveat,
476500
d_discontinuities,
477501
userdata, progress,
478502
progress_steps,
479503
progress_name,
480504
progress_message,
481505
progress_id,
482506
timeseries_errors,
483-
dense_errors, dense,
507+
dense_errors, delta, dense,
484508
save_on, save_start,
485-
save_end, save_discretes, save_end_user,
509+
save_end, save_noise, save_discretes, save_end_user,
486510
callbacks_internal,
487511
isoutofdomain,
488512
unstable_check,
489-
verbose, calck, force_dtmin,
513+
verbose_spec, calck, force_dtmin,
490514
advance_to_tstop,
491515
stop_at_next_tstop
492516
)
@@ -548,77 +572,49 @@ function SciMLBase.__init(
548572
#fsalfirst, fsallast = get_fsalfirstlast(cache, rate_prototype)
549573
fsalfirst, fsallast = allocate(rate_prototype), allocate(rate_prototype)
550574

575+
_rng = Random.default_rng()
576+
_dt = dt
577+
next_step_tstop = false
578+
tstop_target = zero(t)
579+
reinitialize = true
580+
551581
integrator = ODEIntegrator{
552-
typeof(_alg),
553-
isinplace(prob),
554-
uType,
555-
typeof(du),
556-
tType,
557-
typeof(p),
558-
typeof(eigen_est),
559-
typeof(EEst),
560-
QT,
561-
typeof(tdir),
562-
typeof(k),
563-
SolType,
564-
FType,
565-
cacheType,
566-
typeof(opts),
567-
typeof(fsalfirst),
568-
typeof(last_event_error),
569-
typeof(callback_cache),
570-
typeof(initializealg),
571-
typeof(differential_vars),
582+
typeof(_alg), isinplace(prob), uType, typeof(du),
583+
tType, typeof(p),
584+
typeof(eigen_est), EEstT,
585+
QT, typeof(tdir), typeof(k), SolType,
586+
FType, cacheType,
587+
typeof(opts), typeof(fsalfirst),
588+
typeof(last_event_error), typeof(callback_cache),
589+
typeof(initializealg), typeof(differential_vars),
590+
typeof(controller_cache), typeof(_rng),
591+
typeof(W), typeof(P), typeof(sqdt),
592+
typeof(noise), typeof(c), typeof(rate_constants),
572593
}(
573-
sol,
574-
u,
575-
du,
576-
k,
577-
t,
578-
tType(dt),
579-
f,
580-
p,
581-
uprev,
582-
uprev2,
583-
duprev,
584-
tprev,
585-
_alg,
586-
dtcache,
587-
dtchangeable,
588-
dtpropose,
589-
tdir,
590-
eigen_est,
591-
EEst,
592-
QT(qoldinit),
593-
q11,
594-
erracc,
595-
dtacc,
594+
sol, u, du, k, t, tType(_dt), f, p,
595+
uprev, uprev2, duprev, tprev,
596+
_alg, dtcache, dtchangeable,
597+
dtpropose, tdir, eigen_est, EEst,
598+
# TODO vvv remove these
599+
QT(qoldinit), q11,
600+
erracc, dtacc,
601+
# TODO ^^^ remove these
602+
controller_cache,
596603
success_iter,
597-
iter,
598-
saveiter,
599-
saveiter_dense,
600-
cache,
604+
iter, saveiter, saveiter_dense, cache,
601605
callback_cache,
602-
kshortsize,
603-
force_stepfail,
606+
kshortsize, force_stepfail,
604607
last_stepfail,
605-
just_hit_tstop,
606-
do_error_check,
608+
just_hit_tstop, next_step_tstop, tstop_target, do_error_check,
607609
event_last_time,
608610
vector_event_last_time,
609-
last_event_error,
610-
accept_step,
611-
isout,
612-
reeval_fsal,
613-
u_modified,
614-
reinitiailize,
615-
isdae,
616-
opts,
617-
stats,
618-
initializealg,
619-
differential_vars,
620-
fsalfirst,
621-
fsallast,
611+
last_event_error, accept_step,
612+
isout, reeval_fsal,
613+
u_modified, reinitialize, isdae,
614+
opts, stats, initializealg, differential_vars,
615+
fsalfirst, fsallast, _rng,
616+
W, P, sqdt,
617+
noise, c, rate_constants, QT(1)
622618
)
623619

624620
if initialize_integrator

test/Project.toml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
[deps]
2+
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
3+
DoubleFloats = "497a8b3b-efae-58df-a0af-a86822472b78"
4+
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
5+
LieGroups = "6774de46-80ba-43f8-ba42-e41071ccfc5f"
6+
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
7+
Manifolds = "1cead3c2-87b3-11e9-0ccd-23c62b72b94e"
8+
ManifoldDiffEq = "1143c485-9b25-4e23-a65f-701df382ec90"
9+
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
10+
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
11+
ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
12+
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
13+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
14+
15+
[sources]
16+
ManifoldDiffEq = {path = ".."}
17+
18+
[compat]
19+
DiffEqBase = "6"
20+
ManifoldDiffEq = "0.2"
21+
Test = "1.10"
22+
julia = "1.10"

0 commit comments

Comments
 (0)