diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..274c5fd --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,45 @@ +name: CI + +on: + push: + branches: + - master + - main + pull_request: + branches: + - master + - main + +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + version: + - '1.10' # LTS + - '1' # Latest stable + os: + - ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: julia-actions/setup-julia@v2 + with: + version: ${{ matrix.version }} + + - 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: + files: lcov.info + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: false diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml new file mode 100644 index 0000000..2d1ef03 --- /dev/null +++ b/.github/workflows/Documentation.yml @@ -0,0 +1,34 @@ +name: Documentation + +on: + push: + branches: + - master + - main + tags: '*' + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: julia-actions/setup-julia@v2 + with: + version: '1' + + - uses: julia-actions/cache@v2 + + - name: Install dependencies + run: | + julia --project=docs -e ' + using Pkg + Pkg.develop(PackageSpec(path=pwd())) + Pkg.instantiate()' + + - name: Build documentation + run: julia --project=docs docs/make.jl + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/Project.toml b/Project.toml index c5e50b4..dd0067a 100644 --- a/Project.toml +++ b/Project.toml @@ -33,4 +33,4 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" [targets] -test = ["Test"] +test = ["Test", "Statistics"] diff --git a/src/JuliaFEM.jl b/src/JuliaFEM.jl index 5af48e2..71a0992 100644 --- a/src/JuliaFEM.jl +++ b/src/JuliaFEM.jl @@ -222,6 +222,9 @@ export AbstractSolver, Solver, Nonlinear, NonlinearSolver, Linear, LinearSolver, is_field_problem, is_boundary_problem # include("solvers_modal.jl") # Requires Arpack for eigenvalue problems # export Modal + +# Re-export Analysis and related types from FEMBase (needed by tests) +export Analysis, AbstractAnalysis, add_problems!, run! include("problems_contact.jl") include("problems_contact_3d.jl") #include("problems_contact_3d_autodiff.jl")