diff --git a/.github/workflows/Docs.yml b/.github/workflows/Docs.yml new file mode 100644 index 0000000..248932a --- /dev/null +++ b/.github/workflows/Docs.yml @@ -0,0 +1,32 @@ +name: Documentation + +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/') }} + +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 + + - run: | + julia --project=docs -e ' + using Documenter: doctest + using TuringCallbacks + doctest(TuringCallbacks)' diff --git a/.github/workflows/DocsNav.yml b/.github/workflows/DocsNav.yml index 14614d1..7e86195 100644 --- a/.github/workflows/DocsNav.yml +++ b/.github/workflows/DocsNav.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/ci.yml b/.github/workflows/ci.yml index fbda8c0..86072fb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,25 +41,3 @@ jobs: - uses: codecov/codecov-action@v1 with: file: lcov.info - docs: - name: Documentation - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 - with: - version: '1' - - run: | - julia --project=docs -e ' - using Pkg - Pkg.develop(PackageSpec(path=pwd())) - Pkg.instantiate()' - - run: | - julia --project=docs -e ' - using Documenter: doctest - using TuringCallbacks - doctest(TuringCallbacks)' - - run: julia --project=docs docs/make.jl - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/docs/make.jl b/docs/make.jl index d62bb21..84bc889 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -15,7 +15,3 @@ makedocs(; "Home" => "index.md", ], ) - -deploydocs(; - repo="github.com/TuringLang/TuringCallbacks.jl", -)