Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Deploy Documenter.jl output to GitHub Pages (free for public repos).
#
# One-time setup in the repository on GitHub:
# Settings → Pages → Build and deployment → Source → GitHub Actions

name: Deploy Documentation

on:
push:
branches:
- main
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up Julia
uses: julia-actions/setup-julia@v2
with:
version: "1.12"

- name: Cache Julia artifacts
uses: julia-actions/cache@v2

- name: Build documentation
run: julia --project=docs --color=yes docs/make.jl

- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v4
with:
path: docs/build/

deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
73 changes: 73 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Tests

on:
push:
branches:
- main
pull_request:
branches:
- main

permissions:
contents: read

jobs:
test:
name: Julia 1.12
runs-on: ubuntu-latest

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up Julia
uses: julia-actions/setup-julia@v2
with:
version: "1.12"

- name: Cache Julia artifacts
uses: julia-actions/cache@v2

- name: Instantiate project
run: julia --project=. --color=yes -e 'using Pkg; Pkg.instantiate()'

- name: Run test suite
run: julia --project=. --color=yes -e 'using Pkg; Pkg.test(; coverage=true)'

- name: Generate coverage file
run: julia --color=yes coverage.jl

- name: Upload coverage file
uses: actions/upload-artifact@v4
with:
name: coverage-lcov
path: |
coverage/lcov.info
coverage/summary.txt
if-no-files-found: error

docs:
name: Documentation
runs-on: ubuntu-latest

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up Julia
uses: julia-actions/setup-julia@v2
with:
version: "1.12"

- name: Cache Julia artifacts
uses: julia-actions/cache@v2

- name: Build documentation
run: julia --project=docs --color=yes docs/make.jl

- name: Upload documentation site
uses: actions/upload-artifact@v4
with:
name: documentation-site
path: docs/build/
if-no-files-found: error
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ LocalPreferences.toml
*.jl.cov
*.jl.*.cov
*.jl.mem
coverage/

.tmp_pdfenv

Expand All @@ -13,6 +14,7 @@ LocalPreferences.toml

# Generated outputs from the project scripts
outputs/
docs/build/

*.jld2

Expand Down
Loading
Loading