diff --git a/.github/workflows/build-Antora-doc.yml b/.github/workflows/build-Antora-doc.yml new file mode 100644 index 000000000..789e171be --- /dev/null +++ b/.github/workflows/build-Antora-doc.yml @@ -0,0 +1,103 @@ +name: "build Antora documentation" + +on: + workflow_dispatch: + pull_request: + types: [ opened, synchronize, reopened ] + push: + branches: [ main ] + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can + # access it + - uses: actions/checkout@v3 + with: + submodules: "recursive" + - uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.0' + + - name: "Checkout Vulkan-Site" + uses: actions/checkout@v3 + with: + # repository: KhronosGroup/Vulkan-Site + repository: gpx1000/Vulkan-Site + path: ./Vulkan-Site + # ref: main + ref: parent-ci + submodules: recursive + + - name: "Checkout antora ui" + uses: actions/checkout@v3 + with: + repository: KhronosGroup/antora-ui-khronos + path: ./Vulkan-Site/antora-ui-khronos + ref: main + + - name: "setup npm" + uses: actions/setup-node@v3 + with: + node-version: 'latest' + cache: 'npm' + cache-dependency-path: ./Vulkan-Site/docs-site/package-lock.json + + - name: "force clear the npm cache" + run: npm cache clean --force + + - name: "run npm install for ui bundle" + working-directory: ./Vulkan-Site/antora-ui-khronos + run: npm install + + - name: "run npm install for docs-site" + working-directory: ./Vulkan-Site/docs-site + run: npm install + + - name: "ensure we have all dependencies for building/searching/highlighting" + run: | + sudo gem install rouge + sudo apt-get update + sudo apt install xorg-dev libglu1-mesa-dev + sudo apt-get install -y asciidoctor + pip install lxml + + - name: "build the ui bundle" + working-directory: ./Vulkan-Site/antora-ui-khronos + run: | + npx update-browserslist-db@latest + ./node_modules/gulp/bin/gulp.js --version + ./node_modules/gulp/bin/gulp.js bundle + + - name: "copy ui-bundle.zip to vulkan-site" + run: cp ./Vulkan-Site/antora-ui-khronos/build/ui-bundle.zip ./Vulkan-Site/docs-site/ + + - name: "prepare samples" + run: cmake -H"." -B"build/unix" -DVKB_GENERATE_ANTORA_SITE=ON + + - name: "build (npx) with stacktrmainace" + working-directory: ./Vulkan-Site/docs-site + run: | + npx antora --log-failure-level=error antora-parent-ci-playbook.yml --stacktrace + touch build/site/.nojekyll + +# Deployment job + # deploy: + # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages + # permissions: + # contents: write + # runs-on: ubuntu-latest + # needs: build + # steps: + # - name: Deploy to GitHub Pages + # id: deployment + # uses: peaceiris/actions-gh-pages@v4 + # with: + # github_token: ${{ secrets.GITHUB_TOKEN }} + # publish_dir: ./Vulkan-Site/docs-site/build/site +# diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 94e344567..c6f07435c 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -111,3 +111,4 @@ jobs: - uses: actions/setup-python@v3 - uses: pre-commit/action@v3.0.1 continue-on-error: true # we currently don't track pre-commit warnings as errors. in the future this will change. for this step to pass we will need to run `pre-commit run --all-files` +