quake 0.5.0

Simple knowledge management tool for geek.
name: Build

on: [ push, pull_request ]

jobs:
  build:
    strategy:
      matrix:
        os: [ macos-latest, ubuntu-latest, windows-latest ]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v2

      - name: Checkout submodules
        shell: bash
        run: |
          git fetch --tags
          auth_header="$(git config --local --get http.https://github.com/.extraheader)"
          git submodule sync --recursive
          git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1

      - name: install libgtk-dev
        run: |
          sudo apt update
          sudo apt install libgtk-3-dev libxkbcommon-dev libxkbcommon-x11-dev
        if: contains(matrix.os, 'ubuntu')

      # url: https://github.com/linebender/druid/blob/master/.github/workflows/ci.yml
      - name: install libx11-dev
        run: |
          sudo apt update
          sudo apt install libx11-dev libpango1.0-dev libxkbcommon-dev libxkbcommon-x11-dev
        if: contains(matrix.os, 'ubuntu')

      # from: https://github.com/diesel-rs/diesel/blob/master/.github/workflows/ci.yml
#      - name: Install sqlite (Windows)
#        if: runner.os == 'Windows'
#        shell: cmd
#        run: |
#          choco install sqlite
#          cd /D C:\ProgramData\chocolatey\lib\SQLite\tools
#          call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
#          lib /machine:x64 /def:sqlite3.def /out:sqlite3.lib
#
#      - name: Set variables for sqlite (Windows)
#        if: runner.os == 'Windows'
#        shell: bash
#        run: |
#          echo "C:\ProgramData\chocolatey\lib\SQLite\tools" >> $GITHUB_PATH
#          echo "SQLITE3_LIB_DIR=C:\ProgramData\chocolatey\lib\SQLite\tools" >> $GITHUB_ENV
#          echo "SQLITE_DATABASE_URL=C:\test.db" >> $GITHUB_ENV

      - name: Run unit tests
        run: ${{matrix.ENV_VARS}} cargo test --all