From 02ca32ae0a5bc290918d2b2a3288e385b9cc6b11 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph.amissah@gmail.com>
Date: Fri, 19 Feb 2021 17:10:51 -0500
Subject: external & build dependences in src tree

- external & build dependences boost licensed
  - ext_depends (external depends)
    - D-YAML
      - tinyendian
    - d2sqlite3
    - imageformats
  - build_depends
    - dub2nix
---
 .../d2sqlite3/.github/workflows/main.yaml          | 127 +++++++++++++++++++++
 1 file changed, 127 insertions(+)
 create mode 100644 src/ext_depends/d2sqlite3/.github/workflows/main.yaml

(limited to 'src/ext_depends/d2sqlite3/.github/workflows')

diff --git a/src/ext_depends/d2sqlite3/.github/workflows/main.yaml b/src/ext_depends/d2sqlite3/.github/workflows/main.yaml
new file mode 100644
index 0000000..103d945
--- /dev/null
+++ b/src/ext_depends/d2sqlite3/.github/workflows/main.yaml
@@ -0,0 +1,127 @@
+# Github worflow to test this library on all platforms,
+# build the documentation, and upload it to Github pages.
+name: CI
+
+on: [push, pull_request]
+
+jobs:
+  main:
+    name: Run
+    strategy:
+      # Disable `fail-fast` because we want the whole test suite to run even if one
+      # of the nigthly is broken
+      fail-fast: false
+      matrix:
+# TODO: FIXME. Requires fixes to the dub.sdl to work on Windows
+#        os: [ ubuntu-18.04, macOS-10.15, windows-2019 ]
+        os: [ ubuntu-18.04, macOS-10.15 ]
+        # Oldest supported FE is 2.088.1 because older DMD don't work on macOS-10.15
+        dc: [ ldc-master, ldc-latest, ldc-1.21.0, dmd-master, dmd-latest, dmd-2.088.1 ]
+
+    runs-on: ${{ matrix.os }}
+    timeout-minutes: 30
+    steps:
+
+    - uses: actions/checkout@v2
+    - name: Prepare compiler
+      uses: dlang-community/setup-dlang@v1
+      with:
+          compiler: ${{ matrix.dc }}
+
+    # Install os-specific packages
+    # Those will show up in the list of steps, but be grayed out,
+    # hence the usage of the `[OSX]` tag
+    - name: '[OSX] Install dependencies & setup environment'
+      if: runner.os == 'macOS'
+      run: |
+        echo "LIBRARY_PATH=${LD_LIBRARY_PATH-}:/usr/local/lib/" >> $GITHUB_ENV
+        echo "PKG_CONFIG_PATH=/usr/local/opt/sqlite/lib/pkgconfig" >> $GITHUB_ENV
+
+    - name: '[Linux] Install dependencies & setup environment'
+      if: runner.os == 'Linux'
+      run: |
+        sudo apt-get update
+        sudo apt-get install -y libsqlite3-dev
+
+    - name: '[Windows] Install dependencies & setup environment'
+      if: runner.os == 'Windows'
+      shell: powershell
+      run: |
+        echo "LIB=${{ github.workspace }}\lib\win64\;$LIB" >> $GITHUB_ENV
+
+    # Add whatever debugging information can be useful in the long run here
+    - name: Print system information
+      shell: bash
+      run: |
+        ${DC} --version
+        dub --version
+
+    # Build and run the tests
+    - name: '[POSIX] Build & test Agora'
+      if: runner.os != 'Windows'
+      #continue-on-error: matrix.dc == 'ldc-master' || matrix.dc == 'dmd-master'
+      run: dub test -c ci
+
+    - name: '[Windows] Build & test Agora'
+      if: runner.os == 'Windows'
+      #continue-on-error: matrix.dc == 'ldc-master' || matrix.dc == 'dmd-master'
+      shell: cmd
+      run: |
+        call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
+        dub test -c ci
+
+  # Documentation build: Only runs on Linux
+  # Still need to install dependencies and the compiler because DDOX
+  # does a full build
+  doc:
+    name: Build and upload documentation
+    needs: main
+    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
-- 
cgit v1.2.3