aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ext_depends/d2sqlite3/.github/workflows/documentation.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext_depends/d2sqlite3/.github/workflows/documentation.yaml')
-rw-r--r--src/ext_depends/d2sqlite3/.github/workflows/documentation.yaml58
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