Skip to content

Commit

Permalink
Merge branch 'master' of github.com:gridap/Gridap.jl into conforming-…
Browse files Browse the repository at this point in the history
…fespaces
  • Loading branch information
JordiManyer committed Nov 8, 2024
2 parents c442b98 + 06de5f7 commit 273e52d
Show file tree
Hide file tree
Showing 70 changed files with 2,294 additions and 513 deletions.
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/" # Location of package manifests
schedule:
interval: "monthly"
25 changes: 25 additions & 0 deletions .github/workflows/Documenter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Documentation

on: [push, pull_request]

# Cancel redundant CI tests automatically
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: '1.10'
- uses: julia-actions/cache@v2
- name: Install dependencies
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- name: Build and deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key
run: julia --project=docs/ docs/make.jl
37 changes: 37 additions & 0 deletions .github/workflows/Downgrade.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Downgrade

on: [pull_request, workflow_dispatch]

# Cancel redundant CI tests automatically
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
downgrade:
name: Downgrade ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.8' # Needs to be lowest supported version
os:
- ubuntu-latest
arch:
- x64
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- run: julia -e 'using InteractiveUtils; versioninfo(verbose=true)'
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-downgrade-compat@v1
with: # As per documentation, we exclude packages within the Julia standard library
skip: LinearAlgebra,SparseArrays,Random,Statistics,Test
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
with:
coverage: false
61 changes: 61 additions & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Benchmarks

on:
workflow_dispatch:
inputs:
target:
description: 'Target branch'
required: true
type: string
base:
description: 'Base branch'
required: true
default: 'master'
type: string

jobs:
benchmark:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
version:
- '1.10'
arch:
- x64
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- run: |
git fetch --tags
git branch --create-reflog main origin/main
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- 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
- name: Install Gridap in main environment
run: julia -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- name: Install dependencies
run: julia --project=benchmark/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- name: Run benchmarks
run: julia --project=benchmark/ --color=yes benchmark/run_benchmarks.jl
env:
BM_BASE: ${{ github.event.inputs.base }}
BM_TARGET: ${{ github.event.inputs.target }}
- uses: actions/upload-artifact@v4
with:
name: benchmarks
path: benchmark/benchmark_results.md
85 changes: 32 additions & 53 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,97 +1,76 @@
name: CI
on: [push, pull_request]

on: [push, pull_request, workflow_dispatch]

# Cancel redundant CI tests automatically
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
test:
test: # Main CI tests
name: Tests ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
matrix: # Main tests for linux
version:
- '1.8'
- '1.9'
- '1.10'
os:
- ubuntu-latest
arch:
- x64
include: # Test macos/windows on latest LTS + x86 on ubuntu
- version: '1.10'
os: macos-latest
arch: aarch64
- version: '1.10'
os: windows-latest
arch: x64
- version: '1.10'
os: ubuntu-latest
arch: x86
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v1
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/cache@v2
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v4
with:
file: lcov.info
verbose: true
token: ${{ secrets.CODECOV_TOKEN }}

drivers:
name: Drivers ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.8'
- '1.10'
os:
- ubuntu-latest
arch:
- x64
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v1
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/cache@v2
- uses: julia-actions/julia-buildpkg@v1
- run: |
julia --color=yes --project=. --check-bounds=yes --depwarn=error -e '
using Pkg; Pkg.instantiate()'
- run: |
julia --color=yes --project=. --check-bounds=yes --depwarn=error -e '
(1,) .== 1; include("test/GridapTests/runtests.jl")'
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
with:
version: '1.8'
- run: |
julia --project=docs -e '
using Pkg
Pkg.develop(PackageSpec(path=pwd()))
Pkg.instantiate()'
# - run: |
# julia --project=docs -e '
# using Documenter: doctest
# using Gridap
# doctest(Gridap)'
- run: julia --project=docs docs/make.jl
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
include("test/GridapTests/runtests.jl")'
39 changes: 0 additions & 39 deletions .github/workflows/ci_x86.yml

This file was deleted.

15 changes: 14 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,26 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
## [0.18.7] - 2024-10-8

### Added

- Added MacroFElements. These are defined as having the basis/dof-basis of a FESpace created on top of a RefinementRule. Since PR[#1024](https://github.com/gridap/Gridap.jl/pull/1024).
- Added Barycentric refinement rule in 2D and 3D. Added Simplexify refinement rule. Since PR[#1024](https://github.com/gridap/Gridap.jl/pull/1024).
- Added names to vector and tensor components in VTK exports, to avoid Paraview's automatic (sometimes wrong) guesses. See `TensorValues.indep_components_names`. Since PR[#1038](https://github.com/gridap/Gridap.jl/pull/1038).
- Misc improvements of the `TensorValues` module: See `TensorValues.indep_components_names`. Since PR[#1040](https://github.com/gridap/Gridap.jl/pull/1040).
- Documented all symbols exported by the module
- Improved and added test for some API function of `MultiValue` (general `diag` of 2nd order tensors, fixed `convert` of 3rd order tensors to SArray, avoid unwanted fallback of `num_components` on `MultiValue` types with undefined dimensions, more autodiff tests, better `double_contraction` API (prevent invalid operation giving indexing errors and enable valid operations)).
- Added a clear separation between the physical components access (`getindex`, `num_components`) and the numerical access to the stored independent components (`num_indep_components`, `indep_comp_getindex`) to enable using symmetric tensor types as unknown in FE Spaces.
- Implemented automatic differentiation `gradient` and `laplacian` for second order tensor, and `divergence` for third order tensors.
- Added `AbstractSymTensorValue`, an abstract type for second order symmetric tensors, and `SymTracelessTensorValue` (aliased to `QTensorValue`), a type for traceless symmetric tensors. `SymTensorValue` is now subtype of `AbstractSymTensorValue`.
- A convergence test for Poisson problem of `QTensorValue` unknown field validates the implementation.
- Added support for benchmarking, through `PkgBenchmark.jl`. Since PR[#1039](https://github.com/gridap/Gridap.jl/pull/1039).
- Added code quality tests, through `Aqua.jl`. Since PR[#1039](https://github.com/gridap/Gridap.jl/pull/1039).

### Fixed

- Fixed constructor of RungeKutta with only one solver. Since PR[#999](https://github.com/gridap/Gridap.jl/pull/999).

### Changed

Expand Down
41 changes: 24 additions & 17 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "Gridap"
uuid = "56d4f2e9-7ea1-5844-9cf6-b9c51ca7ce8e"
authors = ["Santiago Badia <[email protected]>", "Francesc Verdugo <[email protected]>", "Alberto F. Martin <[email protected]>"]
version = "0.18.6"
version = "0.18.7"

[deps]
AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
Expand Down Expand Up @@ -33,30 +33,37 @@ WriteVTK = "64499a7a-5c06-52f2-abe2-ccb03c286192"

[compat]
AbstractTrees = "0.3.3, 0.4"
BSON = "0.2.5, 0.3"
BlockArrays = "0.12.12, 0.13, 0.14, 0.15, 0.16"
Combinatorics = "1.0.0"
Aqua = "0.8"
BSON = "0.3.4"
BlockArrays = "1"
Combinatorics = "1"
DataStructures = "0.18.13"
DocStringExtensions = "0.8.1, 0.9"
FastGaussQuadrature = "0.4.2, 1"
FileIO = "1.2.2, 1.3, 1.4"
FillArrays = "0.8.4, 0.9, 0.10, 0.11, 0.12, 0.13, 1"
ForwardDiff = "0.10.10"
JLD2 = "0.1.11, 0.3, 0.4, 0.5"
JSON = "0.21.0"
FastGaussQuadrature = "0.4.5, 1"
FileIO = "1.5"
FillArrays = "1.11"
ForwardDiff = "0.10.14"
JLD2 = "0.5"
JSON = "0.21"
LineSearches = "7.0.1"
NLsolve = "4.3.0"
LinearAlgebra = "1"
NLsolve = "4.5.1"
NearestNeighbors = "0.4.8"
PolynomialBases = "0.4.12"
PolynomialBases = "0.4.13"
Preferences = "1.4"
QuadGK = "2.3.1, 2.4"
QuadGK = "2.4"
Random = "1"
SparseArrays = "1"
SparseMatricesCSR = "0.6.4"
StaticArrays = "0.12.1, 1.0"
WriteVTK = "1.12.0"
julia = "1.3"
StaticArrays = "1.4"
Statistics = "1"
Test = "1"
WriteVTK = "1.21.1"
julia = "1.6"

[extras]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Test"]
test = ["Aqua", "Test"]
Loading

0 comments on commit 273e52d

Please sign in to comment.