From 40c46dfcc979458b856b5399dce99da6042d382c Mon Sep 17 00:00:00 2001 From: kevmoor Date: Wed, 3 Apr 2024 15:57:45 -0600 Subject: [PATCH] Add github automated workflows and update documenter.jl docs to run --- .github/workflows/CI.yaml | 35 +++++++++++ .github/workflows/CompatHelper.yml | 16 +++++ .github/workflows/Documentation.yml | 28 +++++++++ .github/workflows/TagBot.yml | 15 +++++ docs/make.jl | 4 ++ docs/src/reference/reference.md | 91 +++-------------------------- src/utilities.jl | 2 +- 7 files changed, 106 insertions(+), 85 deletions(-) create mode 100644 .github/workflows/CI.yaml create mode 100644 .github/workflows/CompatHelper.yml create mode 100644 .github/workflows/Documentation.yml create mode 100644 .github/workflows/TagBot.yml diff --git a/.github/workflows/CI.yaml b/.github/workflows/CI.yaml new file mode 100644 index 0000000..9ddce1b --- /dev/null +++ b/.github/workflows/CI.yaml @@ -0,0 +1,35 @@ +name: CI +on: + push: + branches: + - master + tags: '*' + pull_request: +concurrency: + # Skip intermediate builds: always. + # Cancel intermediate builds: only if it is a pull request build. + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + version: + - '1.6' + - '1' + os: + - ubuntu-latest + arch: + - x64 + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - uses: julia-actions/cache@v1 + - uses: julia-actions/julia-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml new file mode 100644 index 0000000..da266b9 --- /dev/null +++ b/.github/workflows/CompatHelper.yml @@ -0,0 +1,16 @@ +name: CompatHelper +on: + schedule: + - cron: '00 00 * * *' + workflow_dispatch: +jobs: + CompatHelper: + runs-on: ubuntu-latest + steps: + - name: Pkg.add("CompatHelper") + run: julia -e 'using Pkg; Pkg.add("CompatHelper")' + - name: CompatHelper.main() + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }} + run: julia -e 'using CompatHelper; CompatHelper.main()' diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml new file mode 100644 index 0000000..2967e35 --- /dev/null +++ b/.github/workflows/Documentation.yml @@ -0,0 +1,28 @@ +name: Documentation + +on: + push: + branches: + - master + tags: '*' + pull_request: + +jobs: + build: + permissions: + contents: write + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: '1' + - name: Install dependencies + env: + PYTHON: "" + 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 diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml new file mode 100644 index 0000000..f49313b --- /dev/null +++ b/.github/workflows/TagBot.yml @@ -0,0 +1,15 @@ +name: TagBot +on: + issue_comment: + types: + - created + workflow_dispatch: +jobs: + TagBot: + if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' + runs-on: ubuntu-latest + steps: + - uses: JuliaRegistries/TagBot@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + ssh: ${{ secrets.DOCUMENTER_KEY }} diff --git a/docs/make.jl b/docs/make.jl index 8af379c..e9c87f2 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -26,4 +26,8 @@ makedocs(; ], sitename = "OWENSFEA.jl", authors = "Kevin R. Moore ", +) + +deploydocs( + repo = "github.com/sandialabs/OWENSFEA.jl.git", ) \ No newline at end of file diff --git a/docs/src/reference/reference.md b/docs/src/reference/reference.md index 30c7020..bb6bd8f 100644 --- a/docs/src/reference/reference.md +++ b/docs/src/reference/reference.md @@ -1,91 +1,14 @@ -# Library - -```@contents -Pages = ["library.md"] -Depth = 3 +```@meta +CurrentModule = OWENSFEA ``` -## Public API - -### OWENSFEA Functions and Docstrings +## Index -```@docs -OWENSFEA.FEAModel -OWENSFEA.mapVector -OWENSFEA.adaptiveLoadStepping -OWENSFEA.calculateVec1! -OWENSFEA.applyConstraintsVec -OWENSFEA.structuralDynamicsTransientROM -OWENSFEA.interpolateVal -OWENSFEA.El -OWENSFEA.determineActiveDofsFromSlaveNode -OWENSFEA.DispData -OWENSFEA.calculateElementMass -OWENSFEA.calculateROM -OWENSFEA.calculateStructureMassProps -OWENSFEA.extractFreqDamp -OWENSFEA.BC_struct -OWENSFEA.ModalOutput -OWENSFEA.ConcMassAssociatedWithElement -OWENSFEA.constructReducedDispVecFromEigVec -OWENSFEA.NodalTerms -OWENSFEA.DispOut -OWENSFEA.getNodeMaps -OWENSFEA.staticAnalysis -OWENSFEA.getGP -OWENSFEA.ElInput -OWENSFEA.assemblyMatrixOnly -OWENSFEA.Ort -OWENSFEA.mapMatrixNonSym -OWENSFEA.reducedOrderModel -OWENSFEA.setInitialConditions -OWENSFEA.TimeInt -OWENSFEA.ElStrain -OWENSFEA.calculateTimoshenkoElementNLSS -OWENSFEA.calculateLoadVecFromDistForce -OWENSFEA.calculateReactionForceAtNode -OWENSFEA.ConcNDL1D -OWENSFEA.calculateShapeFunctions -OWENSFEA.calculateReducedDOFVector -OWENSFEA.assembly! -OWENSFEA.applyBC -OWENSFEA.constructReducedDispVectorMap -OWENSFEA.findElementsAssociatedWithNodeNumber -OWENSFEA.calculateTimoshenkoElementNL -OWENSFEA.applyBCModal -OWENSFEA.createJointTransform -OWENSFEA.SectionPropsArray -OWENSFEA.modal -OWENSFEA.ElStorage -OWENSFEA.calcUnorm -OWENSFEA.linearAnalysisModal -OWENSFEA.applyConstraints -OWENSFEA.calculateStrainForElements -OWENSFEA.calculateBCMap -OWENSFEA.timeIntegrateSubSystemEff -OWENSFEA.ROM -OWENSFEA.structuralDynamicsTransient -OWENSFEA.initialElementCalculations -OWENSFEA.calculateROMGyric -OWENSFEA.ConcNDL2D -OWENSFEA.calculateLambda -OWENSFEA.calculateTimoshenkoElementStrain -OWENSFEA.getElementConcTerms! -OWENSFEA.calculateElement1! -OWENSFEA.mapMatrixNonSym2 -OWENSFEA.makeBCdata -OWENSFEA.createTda -OWENSFEA.NlParams -OWENSFEA.Mesh -OWENSFEA.updateLoadStep -OWENSFEA.extractdaInfo -OWENSFEA.applyConcentratedTerms -OWENSFEA.ElOutput -OWENSFEA.calculateTimoshenkoElementInitialRun +```@index ``` +## Types and functions -## Index - -```@index +```@autodocs +Modules = [OWENSFEA] ``` \ No newline at end of file diff --git a/src/utilities.jl b/src/utilities.jl index aec0ca1..3667be2 100644 --- a/src/utilities.jl +++ b/src/utilities.jl @@ -1750,7 +1750,7 @@ Internal, applies 6x6 concentrated nodal terms from user input. #Input * `filename`: string containing nodal terms filename -* `data`: Nx5 or Nx4 array matching general [1 "M6" 1 1 0.0] or diagonal only [1 "M" 1 0.0] (node, Type, dof, value) where type is M,C,K, or F +* `data`: Nx5 or Nx4 array matching general [1 "M6" 1 1 0.0] or diagonal only [1 "M" 1 0.0] aligning with node, Type, dof, value, where type is M,C,K, or F #Output * `nodalTerms::NodalTerms`: see ?NodalTerms object containing concentrated nodal data