diff --git a/.github/workflows/deploy_docs.yml b/.github/workflows/deploy_docs.yml index 82942e908b..c6da310364 100644 --- a/.github/workflows/deploy_docs.yml +++ b/.github/workflows/deploy_docs.yml @@ -4,45 +4,41 @@ on: push: branches: - gh-pages + workflow_dispatch: # Allows manual trigger from the Actions tab permissions: - contents: write + contents: read pages: write id-token: write +concurrency: + group: "pages" + cancel-in-progress: false + jobs: - build-and-deploy: + build: runs-on: ubuntu-latest - steps: - # Checkout the gh-pages branch to have access to the existing docs directory - - name: Checkout gh-pages + - name: Checkout uses: actions/checkout@v4 - with: - ref: gh-pages - path: gh-pages # Checkout to a specific directory to separate it from source - # Setup Pages environment and dependencies - name: Setup Pages uses: actions/configure-pages@v5 - # Build Jekyll Site - name: Build with Jekyll uses: actions/jekyll-build-pages@v1 with: - source: gh-pages/docs - destination: gh-pages/_site + source: ./ + destination: ./_site - # Install Doxygen and Dependencies - name: Install Doxygen and Dependencies run: sudo apt-get update && sudo apt-get install -y doxygen graphviz - # Generate Doxygen Documentation - name: Generate Doxygen Documentation run: | # Define the branches and their corresponding doc folders branches=("master:core" "duo" "handle" "orbit" "gloves" "desktop" "spark" "chromadeck") - mkdir -p gh-pages/docs # Ensure the docs directory exists + mkdir -p _site/docs # Ensure the docs directory exists # Iterate over each branch and generate documentation for item in "${branches[@]}"; do @@ -59,12 +55,12 @@ jobs: # Change directory to the worktree cd temp/$branch - # Ensure the output directory exists in the docs folder - mkdir -p ../../gh-pages/docs/$dest + # Ensure the output directory exists in the _site/docs folder + mkdir -p ../../_site/docs/$dest # Adjust the Doxyfile to set the output directory echo "Adjusting Doxyfile for branch: $branch" - sed -i "s|OUTPUT_DIRECTORY *=.*|OUTPUT_DIRECTORY = ../../gh-pages/docs/$dest|" Doxyfile + sed -i "s|OUTPUT_DIRECTORY *=.*|OUTPUT_DIRECTORY = ../../_site/docs/$dest|" Doxyfile # Run Doxygen to generate the documentation echo "Running Doxygen for branch: $branch" @@ -80,12 +76,16 @@ jobs: fi done - # Deploy to GitHub Pages - - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: gh-pages/_site - publish_branch: gh-pages - keep_files: true + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4