diff options
author | Ralph Amissah <ralph.amissah@gmail.com> | 2022-12-19 21:27:17 -0500 |
---|---|---|
committer | Ralph Amissah <ralph.amissah@gmail.com> | 2022-12-31 21:55:43 -0500 |
commit | da6f5d079e01906fb5dc558390659557a869df8f (patch) | |
tree | 35b99248cf1ba78b52474bea960f92984ff721c7 /src/ext_depends/d2sqlite3/.github/workflows/documentation.yaml | |
parent | sort how you want this to be (diff) |
nix flake, things nix
Diffstat (limited to 'src/ext_depends/d2sqlite3/.github/workflows/documentation.yaml')
-rw-r--r-- | src/ext_depends/d2sqlite3/.github/workflows/documentation.yaml | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/ext_depends/d2sqlite3/.github/workflows/documentation.yaml b/src/ext_depends/d2sqlite3/.github/workflows/documentation.yaml new file mode 100644 index 0000000..97fa25e --- /dev/null +++ b/src/ext_depends/d2sqlite3/.github/workflows/documentation.yaml @@ -0,0 +1,58 @@ +# Documentation build: Only runs on Linux +# Still need to install dependencies and the compiler because DDOX +# does a full build +name: Documentation +on: [push, pull_request] + +jobs: + doc: + name: Build and upload documentation + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + + # Checkout this repository and its submodules + - name: Checkout repository + uses: actions/checkout@v2 + + # Install the D compiler + - name: Prepare compiler + uses: dlang-community/setup-dlang@v1 + with: + compiler: ldc-latest + + - name: 'Install dependencies & setup environment' + run: | + sudo apt-get update + sudo apt-get install libsqlite3-dev + + - name: Build documentation + run: | + dub build -b ddox + # Generate the HTML to docs + dub run ddox -- generate-html docs.json ./docs/ + + - name: Upload documentation artifact + uses: actions/upload-artifact@v2 + with: + name: documentation + path: docs/ + + - name: Deploy documentation + if: github.event_name == 'push' + run: | + # Remove gh-branch if it already exists, check it out + git branch -D gh-pages || true + git checkout --orphan gh-pages + # Remove all staged files - We only need the docs + git rm -rf $(git ls-files) + # We can have some leftover files (e.g. build) + # So add docs (which is only what we need), then `git mv` it. + git add docs/ + git mv -k docs/* ./ + # Configure user (because persist-credentials does not persist everything...) + git config --global user.name "${{ github.actor }}" + git config --global user.email "${{ github.actor }}@users.noreply.github.com" + # We're done + git commit -m "Documentation for commit ${{ github.sha }}" + git push -f ${{ github.event.repository.clone_url }} gh-pages:gh-pages |