From fed18620a6994f8528be3d64b4910f65dac1a960 Mon Sep 17 00:00:00 2001 From: Arno Strouwen Date: Wed, 10 Apr 2024 03:25:10 +0200 Subject: [PATCH] general CI improvements --- .github/workflows/CI.yml | 16 ++++++-- .github/workflows/Documentation.yml | 2 + .github/workflows/Downgrade.yml | 12 +++++- docs/make.jl | 3 ++ docs/src/index.md | 58 +++++++++++++++++++++++++++++ 5 files changed, 87 insertions(+), 4 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index d412945..879ce53 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,23 +1,33 @@ name: CI on: - push: + pull_request: branches: - main paths-ignore: - 'docs/**' - pull_request: + push: + branches: + - main paths-ignore: - 'docs/**' + schedule: + - cron: '44 4 * * 4' jobs: test: runs-on: ${{ matrix.os }} + env: + GROUP: ${{ matrix.group }} strategy: fail-fast: false matrix: + group: + - Core version: - '1' os: - ubuntu-latest + - macos-latest + - windows-latest steps: - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v2 @@ -33,4 +43,4 @@ jobs: - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v4 with: - files: lcov.info + file: lcov.info \ No newline at end of file diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml index 810bf54..2d39377 100644 --- a/.github/workflows/Documentation.yml +++ b/.github/workflows/Documentation.yml @@ -5,6 +5,8 @@ on: - main tags: '*' pull_request: + schedule: + - cron: '44 4 * * 4' jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml index c6dbfde..1bc305a 100644 --- a/.github/workflows/Downgrade.yml +++ b/.github/workflows/Downgrade.yml @@ -1,6 +1,8 @@ name: Downgrade on: pull_request: + branches: + - main paths-ignore: - 'docs/**' push: @@ -8,16 +10,24 @@ on: - main paths-ignore: - 'docs/**' + schedule: + - cron: '44 4 * * 4' jobs: test: runs-on: ${{ matrix.os }} + env: + GROUP: ${{ matrix.group }} strategy: fail-fast: false matrix: + group: + - Core version: - '1' os: - ubuntu-latest + - macos-latest + - windows-latest steps: - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v2 @@ -30,4 +40,4 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 + - uses: julia-actions/julia-runtest@v1 \ No newline at end of file diff --git a/docs/make.jl b/docs/make.jl index 94b04b1..f836106 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,6 +1,9 @@ using UDEComponents using Documenter +cp("./docs/Manifest.toml", "./docs/src/assets/Manifest.toml", force = true) +cp("./docs/Project.toml", "./docs/src/assets/Project.toml", force = true) + DocMeta.setdocmeta!(UDEComponents, :DocTestSetup, :(using UDEComponents); recursive = true) makedocs(; diff --git a/docs/src/index.md b/docs/src/index.md index 2605cbf..d0d60d3 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -12,3 +12,61 @@ Documentation for [UDEComponents](https://github.com/SebastianM-C/UDEComponents. ```@autodocs Modules = [UDEComponents] ``` + +## Reproducibility + +```@raw html +
The documentation of this SciML package was built using these direct dependencies, +``` + +```@example +using Pkg # hide +Pkg.status() # hide +``` + +```@raw html +
+``` + +```@raw html +
and using this machine and Julia version. +``` + +```@example +using InteractiveUtils # hide +versioninfo() # hide +``` + +```@raw html +
+``` + +```@raw html +
A more complete overview of all dependencies and their versions is also provided. +``` + +```@example +using Pkg # hide +Pkg.status(; mode = PKGMODE_MANIFEST) # hide +``` + +```@raw html +
+``` + +```@eval +using TOML +using Markdown +version = TOML.parse(read("../../Project.toml", String))["version"] +name = TOML.parse(read("../../Project.toml", String))["name"] +link_manifest = "https://github.com/SciML/" * name * ".jl/tree/gh-pages/v" * version * + "/assets/Manifest.toml" +link_project = "https://github.com/SciML/" * name * ".jl/tree/gh-pages/v" * version * + "/assets/Project.toml" +Markdown.parse("""You can also download the +[manifest]($link_manifest) +file and the +[project]($link_project) +file. +""") +```