From 239e9bb926218540a4840e13ad381ef7fc0b0b1d Mon Sep 17 00:00:00 2001 From: Hendrik Ranocha Date: Wed, 9 Aug 2023 17:35:00 +0200 Subject: [PATCH 01/22] enable dependabot for GitHub actions --- .github/dependabot.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..d60f0707f --- /dev/null +++ b/.github/dependabot.yml @@ -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" From ffb8cfc2563628f94d0eb714cfd5090b972cb54a Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Wed, 6 Nov 2024 10:02:40 +1100 Subject: [PATCH 02/22] CI overhaul - Updated actions to newer versions - Expanded tests to windows and macos - Consolidated x64 and x86 tests in a single file - Moved documentation building to a new file - New Downgrade workflow - New Invalidations workflow --- .github/workflows/Documenter.yml | 26 +++++++++ .github/workflows/Downgrade.yml | 36 ++++++++++++ .github/workflows/Invalidations.yml | 37 ++++++++++++ .github/workflows/benchmark.yml | 5 ++ .github/workflows/ci.yml | 91 +++++++++++++---------------- .github/workflows/ci_x86.yml | 39 ------------- 6 files changed, 143 insertions(+), 91 deletions(-) create mode 100644 .github/workflows/Documenter.yml create mode 100644 .github/workflows/Downgrade.yml create mode 100644 .github/workflows/Invalidations.yml delete mode 100644 .github/workflows/ci_x86.yml diff --git a/.github/workflows/Documenter.yml b/.github/workflows/Documenter.yml new file mode 100644 index 000000000..9ba1ec69d --- /dev/null +++ b/.github/workflows/Documenter.yml @@ -0,0 +1,26 @@ +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' + - run: | + julia --project=docs -e ' + using Pkg + Pkg.develop(PackageSpec(path=pwd())) + Pkg.instantiate()' + - run: julia --project=docs docs/make.jl + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml new file mode 100644 index 000000000..5ad50a817 --- /dev/null +++ b/.github/workflows/Downgrade.yml @@ -0,0 +1,36 @@ +name: Downgrade + +on: [pull_request, workflow_dispatch] + +# Cancel redundant CI tests automatically +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + downgrade_test: + name: Downgrade ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + version: + - '1.10' + os: + - ubuntu-latest + arch: + - x64 + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - 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 diff --git a/.github/workflows/Invalidations.yml b/.github/workflows/Invalidations.yml new file mode 100644 index 000000000..d36b45b52 --- /dev/null +++ b/.github/workflows/Invalidations.yml @@ -0,0 +1,37 @@ +name: Invalidations + +on: [pull_request] + +# Cancel redundant CI tests automatically +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + invalidations: + # Only run on PRs to the 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 diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index e7c29485a..4617dfc91 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -26,6 +26,11 @@ jobs: - 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 }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6c0b104cb..5d6d65676 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,12 @@ 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: name: Tests ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} @@ -8,35 +15,47 @@ jobs: fail-fast: false matrix: version: - - '1.8' + - '1.10' os: - ubuntu-latest + - windows-latest + - macos-latest arch: - x64 + - x86 + - aarch64 + exclude: # Exclude some combinations + - os: ubuntu-latest + arch: aarch64 + - os: windows-latest + arch: aarch64 + - os: macos-latest + arch: x64 + - os: macos-latest + arch: x86 + include: # Legacy support for old Julia versions + - version: '1.8' + os: ubuntu-latest + arch: x64 + - version: '1.9' + 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 - 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 }} @@ -44,54 +63,22 @@ jobs: 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")' diff --git a/.github/workflows/ci_x86.yml b/.github/workflows/ci_x86.yml deleted file mode 100644 index 03ca2ab11..000000000 --- a/.github/workflows/ci_x86.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: CI_X86 -on: - push: - branches: - - master - pull_request: - branches: - - master -jobs: - test: - name: Tests ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - version: - - '1.8' - os: - - ubuntu-latest - arch: - - x86 - steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 - 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/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 From 22ca48537745d0bdf77ce79a55c6dd950df5e21c Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Wed, 6 Nov 2024 13:10:05 +1100 Subject: [PATCH 03/22] Downgrade change: Restricted JDL2 compat to 0.2 or higher to align with DataStructures. --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index d185b8358..aa1307a23 100644 --- a/Project.toml +++ b/Project.toml @@ -43,7 +43,7 @@ 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" +JLD2 = "0.2, 0.3, 0.4, 0.5" JSON = "0.21.0" LineSearches = "7.0.1" LinearAlgebra = "1" From fd5d59f397acb33613d0110727259486267a3945 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Wed, 6 Nov 2024 15:12:51 +1100 Subject: [PATCH 04/22] Removed invalidations --- .github/workflows/Invalidations.yml | 37 ----------------------------- 1 file changed, 37 deletions(-) delete mode 100644 .github/workflows/Invalidations.yml diff --git a/.github/workflows/Invalidations.yml b/.github/workflows/Invalidations.yml deleted file mode 100644 index d36b45b52..000000000 --- a/.github/workflows/Invalidations.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Invalidations - -on: [pull_request] - -# Cancel redundant CI tests automatically -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - invalidations: - # Only run on PRs to the 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 From 18c72549d276e728cfcb93fbbdfa191a6fe82945 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Wed, 6 Nov 2024 15:23:54 +1100 Subject: [PATCH 05/22] Updated compats for QuadGK --- Project.toml | 2 +- src/CellData/CellData.jl | 7 ++++--- src/CellData/DomainContributions.jl | 1 - 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Project.toml b/Project.toml index aa1307a23..61a3a082b 100644 --- a/Project.toml +++ b/Project.toml @@ -51,7 +51,7 @@ NLsolve = "4.3.0" NearestNeighbors = "0.4.8" PolynomialBases = "0.4.12" Preferences = "1.4" -QuadGK = "2.3.1, 2.4" +QuadGK = "2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.20, 2.11" Random = "1" SparseArrays = "1" SparseMatricesCSR = "0.6.4" diff --git a/src/CellData/CellData.jl b/src/CellData/CellData.jl index 19624ec27..d96ecca48 100644 --- a/src/CellData/CellData.jl +++ b/src/CellData/CellData.jl @@ -9,6 +9,10 @@ using Test using DocStringExtensions using FillArrays +using NearestNeighbors +using StaticArrays +using DataStructures + using Gridap.Helpers using Gridap.Algebra using Gridap.Arrays @@ -17,9 +21,6 @@ using Gridap.Fields using Gridap.ReferenceFEs using Gridap.Geometry -using NearestNeighbors -using StaticArrays - import Gridap.Arrays: lazy_append import Gridap.Arrays: get_array import Gridap.Arrays: evaluate! diff --git a/src/CellData/DomainContributions.jl b/src/CellData/DomainContributions.jl index 3487f7c12..fbe9358d8 100644 --- a/src/CellData/DomainContributions.jl +++ b/src/CellData/DomainContributions.jl @@ -1,4 +1,3 @@ -using DataStructures """ """ From 90a0ca1d137eca7002d48d4acdde96cd3e3635ab Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Wed, 6 Nov 2024 16:01:04 +1100 Subject: [PATCH 06/22] Updated compats for NLSolve --- .github/workflows/Documenter.yml | 15 +++++++-------- Project.toml | 2 +- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/Documenter.yml b/.github/workflows/Documenter.yml index 9ba1ec69d..b1c0a4f15 100644 --- a/.github/workflows/Documenter.yml +++ b/.github/workflows/Documenter.yml @@ -15,12 +15,11 @@ jobs: - uses: julia-actions/setup-julia@v2 with: version: '1.10' - - run: | - julia --project=docs -e ' - using Pkg - Pkg.develop(PackageSpec(path=pwd())) - Pkg.instantiate()' - - run: julia --project=docs docs/make.jl + - 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 }} - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} + 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 diff --git a/Project.toml b/Project.toml index 61a3a082b..90a3f942f 100644 --- a/Project.toml +++ b/Project.toml @@ -47,7 +47,7 @@ JLD2 = "0.2, 0.3, 0.4, 0.5" JSON = "0.21.0" LineSearches = "7.0.1" LinearAlgebra = "1" -NLsolve = "4.3.0" +NLsolve = "4.4" NearestNeighbors = "0.4.8" PolynomialBases = "0.4.12" Preferences = "1.4" From 8fb2ccf2ae7639101d63518c62e9f843b2c0f574 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Wed, 6 Nov 2024 16:06:50 +1100 Subject: [PATCH 07/22] Updated compats for PolynomialBases --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 90a3f942f..6861c8f81 100644 --- a/Project.toml +++ b/Project.toml @@ -49,7 +49,7 @@ LineSearches = "7.0.1" LinearAlgebra = "1" NLsolve = "4.4" NearestNeighbors = "0.4.8" -PolynomialBases = "0.4.12" +PolynomialBases = "0.4.13" Preferences = "1.4" QuadGK = "2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.20, 2.11" Random = "1" From 684a3e88871c64c91691dca5b2ab9fbe05a892de Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Wed, 6 Nov 2024 17:07:43 +1100 Subject: [PATCH 08/22] Updated compats for BlockArrays and FillArrays --- Project.toml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Project.toml b/Project.toml index 6861c8f81..5cd34ede4 100644 --- a/Project.toml +++ b/Project.toml @@ -35,15 +35,15 @@ WriteVTK = "64499a7a-5c06-52f2-abe2-ccb03c286192" AbstractTrees = "0.3.3, 0.4" Aqua = "0.8" BSON = "0.2.5, 0.3" -BlockArrays = "0.12.12, 0.13, 0.14, 0.15, 0.16" +BlockArrays = "0.16, 1" Combinatorics = "1.0.0" 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" +FillArrays = "0.13, 1" ForwardDiff = "0.10.10" -JLD2 = "0.2, 0.3, 0.4, 0.5" +JLD2 = "0.4.28, 0.5" JSON = "0.21.0" LineSearches = "7.0.1" LinearAlgebra = "1" @@ -51,15 +51,15 @@ NLsolve = "4.4" NearestNeighbors = "0.4.8" PolynomialBases = "0.4.13" Preferences = "1.4" -QuadGK = "2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.20, 2.11" +QuadGK = "2.4 - 2.11" Random = "1" SparseArrays = "1" SparseMatricesCSR = "0.6.4" -StaticArrays = "0.12.1, 1.0" +StaticArrays = "0.12.1, 1" Statistics = "1" Test = "1" -WriteVTK = "1.12.0" -julia = "1.3" +WriteVTK = "1.18" +julia = "1.6" [extras] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" From d5f9c2711711fcc392309c591c98e91788a50b99 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Wed, 6 Nov 2024 17:12:19 +1100 Subject: [PATCH 09/22] Minor --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 5cd34ede4..1e7051447 100644 --- a/Project.toml +++ b/Project.toml @@ -51,7 +51,7 @@ NLsolve = "4.4" NearestNeighbors = "0.4.8" PolynomialBases = "0.4.13" Preferences = "1.4" -QuadGK = "2.4 - 2.11" +QuadGK = "2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.10, 2.11" Random = "1" SparseArrays = "1" SparseMatricesCSR = "0.6.4" From 7c5a3726eb7281db2a438ca27d1940061e31f2b1 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Wed, 6 Nov 2024 17:33:02 +1100 Subject: [PATCH 10/22] Minor --- Project.toml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Project.toml b/Project.toml index 1e7051447..54aad1d2b 100644 --- a/Project.toml +++ b/Project.toml @@ -35,16 +35,16 @@ WriteVTK = "64499a7a-5c06-52f2-abe2-ccb03c286192" AbstractTrees = "0.3.3, 0.4" Aqua = "0.8" BSON = "0.2.5, 0.3" -BlockArrays = "0.16, 1" +BlockArrays = "0.16.10, 1" Combinatorics = "1.0.0" DataStructures = "0.18.13" DocStringExtensions = "0.8.1, 0.9" -FastGaussQuadrature = "0.4.2, 1" +FastGaussQuadrature = "0.4.5, 1" FileIO = "1.2.2, 1.3, 1.4" -FillArrays = "0.13, 1" -ForwardDiff = "0.10.10" +FillArrays = "0.13.8, 1" +ForwardDiff = "0.10.14" JLD2 = "0.4.28, 0.5" -JSON = "0.21.0" +JSON = "0.21" LineSearches = "7.0.1" LinearAlgebra = "1" NLsolve = "4.4" From 07b69006e23463e9dcf2d070f07f072f1d740e11 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Wed, 6 Nov 2024 17:46:24 +1100 Subject: [PATCH 11/22] Minor --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 54aad1d2b..d484cdf0c 100644 --- a/Project.toml +++ b/Project.toml @@ -47,7 +47,7 @@ JLD2 = "0.4.28, 0.5" JSON = "0.21" LineSearches = "7.0.1" LinearAlgebra = "1" -NLsolve = "4.4" +NLsolve = "4.5.1" NearestNeighbors = "0.4.8" PolynomialBases = "0.4.13" Preferences = "1.4" From 809e996b0830d44b2305cd7734ac4ceb7a7f5fe3 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Thu, 7 Nov 2024 00:51:06 +1100 Subject: [PATCH 12/22] Fixed all legacy compats --- .github/workflows/Downgrade.yml | 3 ++- Project.toml | 12 ++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml index 5ad50a817..43460c5b1 100644 --- a/.github/workflows/Downgrade.yml +++ b/.github/workflows/Downgrade.yml @@ -15,7 +15,7 @@ jobs: fail-fast: false matrix: version: - - '1.10' + - '1.8' # Needs to be lowest supported version os: - ubuntu-latest arch: @@ -26,6 +26,7 @@ jobs: 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 diff --git a/Project.toml b/Project.toml index d484cdf0c..1736c1b66 100644 --- a/Project.toml +++ b/Project.toml @@ -34,16 +34,16 @@ WriteVTK = "64499a7a-5c06-52f2-abe2-ccb03c286192" [compat] AbstractTrees = "0.3.3, 0.4" Aqua = "0.8" -BSON = "0.2.5, 0.3" +BSON = "0.3.4" BlockArrays = "0.16.10, 1" Combinatorics = "1.0.0" DataStructures = "0.18.13" DocStringExtensions = "0.8.1, 0.9" FastGaussQuadrature = "0.4.5, 1" FileIO = "1.2.2, 1.3, 1.4" -FillArrays = "0.13.8, 1" +FillArrays = "0.13.10, 1" ForwardDiff = "0.10.14" -JLD2 = "0.4.28, 0.5" +JLD2 = "0.4.36, 0.5" JSON = "0.21" LineSearches = "7.0.1" LinearAlgebra = "1" @@ -55,11 +55,11 @@ QuadGK = "2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.10, 2.11" Random = "1" SparseArrays = "1" SparseMatricesCSR = "0.6.4" -StaticArrays = "0.12.1, 1" +StaticArrays = "1.4" Statistics = "1" Test = "1" -WriteVTK = "1.18" -julia = "1.6" +WriteVTK = "1.21.1" +julia = "1.8" [extras] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" From f4a79afca5ce526d8963763a2ea27642c51e6369 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Thu, 7 Nov 2024 00:51:25 +1100 Subject: [PATCH 13/22] Unsupported Julia 1.3 --- src/Algebra/AlgebraInterfaces.jl | 21 +-------------------- src/ODEs/TransientFESpaces.jl | 5 +---- 2 files changed, 2 insertions(+), 24 deletions(-) diff --git a/src/Algebra/AlgebraInterfaces.jl b/src/Algebra/AlgebraInterfaces.jl index 7548cd9cb..242f87327 100644 --- a/src/Algebra/AlgebraInterfaces.jl +++ b/src/Algebra/AlgebraInterfaces.jl @@ -223,26 +223,7 @@ end Matrix multiply a*b and add to result to c. Returns c. """ -function muladd!(c,a,b) - _muladd!(c,a,b) - c -end - -@static if VERSION >= v"1.3" - function _muladd!(c,a,b) - mul!(c,a,b,1,1) - end -else - function _muladd!(c,a,b) - @assert length(c) == size(a,1) - @assert length(b) == size(a,2) - @inbounds for j in 1:size(a,2) - for i in 1:size(a,1) - c[i] += a[i,j]*b[j] - end - end - end -end +muladd!(b,A,x) = mul!(b,A,x,one(eltype(b)),one(eltype(b))) """ axpy_entries!(α::Number, A::T, B::T) where {T<: AbstractMatrix} -> T diff --git a/src/ODEs/TransientFESpaces.jl b/src/ODEs/TransientFESpaces.jl index 75a55a54c..2b5d77869 100644 --- a/src/ODEs/TransientFESpaces.jl +++ b/src/ODEs/TransientFESpaces.jl @@ -149,10 +149,7 @@ Arrays.evaluate!(transient_space::FESpace, space::FESpace, t::Real) = space Arrays.evaluate(space::FESpace, t::Real) = space Arrays.evaluate(space::FESpace, t::Nothing) = space -# TODO why is this needed? -@static if VERSION >= v"1.3" - (space::FESpace)(t) = evaluate(space, t) -end +(space::FESpace)(t) = evaluate(space, t) (space::TrialFESpace)(t) = evaluate(space, t) (space::ZeroMeanFESpace)(t) = evaluate(space, t) From 541458e4036b96c919b126aa12b9725932349680 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Thu, 7 Nov 2024 01:15:16 +1100 Subject: [PATCH 14/22] Removed all rm directories for temp dirs. Note this is not necessary for Julia 1.3 and higher --- test/ArraysTests/TablesTests.jl | 2 -- test/GeometryTests/DiscreteModelsTests.jl | 2 -- test/GeometryTests/FaceLabelingsTests.jl | 2 -- test/GeometryTests/UnstructuredDiscreteModelsTests.jl | 2 -- test/GeometryTests/UnstructuredGridsTests.jl | 2 -- test/GridapTests/issue_778.jl | 2 -- test/IoTests/BsonTests.jl | 2 -- test/IoTests/JLD2Tests.jl | 2 -- test/IoTests/JsonTests.jl | 2 -- test/ReferenceFEsTests/CLagrangianRefFEsTests.jl | 2 -- test/ReferenceFEsTests/NedelecRefFEsTests.jl | 1 - test/VisualizationTests/VtkTests.jl | 3 --- 12 files changed, 24 deletions(-) diff --git a/test/ArraysTests/TablesTests.jl b/test/ArraysTests/TablesTests.jl index a292ccf35..546dae528 100644 --- a/test/ArraysTests/TablesTests.jl +++ b/test/ArraysTests/TablesTests.jl @@ -171,6 +171,4 @@ f = joinpath(d,"a.jld2") to_jld2_file(a,f) @test a == from_jld2_file(typeof(a),f) -rm(d,recursive=true) - end # module diff --git a/test/GeometryTests/DiscreteModelsTests.jl b/test/GeometryTests/DiscreteModelsTests.jl index 66b6ae993..85c43da4a 100644 --- a/test/GeometryTests/DiscreteModelsTests.jl +++ b/test/GeometryTests/DiscreteModelsTests.jl @@ -107,6 +107,4 @@ to_json_file(model2,filename) model3 = DiscreteModelFromFile(filename) test_discrete_model(model3) -rm(d,recursive=true) - end # module diff --git a/test/GeometryTests/FaceLabelingsTests.jl b/test/GeometryTests/FaceLabelingsTests.jl index d2631d8fd..25c9f2360 100644 --- a/test/GeometryTests/FaceLabelingsTests.jl +++ b/test/GeometryTests/FaceLabelingsTests.jl @@ -64,8 +64,6 @@ labels2 = from_jld2_file(typeof(labels),f) @test labels2.tag_to_entities == labels.tag_to_entities @test labels2.tag_to_name == labels.tag_to_name -rm(d,recursive=true) - @test get_tags_from_names(labels,["interior","all"]) == [1,3] face_to_mask = get_face_mask(labels,"interior",1) diff --git a/test/GeometryTests/UnstructuredDiscreteModelsTests.jl b/test/GeometryTests/UnstructuredDiscreteModelsTests.jl index 413bc79c1..f1a9287a9 100644 --- a/test/GeometryTests/UnstructuredDiscreteModelsTests.jl +++ b/test/GeometryTests/UnstructuredDiscreteModelsTests.jl @@ -53,6 +53,4 @@ model2 == from_jld2_file(typeof(model),f) @test model.grid_topology.polytopes == model2.grid_topology.polytopes @test model.grid_topology.vertex_coordinates == model2.grid_topology.vertex_coordinates -rm(d,recursive=true) - end # module diff --git a/test/GeometryTests/UnstructuredGridsTests.jl b/test/GeometryTests/UnstructuredGridsTests.jl index 8a30b5c3a..e774700bc 100644 --- a/test/GeometryTests/UnstructuredGridsTests.jl +++ b/test/GeometryTests/UnstructuredGridsTests.jl @@ -122,6 +122,4 @@ grid2 = from_jld2_file(typeof(grid),f) @test grid.node_coordinates == grid2.node_coordinates @test grid.reffes == grid2.reffes -rm(d,recursive=true) - end # module diff --git a/test/GridapTests/issue_778.jl b/test/GridapTests/issue_778.jl index 3318e0155..e6de82d48 100644 --- a/test/GridapTests/issue_778.jl +++ b/test/GridapTests/issue_778.jl @@ -16,6 +16,4 @@ model = CartesianDiscreteModel(domain,cells,isperiodic=(true,false)) model = simplexify(model) writevtk(model,joinpath(d,"tmp_model_2")) -rm(d,recursive=true) - end # module diff --git a/test/IoTests/BsonTests.jl b/test/IoTests/BsonTests.jl index 68bf0a870..575c98446 100644 --- a/test/IoTests/BsonTests.jl +++ b/test/IoTests/BsonTests.jl @@ -34,8 +34,6 @@ f = joinpath(d,"foo.bson") to_bson_file(foo,f) @test foo == from_bson_file(Foo,f) -rm(d,recursive=true) - end # module diff --git a/test/IoTests/JLD2Tests.jl b/test/IoTests/JLD2Tests.jl index 6386b4519..474b1930d 100644 --- a/test/IoTests/JLD2Tests.jl +++ b/test/IoTests/JLD2Tests.jl @@ -24,6 +24,4 @@ foo = Dict("a"=>Int32(1),2=>Int(3),4.0=>Float32(5),"six"=>Float64(7),:s=>"Symbol to_jld2_file(foo,f) @test foo == from_jld2_file(typeof(foo),f) -rm(d,recursive=true) - end # module diff --git a/test/IoTests/JsonTests.jl b/test/IoTests/JsonTests.jl index 73d072f6c..52b960424 100644 --- a/test/IoTests/JsonTests.jl +++ b/test/IoTests/JsonTests.jl @@ -33,8 +33,6 @@ d = mktempdir() f = joinpath(d,"foo.json") to_json_file(foo,f) @test foo == from_json_file(Foo,f) -rm(d,recursive=true) - @test foo == from_json(Foo,JSON.json(foo)) end # module diff --git a/test/ReferenceFEsTests/CLagrangianRefFEsTests.jl b/test/ReferenceFEsTests/CLagrangianRefFEsTests.jl index 1723b85ab..f2c6204f0 100644 --- a/test/ReferenceFEsTests/CLagrangianRefFEsTests.jl +++ b/test/ReferenceFEsTests/CLagrangianRefFEsTests.jl @@ -220,6 +220,4 @@ f = joinpath(d,"reffe.jld2") to_jld2_file(reffe,f) @test reffe == from_jld2_file(typeof(reffe),f) -rm(d,recursive=true) - end # module diff --git a/test/ReferenceFEsTests/NedelecRefFEsTests.jl b/test/ReferenceFEsTests/NedelecRefFEsTests.jl index 8a312bde6..1e0db175c 100644 --- a/test/ReferenceFEsTests/NedelecRefFEsTests.jl +++ b/test/ReferenceFEsTests/NedelecRefFEsTests.jl @@ -177,6 +177,5 @@ gndat = ["g$i"=>gux[:,i] for i in 1:num_dofs(reffe)] d = mktempdir() f = joinpath(d, "nede_tet_1") writevtk(grid,f,nodaldata=vcat(ndat,gndat)) -rm(d,recursive=true) end # module diff --git a/test/VisualizationTests/VtkTests.jl b/test/VisualizationTests/VtkTests.jl index af9ad91c4..f3e837f20 100644 --- a/test/VisualizationTests/VtkTests.jl +++ b/test/VisualizationTests/VtkTests.jl @@ -202,7 +202,4 @@ vtk_save(pvtk) pvtk = create_pvtk_file(Ω2,f; part=2, nparts=2,celldata=["u"=>rand(num_cells(Ω2))]) vtk_save(pvtk) - -rm(d,recursive=true) - end # module From 1aa723ae93d996544157009bf30b9b0939f1bdc5 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Thu, 7 Nov 2024 14:54:35 +1100 Subject: [PATCH 15/22] Minor --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 1736c1b66..612fad832 100644 --- a/Project.toml +++ b/Project.toml @@ -35,7 +35,7 @@ WriteVTK = "64499a7a-5c06-52f2-abe2-ccb03c286192" AbstractTrees = "0.3.3, 0.4" Aqua = "0.8" BSON = "0.3.4" -BlockArrays = "0.16.10, 1" +BlockArrays = "1" Combinatorics = "1.0.0" DataStructures = "0.18.13" DocStringExtensions = "0.8.1, 0.9" From 1b5d4fafed31439ac84643e852cf604ed8e8a61d Mon Sep 17 00:00:00 2001 From: Antoine Marteau Date: Thu, 7 Nov 2024 15:00:13 +1100 Subject: [PATCH 16/22] make test retro compatible with 1.6 --- test/TensorValuesTests/TypesTests.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/TensorValuesTests/TypesTests.jl b/test/TensorValuesTests/TypesTests.jl index 7306be651..bb1dfd073 100644 --- a/test/TensorValuesTests/TypesTests.jl +++ b/test/TensorValuesTests/TypesTests.jl @@ -181,11 +181,11 @@ q = SymTracelessTensorValue{0,Int}() q = SymTracelessTensorValue{1,Int}( () ) @test isa(q,SymTracelessTensorValue{1,Int}) -@test convert(SMatrix{1,1,Int},q) == [0;;] +@test convert(SMatrix{1,1,Int},q) == zeros(Int,1,1) q = SymTracelessTensorValue{1,Int}() @test isa(q,SymTracelessTensorValue{1,Int}) -@test convert(SMatrix{1,1,Int},q) == [0;;] +@test convert(SMatrix{1,1,Int},q) == zeros(Int,1,1) q = SymTracelessTensorValue(11,21.0) @test isa(q,SymTracelessTensorValue{2,Float64}) From e0be5c8e78b2eb05422b7c5057c0f59ab51cf1f9 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Thu, 7 Nov 2024 15:01:22 +1100 Subject: [PATCH 17/22] Minor --- Project.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index 612fad832..e9c139cbc 100644 --- a/Project.toml +++ b/Project.toml @@ -36,12 +36,12 @@ AbstractTrees = "0.3.3, 0.4" Aqua = "0.8" BSON = "0.3.4" BlockArrays = "1" -Combinatorics = "1.0.0" +Combinatorics = "1" DataStructures = "0.18.13" DocStringExtensions = "0.8.1, 0.9" FastGaussQuadrature = "0.4.5, 1" FileIO = "1.2.2, 1.3, 1.4" -FillArrays = "0.13.10, 1" +FillArrays = "1.11" ForwardDiff = "0.10.14" JLD2 = "0.4.36, 0.5" JSON = "0.21" From ba21e382ef7575e5e7194dae35e917c6cbf5ed0d Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Thu, 7 Nov 2024 15:20:52 +1100 Subject: [PATCH 18/22] Minor --- Project.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index e9c139cbc..03b8d8340 100644 --- a/Project.toml +++ b/Project.toml @@ -40,10 +40,10 @@ Combinatorics = "1" DataStructures = "0.18.13" DocStringExtensions = "0.8.1, 0.9" FastGaussQuadrature = "0.4.5, 1" -FileIO = "1.2.2, 1.3, 1.4" +FileIO = "1.5" FillArrays = "1.11" ForwardDiff = "0.10.14" -JLD2 = "0.4.36, 0.5" +JLD2 = "0.5" JSON = "0.21" LineSearches = "7.0.1" LinearAlgebra = "1" From 0a81b59ab85f4e8b90e6f0f712e144cbf2d11c81 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Thu, 7 Nov 2024 15:21:40 +1100 Subject: [PATCH 19/22] Reverted to supporting Julia 1.6 --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 03b8d8340..95ed94f03 100644 --- a/Project.toml +++ b/Project.toml @@ -59,7 +59,7 @@ StaticArrays = "1.4" Statistics = "1" Test = "1" WriteVTK = "1.21.1" -julia = "1.8" +julia = "1.6" [extras] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" From f0a1c91e9fe33ff08fdb1f0baf82153db18d3922 Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Fri, 8 Nov 2024 00:54:26 +1100 Subject: [PATCH 20/22] Deactivated x86 windows tests. Somehow they hang forever --- .github/workflows/Downgrade.yml | 2 +- .github/workflows/ci.yml | 28 +++++++++------------------- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml index 43460c5b1..75eeeba91 100644 --- a/.github/workflows/Downgrade.yml +++ b/.github/workflows/Downgrade.yml @@ -8,7 +8,7 @@ concurrency: cancel-in-progress: true jobs: - downgrade_test: + downgrade: name: Downgrade ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} strategy: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5d6d65676..9d46d8f7f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,37 +8,27 @@ concurrency: 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 - - windows-latest - - macos-latest arch: - x64 - x86 - - aarch64 - exclude: # Exclude some combinations - - os: ubuntu-latest - arch: aarch64 - - os: windows-latest + include: # Test macos/windows on latest LTS + - version: '1.10' + os: macos-latest arch: aarch64 - - os: macos-latest - arch: x64 - - os: macos-latest - arch: x86 - include: # Legacy support for old Julia versions - - version: '1.8' - os: ubuntu-latest - arch: x64 - - version: '1.9' - os: ubuntu-latest + - version: '1.10' + os: windows-latest arch: x64 steps: - uses: actions/checkout@v4 From 9ec14f1a9981a7c3efe4a725a31e21b4b03fb54c Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Fri, 8 Nov 2024 00:58:34 +1100 Subject: [PATCH 21/22] Minor --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 95ed94f03..5dc64d83d 100644 --- a/Project.toml +++ b/Project.toml @@ -51,7 +51,7 @@ NLsolve = "4.5.1" NearestNeighbors = "0.4.8" PolynomialBases = "0.4.13" Preferences = "1.4" -QuadGK = "2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.10, 2.11" +QuadGK = "2.4" Random = "1" SparseArrays = "1" SparseMatricesCSR = "0.6.4" From 2477b6cf952112cfd45bfe6ec9d4579a8979657d Mon Sep 17 00:00:00 2001 From: JordiManyer Date: Fri, 8 Nov 2024 12:31:27 +1100 Subject: [PATCH 22/22] Reduced memory in tests --- test/AdaptivityTests/MacroFEStokesTests.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/AdaptivityTests/MacroFEStokesTests.jl b/test/AdaptivityTests/MacroFEStokesTests.jl index 2dfe2c53b..607ddc521 100644 --- a/test/AdaptivityTests/MacroFEStokesTests.jl +++ b/test/AdaptivityTests/MacroFEStokesTests.jl @@ -14,7 +14,7 @@ function main(Dc,reftype) p_sol(x) = x[1] - 1.0/2.0 domain = (Dc == 2) ? (0,1,0,1) : (0,1,0,1,0,1) - nc = (Dc == 2) ? (2,2) : (1,1,1) + nc = (Dc == 2) ? (1,1) : (1,1,1) model = simplexify(CartesianDiscreteModel(domain,nc)) poly = (Dc == 2) ? TRI : TET @@ -65,7 +65,7 @@ end main(2,:barycentric) #main(2,:powellsabin) -main(3,:barycentric) +#main(3,:barycentric) #main(3,:powellsabin) end # module \ No newline at end of file