mirror of
https://github.com/lucaspalomodevelop/meshlab.git
synced 2026-03-13 08:09:39 +00:00
88 lines
2.7 KiB
YAML
88 lines
2.7 KiB
YAML
name: BuildMeshLab
|
|
|
|
on:
|
|
[push, pull_request]
|
|
|
|
env:
|
|
QT_VERSION: 5.15.2
|
|
|
|
jobs:
|
|
meshlab_build:
|
|
name: Build MeshLab
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: ['ubuntu-18.04', 'macos-latest', 'windows-latest']
|
|
precision: [single_precision, double_precision]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
submodules: recursive
|
|
- name: Setup MSVC
|
|
uses: ilammy/msvc-dev-cmd@v1
|
|
- name: Install Qt
|
|
uses: jurplel/install-qt-action@v3
|
|
with:
|
|
cache: true
|
|
version: ${{ env.QT_VERSION }}
|
|
- name: Install dependencies
|
|
shell: bash
|
|
run: |
|
|
bash scripts/${{ runner.os }}/0_setup_env.sh --dont_install_qt --dont_install_cgal_and_boost
|
|
- name: Setup env variables
|
|
id: envs
|
|
shell: bash
|
|
run: |
|
|
if [ "${{matrix.precision}}" == "double_precision" ]; then
|
|
echo "artifact_suffix=_double" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "artifact_suffix=" >> $GITHUB_OUTPUT
|
|
fi
|
|
- name: Cache external libraries sources
|
|
id: cache-ext-libs
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: src/external/downloads/*
|
|
key: ${{ runner.os }}-external-libraries
|
|
- name: Ccache
|
|
uses: hendrikmuhs/ccache-action@v1.2
|
|
with:
|
|
key: ${{ runner.os }}-${{ github.ref }}-${{ matrix.precision }}
|
|
- name: Configure and Build
|
|
shell: bash
|
|
run: |
|
|
bash scripts/${{ runner.os }}/1_build.sh --${{ matrix.precision }} --nightly --ccache
|
|
- name: Deploy
|
|
shell: bash
|
|
run: |
|
|
bash scripts/${{ runner.os }}/2_deploy.sh
|
|
- name: Packaging
|
|
shell: bash
|
|
run: |
|
|
bash scripts/${{ runner.os }}/3_pack.sh
|
|
- name: Upload MeshLab Portable
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: MeshLab_${{ runner.os }}_portable${{steps.envs.outputs.artifact_suffix}}
|
|
path: install/
|
|
- name: Upload MeshLab Packages
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: MeshLab_${{ runner.os }}_packages${{steps.envs.outputs.artifact_suffix}}
|
|
path: packages/MeshLab*
|
|
#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: 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 deb
|
|
# uses: actions/upload-artifact@v3
|
|
# with:
|
|
# name: meshlab_linux_deb${{steps.envs.outputs.artifact_suffix}}
|
|
# path: MeshLab_${{steps.envs.outputs.version}}_amd64.deb |