name: Ubuntu-PR-check
concurrency: 
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
on: 

  workflow_dispatch:

  pull_request:
    branches:
      - dev
      - master
      - staged
    paths-ignore:
      - 'docs/**'
      # - ".github/**"
      - "howto/**"
      - "*.md"
jobs:
  build:
    name: Build
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-20.04]
        qt_ver: [5.15.2,6.2.4]
        qt_arch: [gcc_64]

    steps:
      - uses: actions/setup-python@v3
        with:
          python-version: '3.9'    
      - name: Install Qt
        if: ${{ matrix.qt_ver == '5.15.2' }}
        uses: jurplel/install-qt-action@v3
        with:
          version: ${{ matrix.qt_ver }}
          cached: 'false'
          modules: qtwebengine
          setup-python: 'false'
          
      - name: Install Qt
        if: ${{ matrix.qt_ver != '5.15.2' }}
        uses: jurplel/install-qt-action@v3
        with:
          version: ${{ matrix.qt_ver }}
          arch: ${{ matrix.qt_arch }}
          cached: 'false'
          modules: qtwebengine qtwebchannel qtpositioning qt5compat qtmultimedia qtimageformats
          setup-python: 'false'
                    
      - name: ubuntu install thirdparty dependencies
        run: |
          sudo apt-get install git pkg-config build-essential qt5-qmake 
          sudo apt-get install libvorbis-dev zlib1g-dev libhunspell-dev x11proto-record-dev 
          sudo apt-get install qtdeclarative5-dev libxtst-dev liblzo2-dev libbz2-dev 
          sudo apt-get install libao-dev libavutil-dev libavformat-dev libtiff5-dev libeb16-dev 
          sudo apt-get install libqt5webkit5-dev libqt5svg5-dev libqt5x11extras5-dev qttools5-dev 
          sudo apt-get install qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins doxygen libzstd-dev #libopencc-dev
          sudo apt-get install libxkbcommon-dev  libc6-dev
          sudo ln -sf /usr/bin/x86_64-linux-gnu-ld.gold /usr/bin/ld
          git clone https://github.com/BYVoid/OpenCC
          pwd
          cd OpenCC/
          make PREFIX=/usr -j$(nproc)
          sudo make install
          cd ..
      - uses: actions/checkout@v3
        with:
          fetch-depth: 1 

      - name: build goldendict
        run: |
          qmake CONFIG+=release CONFIG+=no_extra_tiff_handler PREFIX=/usr CONFIG+=zim_support CONFIG+=chinese_conversion_support CONFIG+=use_iconv
          make INSTALL_ROOT=appdir -j`nproc` install; find appdir/

          #copy missing shared dll to appdir.
          mkdir -p appdir/usr/lib
          cp  $(ldd appdir/usr/bin/goldendict | grep -o '\W/[^ ]*' |grep gobject ) appdir/usr/lib
          cp  $(ldd appdir/usr/bin/goldendict | grep -o '\W/[^ ]*' |grep libpango ) appdir/usr/lib