2022-05-17 11:01:55 +02:00

67 lines
2.3 KiB
YAML

name: Linux
on:
[push, pull_request]
jobs:
linux_build:
name: Build MeshLab (Linux)
runs-on: ubuntu-18.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: recursive
- name: Install Qt
uses: jurplel/install-qt-action@v2
- name: Install dependencies
run: |
bash scripts/${{ runner.os }}/0_setup_env_ubuntu.sh --dont_install_qt --dowload_cgal_and_boost_src
#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 and AppImage
shell: bash
run: |
bash scripts/${{ runner.os }}/2_deploy_and_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: MeshLab*-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