Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expanding and updating CI #1046

Merged
merged 28 commits into from
Nov 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
239e9bb
enable dependabot for GitHub actions
ranocha Aug 9, 2023
ffb8cfc
CI overhaul
JordiManyer Nov 5, 2024
041be50
Merge pull request #930 from ranocha/hr/dependabot
JordiManyer Nov 5, 2024
22ca485
Downgrade change: Restricted JDL2 compat to 0.2 or higher to align wi…
JordiManyer Nov 6, 2024
fd5d59f
Removed invalidations
JordiManyer Nov 6, 2024
18c7254
Updated compats for QuadGK
JordiManyer Nov 6, 2024
90a0ca1
Updated compats for NLSolve
JordiManyer Nov 6, 2024
8fb2ccf
Updated compats for PolynomialBases
JordiManyer Nov 6, 2024
684a3e8
Updated compats for BlockArrays and FillArrays
JordiManyer Nov 6, 2024
d5f9c27
Minor
JordiManyer Nov 6, 2024
7c5a372
Minor
JordiManyer Nov 6, 2024
07b6900
Minor
JordiManyer Nov 6, 2024
809e996
Fixed all legacy compats
JordiManyer Nov 6, 2024
f4a79af
Unsupported Julia 1.3
JordiManyer Nov 6, 2024
541458e
Removed all rm directories for temp dirs. Note this is not necessary …
JordiManyer Nov 6, 2024
e3aa094
Merge branch 'master' of github.com:gridap/Gridap.jl into update-ci
JordiManyer Nov 7, 2024
1aa723a
Minor
JordiManyer Nov 7, 2024
1b5d4fa
make test retro compatible with 1.6
Antoinemarteau Nov 7, 2024
e0be5c8
Minor
JordiManyer Nov 7, 2024
0812401
Merge branch 'gridap:update-ci' into update-ci
Antoinemarteau Nov 7, 2024
217b95a
Merge pull request #1047 from Antoinemarteau/update-ci
JordiManyer Nov 7, 2024
ba21e38
Minor
JordiManyer Nov 7, 2024
0a81b59
Reverted to supporting Julia 1.6
JordiManyer Nov 7, 2024
f2a12da
Merge branch 'update-ci' of github.com:gridap/Gridap.jl into update-ci
JordiManyer Nov 7, 2024
f0a1c91
Deactivated x86 windows tests. Somehow they hang forever
JordiManyer Nov 7, 2024
9ec14f1
Minor
JordiManyer Nov 7, 2024
10a469a
Merge branch 'master' of github.com:gridap/Gridap.jl into update-ci
JordiManyer Nov 7, 2024
2477b6c
Reduced memory in tests
JordiManyer Nov 8, 2024
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
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
5 changes: 5 additions & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand Down
83 changes: 30 additions & 53 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,97 +1,74 @@
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
- x86
include: # Test macos/windows on latest LTS
- version: '1.10'
os: macos-latest
arch: aarch64
- version: '1.10'
os: windows-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 }}
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.

30 changes: 15 additions & 15 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,32 +34,32 @@ WriteVTK = "64499a7a-5c06-52f2-abe2-ccb03c286192"
[compat]
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, 1"
Combinatorics = "1.0.0"
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"
LinearAlgebra = "1"
NLsolve = "4.3.0"
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"
StaticArrays = "1.4"
Statistics = "1"
Test = "1"
WriteVTK = "1.12.0"
julia = "1.3"
WriteVTK = "1.21.1"
julia = "1.6"

[extras]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
Expand Down
21 changes: 1 addition & 20 deletions src/Algebra/AlgebraInterfaces.jl
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 4 additions & 3 deletions src/CellData/CellData.jl
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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!
Expand Down
1 change: 0 additions & 1 deletion src/CellData/DomainContributions.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
using DataStructures

"""
"""
Expand Down
5 changes: 1 addition & 4 deletions src/ODEs/TransientFESpaces.jl
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
4 changes: 2 additions & 2 deletions test/AdaptivityTests/MacroFEStokesTests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -65,7 +65,7 @@ end

main(2,:barycentric)
#main(2,:powellsabin)
main(3,:barycentric)
#main(3,:barycentric)
#main(3,:powellsabin)

end # module
2 changes: 0 additions & 2 deletions test/ArraysTests/TablesTests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 0 additions & 2 deletions test/GeometryTests/DiscreteModelsTests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,4 @@ to_json_file(model2,filename)
model3 = DiscreteModelFromFile(filename)
test_discrete_model(model3)

rm(d,recursive=true)

end # module
Loading