diff --git a/.github/workflows/DocNav.yml b/.github/workflows/DocNav.yml index 14614d1..7e86195 100644 --- a/.github/workflows/DocNav.yml +++ b/.github/workflows/DocNav.yml @@ -1,49 +1,39 @@ -name: Add Navbar +name: Rebuild docs with newest navbar on: - page_build: # Triggers the workflow on push events to gh-pages branch - workflow_dispatch: # Allows manual triggering + # 3:25 AM UTC every Sunday -- choose an uncommon time to avoid + # periods of heavy GitHub Actions usage schedule: - - cron: '0 0 * * 0' # Runs every week on Sunday at midnight (UTC) + - cron: '25 3 * * 0' + # Whenever needed + workflow_dispatch: + +permissions: + contents: write jobs: - add-navbar: + update-navbar: runs-on: ubuntu-latest - permissions: - contents: write + steps: - - name: Checkout gh-pages + - name: Checkout gh-pages branch uses: actions/checkout@v4 with: ref: gh-pages - fetch-depth: 0 - - name: Download insert_navbar.sh - run: | - curl -O https://raw.githubusercontent.com/TuringLang/turinglang.github.io/main/assets/scripts/insert_navbar.sh - chmod +x insert_navbar.sh + - name: Insert navbar + uses: TuringLang/actions/DocsNav@main + with: + doc-path: '.' - - name: Update Navbar - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Commit and push changes run: | - git config user.name github-actions[bot] - git config user.email github-actions[bot]@users.noreply.github.com - - # Define the URL of the navbar to be used - NAVBAR_URL="https://raw.githubusercontent.com/TuringLang/turinglang.github.io/main/assets/scripts/TuringNavbar.html" - - # Update all HTML files in the current directory (gh-pages root) - ./insert_navbar.sh . $NAVBAR_URL - - # Remove the insert_navbar.sh file - rm insert_navbar.sh - - # Check if there are any changes if [[ -n $(git status -s) ]]; then - git add . - git commit -m "Added navbar and removed insert_navbar.sh" - git push "https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" gh-pages + git config user.name github-actions[bot] + git config user.email github-actions[bot]@users.noreply.github.com + git add -A + git commit -m "Update navbar (automated)" + git push else echo "No changes to commit" fi diff --git a/.github/workflows/Docs.yml b/.github/workflows/Docs.yml new file mode 100644 index 0000000..2d5213e --- /dev/null +++ b/.github/workflows/Docs.yml @@ -0,0 +1,34 @@ +name: Documentation + +on: + push: + branches: + - main + 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/') }} + +permissions: + contents: write + pull-requests: read + +jobs: + docs: + runs-on: ubuntu-latest + + steps: + - name: Build and deploy Documenter.jl docs + uses: TuringLang/actions/DocsDocumenter@main + + - name: Run doctests + shell: julia --project=docs --color=yes {0} + run: | + using Documenter: DocMeta, doctest + using SliceSampling + DocMeta.setdocmeta!(SliceSampling, :DocTestSetup, :(using SliceSampling); recursive=true) + doctest(SliceSampling) diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml deleted file mode 100644 index f3de8c2..0000000 --- a/.github/workflows/Documentation.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Documentation - -on: - push: - branches: - - main - tags: '*' - pull_request: - types: [opened, synchronize, reopened] - -jobs: - build: - runs-on: ubuntu-latest - permissions: - contents: write - statuses: write - steps: - - uses: actions/checkout@v4 - - uses: julia-actions/setup-julia@v1 - with: - version: '1' - - name: Configure doc environment - shell: julia --project=docs --color=yes {0} - run: | - using Pkg - Pkg.develop(PackageSpec(path=pwd())) - Pkg.instantiate() - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-docdeploy@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Run doctests - shell: julia --project=docs --color=yes {0} - run: | - using Documenter: DocMeta, doctest - using SliceSampling - DocMeta.setdocmeta!(SliceSampling, :DocTestSetup, :(using SliceSampling); recursive=true) - doctest(SliceSampling) diff --git a/docs/make.jl b/docs/make.jl index 3fddeb7..b6de566 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -23,5 +23,3 @@ makedocs(; "Gibbsian Polar Slice Sampling" => "gibbs_polar.md", ], ) - -deploydocs(; repo="github.com/TuringLang/SliceSampling.jl", push_preview=true)