name: Linux on: [push, pull_request] jobs: linux_build: name: Build MeshLab (Linux) runs-on: ubuntu-16.04 #in order to deploy, need to use oldest supported version strategy: matrix: precision: [single_precision, double_precision] steps: - uses: actions/checkout@v2 with: submodules: true - name: Install Qt uses: jurplel/install-qt-action@v2 - name: Install dependencies run: | sudo apt-get install -y mesa-common-dev libglu1-mesa-dev libgmp-dev #needed by qt 5.15 on linux sudo apt-get install libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-render-util0-dev libxcb-xinerama0-dev - name: Setup env variables id: envs shell: bash run: | if [ "${{matrix.precision}}" == "double_precision" ]; then echo ::set-output name=artifact_suffix::"_double" else echo ::set-output name=artifact_suffix::"" fi - name: Configure and Build shell: bash run: | bash scripts/${{ runner.os }}/1_build.sh --${{ matrix.precision }} --nightly - name: Deploy shell: bash run: | bash scripts/${{ runner.os }}/2_deploy.sh - name: Build MeshLab AppImage shell: bash run : | bash scripts/${{ runner.os }}/3_appimage.sh #todo: try deb when ubuntu16.04 won't be required anymore by linuxdeployqt... #- name: Build deb package # uses: jiro4989/build-deb-action@v2 # with: # package: MeshLab # package_root: src/install # maintainer: cnr-isti-vclab # version: ${{steps.envs.outputs.version}} # refs/tags/v*.*.* # arch: 'amd64' # desc: 'MeshLab ${{steps.envs.outputs.version}} deb package.' - name: Upload MeshLab Portable uses: actions/upload-artifact@v2 with: name: meshlab_linux_portable${{steps.envs.outputs.artifact_suffix}} path: src/install/ - name: Upload MeshLab AppImage uses: actions/upload-artifact@v2 with: name: meshlab_linux_appimage${{steps.envs.outputs.artifact_suffix}} path: src/MeshLab*.AppImage #- name: Upload MeshLab deb # uses: actions/upload-artifact@v2 # with: # name: meshlab_linux_deb${{steps.envs.outputs.artifact_suffix}} # path: MeshLab_${{steps.envs.outputs.version}}_amd64.deb