diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d486ff7..8b46c7d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -2,7 +2,12 @@ version: 2 updates: - - package-ecosystem: github-actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + + - package-ecosystem: "julia" directory: "/" schedule: interval: "weekly" diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 47680ad..3f86a47 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -3,43 +3,53 @@ name: CI on: create: tags: - push: - branches: - - main + pull_request: paths-ignore: - '**.md' - 'docs/**' - pull_request: + push: + branches: + - main paths-ignore: - '**.md' - 'docs/**' workflow_dispatch: jobs: + version: + # see https://github.com/julia-actions/julia-version + name: Resolve Julia Versions + # These permissions are needed to: + # - Checkout the Git repository (`contents: read`) + permissions: + contents: read + runs-on: ubuntu-latest + outputs: + json: ${{ steps.julia-version.outputs.resolved-json }} + steps: + - uses: actions/checkout@v7 # Needed for "min" to access the Project.toml + - uses: julia-actions/julia-version@v0.1.0 + id: julia-version + with: + versions: | + - min # Oldest supported version in Project.toml + - 1 # Latest release + test: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} + name: Julia ${{ matrix.version }} - ${{ matrix.os }} + needs: version runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.version == 'nightly' }} strategy: fail-fast: false matrix: - version: ['1.6', '1', 'nightly'] - os: [ubuntu-latest, windows-latest, macOS-latest] - arch: - - x64 - include: - - version: '1' - os: ubuntu-latest - arch: x64 - coverage: true + version: ${{ fromJSON(needs.version.outputs.json) }} + os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v7 - -# - name: "Set up Julia" - - uses: julia-actions/setup-julia@latest + - uses: julia-actions/setup-julia@v3 with: version: ${{ matrix.version }} - arch: ${{ matrix.arch }} - name: Cache artifacts uses: actions/cache@v6 @@ -54,21 +64,15 @@ jobs: ${{ runner.os }}- # - name: "Unit Test" - - uses: julia-actions/julia-buildpkg@latest - - uses: julia-actions/julia-runtest@latest + - uses: julia-actions/julia-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 # - name: "Cover" - uses: julia-actions/julia-processcoverage@v1 - if: matrix.coverage - uses: codecov/codecov-action@v7 - if: matrix.coverage + if: ${{ matrix.version == '1' && matrix.os == 'ubuntu-latest' }} with: file: lcov.info fail_ci_if_error: false env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - uses: coverallsapp/github-action@master - if: matrix.coverage - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - path-to-lcov: ./lcov.info diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml deleted file mode 100644 index e4ee926..0000000 --- a/.github/workflows/CompatHelper.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: CompatHelper - -on: - schedule: - - cron: 0 0 * * 0 # weekly - workflow_dispatch: -permissions: - contents: write - pull-requests: write -jobs: - CompatHelper: - runs-on: ubuntu-latest - steps: - - name: Check if Julia is already available in the PATH - id: julia_in_path - run: which julia - continue-on-error: true - - name: Install Julia, but only if it is not already available in the PATH - uses: julia-actions/setup-julia@latest - with: - version: '1' - # arch: ${{ runner.arch }} - if: steps.julia_in_path.outcome != 'success' - - name: "Add the General registry via Git" - run: | - import Pkg - ENV["JULIA_PKG_SERVER"] = "" - Pkg.Registry.add("General") - shell: julia --color=yes {0} - - name: "Install CompatHelper" - run: | - import Pkg - name = "CompatHelper" - uuid = "aa819f21-2bde-4658-8897-bab36330d9b7" - version = "3" - Pkg.add(; name, uuid, version) - shell: julia --color=yes {0} - - name: "Run CompatHelper" - run: | - import CompatHelper - CompatHelper.main() - shell: julia --color=yes {0} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }} - -# based on: -# https://github.com/JuliaRegistries/CompatHelper.jl diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml index c5ab0e2..e80b039 100644 --- a/.github/workflows/Documentation.yml +++ b/.github/workflows/Documentation.yml @@ -3,21 +3,29 @@ name: Documentation on: pull_request: paths-ignore: - - 'README.md' + - 'readme.md' push: - paths-ignore: - - 'README.md' branches: - 'main' - 'release-' + paths-ignore: + - 'readme.md' tags: '*' jobs: build: + # These permissions are needed to: + # - Deploy the documentation: https://documenter.juliadocs.org/stable/man/hosting/#Permissions + # - Delete old caches: https://github.com/julia-actions/cache#usage + permissions: + actions: write + contents: write + pull-requests: read + statuses: write runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - - uses: julia-actions/setup-julia@latest + - uses: julia-actions/setup-julia@v3 with: version: '1' - name: CacheArtifacts @@ -33,15 +41,15 @@ jobs: ${{ runner.os }}- - name: InstallDependencies run: | - julia --project=docs/ -e ' + julia --color=yes --project=docs/ -e ' ENV["JULIA_PKG_SERVER"] = "" using Pkg Pkg.develop(PackageSpec(path=pwd())) Pkg.instantiate()' - name: BuildAndDeploy + run: julia --color=yes --project=docs/ docs/make.jl env: # https://juliadocs.github.io/Documenter.jl/stable/man/hosting/#Authentication:-GITHUB_TOKEN -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # for previews ssh: ${{ secrets.DOCUMENTER_KEY }} DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} - run: julia --project=docs/ docs/make.jl diff --git a/Project.toml b/Project.toml index 8b2be8e..0337143 100644 --- a/Project.toml +++ b/Project.toml @@ -2,6 +2,9 @@ name = "SpecialMatrices" uuid = "928aab9d-ef52-54ac-8ca1-acd7ca42c160" version = "3.1.0" +[workspace] +projects = ["docs", "test"] + [deps] LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Polynomials = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" @@ -9,4 +12,4 @@ Polynomials = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" [compat] LinearAlgebra = "1" Polynomials = "1, 2, 3, 4" -julia = "1.6" +julia = "1.12.6" diff --git a/docs/make.jl b/docs/make.jl index fd0844d..a79978e 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -95,7 +95,7 @@ if isci devurl = "dev", versions = ["stable" => "v^", "dev" => "dev"], forcepush = true, -# push_preview = true, + push_preview = true, # see https://$org.github.io/$repo.jl/previews/PR## ) end diff --git a/README.md b/readme.md similarity index 87% rename from README.md rename to readme.md index f73b4d1..160e131 100644 --- a/README.md +++ b/readme.md @@ -1,15 +1,14 @@ # SpecialMatrices.jl -[![action status][action-img]][action-url] -[![pkgeval status][pkgeval-img]][pkgeval-url] -[![codecov][codecov-img]][codecov-url] -[![coveralls][coveralls-img]][coveralls-url] -[![license][license-img]][license-url] [![docs-stable][docs-stable-img]][docs-stable-url] [![docs-dev][docs-dev-img]][docs-dev-url] -[![deps](https://juliahub.com/docs/SpecialMatrices/deps.svg)](https://juliahub.com/ui/Packages/SpecialMatrices) -[![version](https://juliahub.com/docs/SpecialMatrices/version.svg)](https://juliahub.com/ui/Packages/SpecialMatrices) -[![pkgeval](https://juliahub.com/docs/SpecialMatrices/pkgeval.svg)](https://juliahub.com/ui/Packages/SpecialMatrices) +[![action][action-img]][action-url] +[![Aqua QA][aqua-img]][aqua-url] +[![codecov][codecov-img]][codecov-url] +[![deps][deps-img]][deps-url] +[![license][license-img]][license-url] +[![pkgeval][pkgeval-img]][pkgeval-url] +[![version][ver-img]][ver-url] https://github.com/JuliaLinearAlgebra/SpecialMatrices.jl @@ -290,19 +289,26 @@ julia> A' \ A[2,:] [action-img]: https://github.com/JuliaLinearAlgebra/SpecialMatrices.jl/workflows/CI/badge.svg [action-url]: https://github.com/JuliaLinearAlgebra/SpecialMatrices.jl/actions -[build-img]: https://github.com/JuliaLinearAlgebra/SpecialMatrices.jl/workflows/CI/badge.svg?branch=master -[build-url]: https://github.com/JuliaLinearAlgebra/SpecialMatrices.jl/actions?query=workflow%3ACI+branch%3Amaster -[pkgeval-img]: https://juliaci.github.io/NanosoldierReports/pkgeval_badges/S/SpecialMatrices.svg -[pkgeval-url]: https://juliaci.github.io/NanosoldierReports/pkgeval_badges/S/SpecialMatrices.html -[code-blue-img]: https://img.shields.io/badge/code%20style-blue-4495d1.svg -[code-blue-url]: https://github.com/invenia/BlueStyle -[codecov-img]: https://codecov.io/github/JuliaLinearAlgebra/SpecialMatrices.jl/coverage.svg?branch=master -[codecov-url]: https://codecov.io/github/JuliaLinearAlgebra/SpecialMatrices.jl?branch=master -[coveralls-img]: https://coveralls.io/repos/JuliaLinearAlgebra/SpecialMatrices.jl/badge.svg?branch=master -[coveralls-url]: https://coveralls.io/github/JuliaLinearAlgebra/SpecialMatrices.jl?branch=master -[docs-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg -[docs-stable-url]: https://JuliaLinearAlgebra.github.io/SpecialMatrices.jl/stable + +[aqua-img]: https://juliatesting.github.io/Aqua.jl/dev/assets/badge.svg +[aqua-url]: https://github.com/JuliaTesting/Aqua.jl + +[codecov-img]: https://codecov.io/github/JuliaLinearAlgebra/SpecialMatrices.jl/coverage.svg +[codecov-url]: https://codecov.io/github/JuliaLinearAlgebra/SpecialMatrices.jl + +[deps-img]: https://juliahub.com/docs/SpecialMatrices/deps.svg +[deps-url]: https://juliahub.com/ui/Packages/SpecialMatrices + [docs-dev-img]: https://img.shields.io/badge/docs-dev-blue.svg [docs-dev-url]: https://JuliaLinearAlgebra.github.io/SpecialMatrices.jl/dev +[docs-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg +[docs-stable-url]: https://JuliaLinearAlgebra.github.io/SpecialMatrices.jl/stable + [license-img]: https://img.shields.io/badge/license-MIT-brightgreen.svg [license-url]: LICENSE + +[pkgeval-img]: https://juliaci.github.io/NanosoldierReports/pkgeval_badges/S/SpecialMatrices.svg +[pkgeval-url]: https://juliaci.github.io/NanosoldierReports/pkgeval_badges/S/SpecialMatrices.html + +[ver-img]: https://juliahub.com/docs/SpecialMatrices/version.svg +[ver-url]: https://juliahub.com/ui/Packages/SpecialMatrices diff --git a/test/Project.toml b/test/Project.toml index 205ca81..9335532 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -3,6 +3,5 @@ Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" Polynomials = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" +SpecialMatrices = "928aab9d-ef52-54ac-8ca1-acd7ca42c160" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[compat]