Skip to content

Commit 2bd1e9f

Browse files
committed
Merge tag 'v0.4.13' into agfem
[Diff since v0.4.12](v0.4.12...v0.4.13) **Merged pull requests:** - Add Hcurl-projection test + fix BUG (#199) (@amartinhuertas)
2 parents 6ed24a5 + 03499e6 commit 2bd1e9f

40 files changed

+1794
-793
lines changed

.github/workflows/ci.yml

Lines changed: 61 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,93 @@
11
name: CI
2+
23
on:
3-
- push
4-
- pull_request
4+
push:
5+
branches: [master]
6+
paths-ignore:
7+
- 'CONTRIBUTING.md'
8+
- 'CODE_OF_CONDUCT.md'
9+
- 'LICENSE'
10+
- 'README.md'
11+
- 'NEWS.md'
12+
pull_request:
13+
paths-ignore:
14+
- 'CONTRIBUTING.md'
15+
- 'CODE_OF_CONDUCT.md'
16+
- 'LICENSE'
17+
- 'README.md'
18+
- 'NEWS.md'
19+
workflow_dispatch: # Allow manual triggering of the workflow from the Actions tab
20+
21+
# Cancel redundant CI runs: always for PRs, never for pushes to master
22+
concurrency:
23+
group: ${{ github.workflow }}-${{ github.ref }}
24+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
25+
526
jobs:
6-
SequentialTests:
7-
name: Serial Tests - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
8-
runs-on: ${{ matrix.os }}
27+
prime-cache:
28+
name: Prime cache - ${{ matrix.version }} - ubuntu-latest - x64
29+
runs-on: ubuntu-latest
930
strategy:
10-
fail-fast: false
1131
matrix:
12-
version:
13-
- '1.10'
14-
os:
15-
- ubuntu-latest
16-
arch:
17-
- x64
32+
version: ['lts', '1']
1833
steps:
19-
- uses: actions/checkout@v5
34+
- uses: actions/checkout@v6
2035
- uses: julia-actions/setup-julia@v2
2136
with:
2237
version: ${{ matrix.version }}
23-
arch: ${{ matrix.arch }}
38+
arch: x64
2439
- uses: julia-actions/cache@v2
2540
- uses: julia-actions/julia-buildpkg@v1
26-
- run: julia --project=. -e 'using Pkg; Pkg.instantiate()'
27-
- run: julia --project=. --color=yes --check-bounds=yes test/sequential/runtests.jl
28-
- uses: julia-actions/julia-processcoverage@v1
29-
- uses: codecov/codecov-action@v5
30-
with:
31-
verbose: true
32-
token: ${{ secrets.CODECOV_TOKEN }}
33-
flags: sequential
34-
MPITests:
35-
name: MPI Tests - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
36-
runs-on: ${{ matrix.os }}
41+
42+
test:
43+
needs: [prime-cache]
44+
name: ${{ matrix.testcase }} - ${{ matrix.version }} - ubuntu-latest - x64 - ${{ github.event_name }}
45+
runs-on: ubuntu-latest
3746
strategy:
3847
fail-fast: false
3948
matrix:
4049
version:
41-
- '1.10'
42-
os:
43-
- ubuntu-latest
44-
arch:
45-
- x64
50+
- 'lts'
51+
- '1'
52+
testcase:
53+
- seq-geometry
54+
- seq-fespaces
55+
- seq-physics
56+
- seq-transient
57+
- seq-adaptivity
58+
- seq-misc
59+
- mpi-geometry
60+
- mpi-fespaces
61+
- mpi-physics
62+
- mpi-transient
63+
- mpi-adaptivity
64+
- mpi-misc
4665
steps:
47-
- uses: actions/checkout@v5
48-
- uses: julia-actions/cache@v2
66+
- uses: actions/checkout@v6
4967
- uses: julia-actions/setup-julia@v2
5068
with:
5169
version: ${{ matrix.version }}
52-
arch: ${{ matrix.arch }}
53-
- run: |
54-
julia --project=test/TestApp/ -e '
55-
using Pkg
56-
Pkg.develop(PackageSpec(path=pwd()))
57-
Pkg.instantiate()'
58-
- run: cd test/TestApp/compile; ./compile.sh
59-
- run: julia --project=test/TestApp/ --color=yes --check-bounds=yes test/mpi/runtests.jl test/TestApp/compile/TestApp.so
70+
arch: x64
71+
- uses: julia-actions/cache@v2
72+
- uses: julia-actions/julia-buildpkg@v1
73+
- uses: julia-actions/julia-runtest@v1
74+
env:
75+
TESTCASE: ${{ matrix.testcase }}
6076
- uses: julia-actions/julia-processcoverage@v1
6177
- uses: codecov/codecov-action@v5
6278
with:
6379
verbose: true
6480
token: ${{ secrets.CODECOV_TOKEN }}
65-
flags: mpi
81+
flags: ${{ matrix.testcase }}
82+
6683
docs:
6784
name: Documentation
6885
runs-on: ubuntu-latest
6986
steps:
70-
- uses: actions/checkout@v5
87+
- uses: actions/checkout@v6
7188
- uses: julia-actions/setup-julia@v2
7289
with:
73-
version: '1.10'
90+
version: '1'
7491
- run: |
7592
julia --project=docs -e '
7693
using Pkg
@@ -79,4 +96,4 @@ jobs:
7996
- run: julia --project=docs docs/make.jl
8097
env:
8198
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
82-
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
99+
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}

NEWS.md

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,51 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.4.13] - 2026-03-16
11+
12+
### Fixed
13+
- BUG fix in `_generate_sign_flips(...)` private helper function for Nedelec elements. Since PR[#199](https://github.com/gridap/GridapDistributed.jl/pull/199).
14+
15+
### Added
16+
- An Hcurl projection test case. Since PR[#199](https://github.com/gridap/GridapDistributed.jl/pull/199).
17+
18+
## [0.4.12] - 2026-03-14
19+
20+
### Changed
21+
22+
- Split tests to reduce CI time, removed sysimage compilation. Since PR[#197](https://github.com/gridap/GridapDistributed.jl/pull/197).
23+
24+
### Fixed
25+
26+
- Fixed `is_slave == false` (comparison instead of assignment) in `DivConformingFESpaces`, and simplified the boundary-facet branch by removing the now-redundant `if/else`. Since PR[#196](https://github.com/gridap/GridapDistributed.jl/pull/196/).
27+
- Fixed `BlockPMatrix{V}(::UndefInitializer, rows, cols)` constructor dropping the `cols` argument, causing a `MethodError` at runtime. Since PR[#194](https://github.com/gridap/GridapDistributed.jl/pull/194/).
28+
- Fixed `local_views(::BlockPMatrix, rows, cols)` indexing 1D block-range vectors with a 2D `CartesianIndex`, causing `BoundsError` for any multi-field problem with ≥2 fields. Since PR[#194](https://github.com/gridap/GridapDistributed.jl/pull/194/).
29+
- Fixed `mul!(y::BlockPVector, A::BlockPMatrix, x::BlockPVector, α, β)` computing `α*β*(A*x)` instead of `α*(A*x) + β*y`; the 3-arg `mul!` was also updated to correctly zero `y` before accumulating. Since PR[#194](https://github.com/gridap/GridapDistributed.jl/pull/194/).
30+
- Replaced fragile closure side-effect in `DistributedVisualizationData.filebase` with `getany(map(...))` for correct and idiomatic behaviour in both debug and MPI modes. Since PR[#195](https://github.com/gridap/GridapDistributed.jl/pull/195/).
31+
- Changes required to generalize Nedelec Hexahedral elements for meshes beyond Cartesian Meshes. Since PR[#198](https://github.com/gridap/GridapDistributed.jl/pull/198/).
32+
33+
## [0.4.11] - 2026-02-20
34+
35+
### Added
36+
37+
- Added further support for polytopal methods and meshes. Since PR[#192](https://github.com/gridap/GridapDistributed.jl/pull/192).
38+
- Added new methods to ensure consistent orientation of faces across processors. Since PR[#192](https://github.com/gridap/GridapDistributed.jl/pull/192).
39+
- Added a new function `restrict_gids` to create a subsets of gids. Since PR[#192](https://github.com/gridap/GridapDistributed.jl/pull/192).
40+
- New overloads for the `TrialFESpace` constructor where the data to be imposed is passed as a `DistributedCellField`. Since PR[#185](https://github.com/gridap/GridapDistributed.jl/pull/185).
41+
- Added missing `FESpace` constructors for distributed triangulations specialized for the RT FEs case. Since PR[#188](https://github.com/gridap/GridapDistributed.jl/pull/188)
42+
- Added optional argument `isconsistent` to interpolate functions. Since PR[#190](https://github.com/gridap/GridapDistributed.jl/pull/190).
43+
44+
## [0.4.10] - 2025-09-29
45+
1046
### Added
1147

1248
- Added support for multiple ghost layers on cartesian models. Since PR[#182](https://github.com/gridap/GridapDistributed.jl/pull/182).
49+
- Added new way of doing AD for MultiField, where partials are computed separately for each field then merged together. Since PR[#176](https://github.com/gridap/GridapDistributed.jl/pull/176).
50+
51+
### Fixed
52+
53+
- Fixed issue [#177](https://github.com/gridap/GridapDistributed.jl/issues/177) and [#170](https://github.com/gridap/GridapDistributed.jl/issues/170). Since PR[#180](https://github.com/gridap/GridapDistributed.jl/pull/180).
54+
- Fixed issue where calling `Boundary(with_ghost, dmodel)` would return the local processor boundaries (which include the faces at the interface between processors) instead of returning the local part of the global boundary. Since PR[#180](https://github.com/gridap/GridapDistributed.jl/pull/180).
1355

1456
## [0.4.9] - 2025-08-08
1557

@@ -154,7 +196,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
154196

155197
### Fixed
156198

157-
- Added missing parameter to `allocate_jacobian`, needed after Gridap v0.17.18. Since PR [126](https://github.com/gridap/GridapDistributed.jl/pull/126).
199+
- Added missing parameter to `allocate_jacobian`, needed after Gridap v0.17.18. Since PR [126](https://github.com/gridap/GridapDistributed.jl/pull/126).
158200

159201
## [0.2.8] - 2023-07-31
160202

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "GridapDistributed"
22
uuid = "f9701e48-63b3-45aa-9a63-9bc6c271f355"
33
authors = ["S. Badia <santiago.badia@monash.edu>", "A. F. Martin <alberto.f.martin@anu.edu.au>", "F. Verdugo <f.verdugo.rojano@vu.nl>"]
4-
version = "0.4.9"
4+
version = "0.4.13"
55

66
[deps]
77
BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
@@ -21,7 +21,7 @@ BlockArrays = "1"
2121
CircularArrays = "1.4.0"
2222
FillArrays = "1"
2323
ForwardDiff = "0.10, 1"
24-
Gridap = "0.19.4"
24+
Gridap = "0.19.9"
2525
LinearAlgebra = "1"
2626
MPI = "0.16, 0.17, 0.18, 0.19, 0.20"
2727
PartitionedArrays = "0.3.3"

0 commit comments

Comments
 (0)