mirror of
https://github.com/lucaspalomodevelop/meshlab.git
synced 2026-03-13 08:09:39 +00:00
83 lines
2.7 KiB
YAML
83 lines
2.7 KiB
YAML
name: BuildMeshLab
|
|
|
|
on:
|
|
[push, pull_request]
|
|
|
|
env:
|
|
QT_VERSION: 5.15.2
|
|
MAC_CERT: ${{secrets.MACOS_CERT_ID}}
|
|
WIN_CERT: ${{secrets.WIN_CERTIFICATE}}
|
|
|
|
jobs:
|
|
meshlab_build:
|
|
name: Build MeshLab
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: ['ubuntu-20.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: Set CodeSign Certificate macOS
|
|
if: runner.os == 'macOS' && env.MAC_CERT != null
|
|
uses: apple-actions/import-codesign-certs@v2
|
|
with:
|
|
p12-file-base64: ${{ secrets.MACOS_CERTIFICATE }}
|
|
p12-password: ${{ secrets.MACOS_CERTIFICATE_PSSW }}
|
|
- name: Set CodeSign Certificate Windows
|
|
if: runner.os == 'Windows' && env.WIN_CERT != null
|
|
run: |
|
|
New-Item -ItemType directory -Path certificate
|
|
Set-Content -Path certificate\certificate.txt -Value '${{ secrets.WIN_CERTIFICATE }}'
|
|
certutil -decode certificate\certificate.txt certificate\certificate.pfx
|
|
- 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
|
|
- 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 --cert_pssw='${{ secrets.WIN_CERTIFICATE_PSSW }}' --cert_id='${{ secrets.MACOS_CERT_ID }}'
|
|
- 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* |