2021-02-08 15:13:57 +01:00

69 lines
2.3 KiB
YAML

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=version::"$(cat ML_VERSION)d"
echo ::set-output name=artifact_suffix::"_double"
else
echo ::set-output name=version::"$(cat ML_VERSION)"
echo ::set-output name=artifact_suffix::""
fi
- name: Configure and Build
run: |
sh scripts/${{ runner.os }}/1_build.sh --${{ matrix.precision }}
- name: Deploy
run: |
sh scripts/${{ runner.os }}/2_deploy.sh
- name: Build MeshLab AppImage
run : |
sh scripts/${{ runner.os }}/3_appimage.sh --${{ matrix.precision }}
- 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@v1
with:
name: meshlab_linux_portable${{steps.envs.outputs.artifact_suffix}}
path: src/install/
- name: Upload MeshLab AppImage
uses: actions/upload-artifact@v1
with:
name: meshlab_linux_appimage${{steps.envs.outputs.artifact_suffix}}
path: src/MeshLab${{steps.envs.outputs.version}}-linux.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