Skip to content

Commit

Permalink
Configure github pages
Browse files Browse the repository at this point in the history
Upload the doxygen output as artifact from the linux build and use that from
the pages job where we combine the static website with our newly build HTML
docs.  The GitHub actions/download-artefact doesn't work across workflows so
we use the other popular one that can do this. The rest of the job is
basically copy/paste from the "Static HTML" example GitHub provides.

To make this useful as drop-in replacement, replace the one fixed link to the
API docs a relative one.

Signed-off-by: Peter Hutterer <[email protected]>
  • Loading branch information
whot committed Jul 4, 2023
1 parent f75c0a2 commit 134c6bb
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 1 deletion.
9 changes: 8 additions & 1 deletion .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
- name: Setup
run: |
# -gdwarf-4 - see https://github.com/llvm/llvm-project/issues/56550.
CFLAGS='-gdwarf-4' meson setup build
CFLAGS='-gdwarf-4' meson setup build -Denable-cool-uris=true
env:
CC: ${{ matrix.compiler }}
- name: Build
Expand All @@ -53,3 +53,10 @@ jobs:
name: test logs
path: |
build/meson-logs/
- name: Store doxygen docs for use by the pages workflow
uses: actions/upload-artifact@v3
if: success()
with:
name: doxygen-docs
path: |
build/html/
55 changes: 55 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Deploy to GitHub pages

on:
push:
branches: ["master"]

# Allow running this workflow manually from the Actions tab
workflow_dispatch:

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

# Allow only one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
deploy:
runs-on: ubuntu-22.04
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Set up directory tree
run: mkdir -p public_html/doc/
- name: Download doxygen from Linux build
uses: dawidd6/action-download-artifact@v2
with:
workflow: linux.yml
workflow_conclusion: success
name: doxygen-docs
path: doxygen/
- name: Move doxygen to target directory
run: mv doxygen/ public_html/doc/current/
- name: Check out the static website
uses: actions/checkout@v3
with:
repository: xkbcommon/website
persist-credentials: false
path: website
- name: Move static website to target directory
run: mv website/* public_html/
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Upload pages artifact
uses: actions/upload-pages-artifact@v1
with:
path: public_html/
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2

0 comments on commit 134c6bb

Please sign in to comment.