Skip to content

Commit

Permalink
Merge pull request #435 from ArnoStrouwen/qa
Browse files Browse the repository at this point in the history
Aqua + typos CI
  • Loading branch information
ChrisRackauckas authored Dec 3, 2023
2 parents 9aaf9b3 + 1111ac8 commit a180d2c
Show file tree
Hide file tree
Showing 7 changed files with 53 additions and 7 deletions.
13 changes: 13 additions & 0 deletions .github/workflows/SpellCheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Spell Check

on: [pull_request]

jobs:
typos-check:
name: Spell Check with Typos
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v3
- name: Check spelling
uses: crate-ci/[email protected]
4 changes: 4 additions & 0 deletions .typos.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[default.extend-words]
fom = "fom"
Pris = "Pris"
PARM = "PARM"
22 changes: 19 additions & 3 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
ConcreteStructs = "2569d6c7-a4a2-43d3-a901-331e8e4be471"
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
EnumX = "4e289a0a-7415-4d19-859d-a7e5c4648b56"
EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869"
FastLapackInterface = "29a986be-02c6-4525-aec4-84b980013641"
GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527"
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
Expand All @@ -34,6 +33,7 @@ BandedMatrices = "aae01518-5342-5314-be14-df237901396f"
BlockDiagonals = "0a1fb500-61f7-11e9-3c65-f5ef3456f9f0"
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869"
FastAlmostBandedMatrices = "9d29842c-ecb8-4973-b1e9-a27b1157504e"
HYPRE = "b5ffcf37-a2bd-41ab-a3da-4bd9bc8ad771"
IterativeSolvers = "42fd0dbc-a981-5370-80f2-aaf504508153"
Expand All @@ -47,7 +47,7 @@ RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
LinearSolveBandedMatricesExt = "BandedMatrices"
LinearSolveBlockDiagonalsExt = "BlockDiagonals"
LinearSolveCUDAExt = "CUDA"
LinearSolveEnzymeExt = "Enzyme"
LinearSolveEnzymeExt = ["Enzyme", "EnzymeCore"]
LinearSolveHYPREExt = "HYPRE"
LinearSolveIterativeSolversExt = "IterativeSolvers"
LinearSolveKernelAbstractionsExt = "KernelAbstractions"
Expand All @@ -58,39 +58,55 @@ LinearSolveRecursiveArrayToolsExt = "RecursiveArrayTools"
LinearSolveFastAlmostBandedMatricesExt = ["FastAlmostBandedMatrices"]

[compat]
Aqua = "0.8"
ArrayInterface = "7.4.11"
BandedMatrices = "1"
BlockDiagonals = "0.1"
ConcreteStructs = "0.2"
CUDA = "5"
DocStringExtensions = "0.9"
EnumX = "1"
Enzyme = "0.11"
EnzymeCore = "0.6"
FastAlmostBandedMatrices = "0.1"
FastLapackInterface = "2"
FiniteDiff = "2"
ForwardDiff = "0.10"
GPUArraysCore = "0.1"
HYPRE = "1.4.0"
InteractiveUtils = "1.6"
IterativeSolvers = "0.9.3"
Libdl = "1.6"
LinearAlgebra = "1.9"
JET = "0.8"
KLU = "0.3.0, 0.4"
KernelAbstractions = "0.9"
Krylov = "0.9"
KrylovKit = "0.6"
Metal = "0.5"
MPI = "0.20"
MultiFloats = "1"
Pardiso = "0.5"
Pkg = "1"
PrecompileTools = "1"
Preferences = "1"
Random = "1"
RecursiveArrayTools = "2"
RecursiveFactorization = "0.2.8"
Reexport = "1"
Requires = "1"
SafeTestsets = "0.1"
SciMLBase = "2"
SciMLOperators = "0.3"
Setfield = "1"
SparseArrays = "1.9"
Sparspak = "0.3.6"
Test = "1"
UnPack = "1"
julia = "1.9"

[extras]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
BandedMatrices = "aae01518-5342-5314-be14-df237901396f"
BlockDiagonals = "0a1fb500-61f7-11e9-3c65-f5ef3456f9f0"
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
Expand All @@ -113,4 +129,4 @@ SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Test", "IterativeSolvers", "InteractiveUtils", "JET", "KrylovKit", "Pkg", "Random", "SafeTestsets", "MultiFloats", "ForwardDiff", "HYPRE", "MPI", "BlockDiagonals", "Enzyme", "FiniteDiff", "BandedMatrices", "FastAlmostBandedMatrices"]
test = ["Aqua", "Test", "IterativeSolvers", "InteractiveUtils", "JET", "KrylovKit", "Pkg", "Random", "SafeTestsets", "MultiFloats", "ForwardDiff", "HYPRE", "MPI", "BlockDiagonals", "Enzyme", "FiniteDiff", "BandedMatrices", "FastAlmostBandedMatrices"]
2 changes: 1 addition & 1 deletion docs/src/solvers/solvers.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ NormalBunchKaufmanFactorization

### LinearSolve.jl

LinearSolve.jl contains some linear solvers built in for specailized cases.
LinearSolve.jl contains some linear solvers built in for specialized cases.

```@docs
SimpleLUFactorization
Expand Down
6 changes: 3 additions & 3 deletions test/basictests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,17 @@ function test_interface(alg, prob1, prob2)
sol = solve(prob2, alg; cache_kwargs...)
@test A2 * sol.u b2

# Test cache resue: base mechanism
# Test cache reuse: base mechanism
cache = SciMLBase.init(prob1, alg; cache_kwargs...) # initialize cache
sol = solve!(cache)
@test A1 * sol.u b1

# Test cache resue: only A changes
# Test cache reuse: only A changes
cache.A = deepcopy(A2)
sol = solve!(cache; cache_kwargs...)
@test A2 * sol.u b1

# Test cache resue: both A and b change
# Test cache reuse: both A and b change
cache.A = deepcopy(A2)
cache.b = b2
sol = solve!(cache; cache_kwargs...)
Expand Down
12 changes: 12 additions & 0 deletions test/qa.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using LinearSolve, Aqua
@testset "Aqua" begin
Aqua.find_persistent_tasks_deps(LinearSolve)
Aqua.test_ambiguities(LinearSolve, recursive = false, broken = true)
Aqua.test_deps_compat(LinearSolve, ignore = [:MKL_jll])
Aqua.test_piracies(LinearSolve,
treat_as_own = [LinearProblem])
Aqua.test_project_extras(LinearSolve)
Aqua.test_stale_deps(LinearSolve)
Aqua.test_unbound_args(LinearSolve)
Aqua.test_undefined_exports(LinearSolve)
end
1 change: 1 addition & 0 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const GROUP = get(ENV, "GROUP", "All")
const HAS_EXTENSIONS = isdefined(Base, :get_extension)

if GROUP == "All" || GROUP == "Core"
@time @safetestset "Quality Assurance" include("qa.jl")
@time @safetestset "Basic Tests" include("basictests.jl")
VERSION >= v"1.9" && @time @safetestset "Re-solve" include("resolve.jl")
@time @safetestset "Zero Initialization Tests" include("zeroinittests.jl")
Expand Down

0 comments on commit a180d2c

Please sign in to comment.