name: BuildUbuntu on: [push, pull_request] jobs: ubuntu_build_appimage: name: Build MeshLab (Ubuntu - AppImage) runs-on: ubuntu-16.04 #in order to deploy, need to use oldest supported version steps: - uses: actions/checkout@v2 - name: Checkout submodules shell: bash run: | auth_header="$(git config --local --get http.https://github.com/.extraheader)" git submodule sync --recursive git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 - name: Install Qt uses: jurplel/install-qt-action@v2 with: modules: xmlpatterns - name: Install dependencies run: | sudo apt-get install -y mesa-common-dev libglu1-mesa-dev libglew-dev libeigen3-dev libgmp-dev sudo apt-get install -y libxkbcommon-x11-0 chrpath - name: Setup env variables id: envs run: | echo ::set-output name=date::"$(cat ML_VERSION)" - name: Build MeshLab run: | sh install/linux/linux_build.sh - name: Deploy MeshLab and MeshLabServer run : | sh install/linux/linux_appimages.sh - name: Upload Meshlab Portable uses: actions/upload-artifact@v1 with: name: meshlab_linux_portable path: distrib/ - name: Upload MeshlabServer AppImage uses: actions/upload-artifact@v1 with: name: meshlabserver_linux_appimage path: MeshLabServer${{steps.envs.outputs.date}}-linux.AppImage - name: Upload Meshlab AppImage uses: actions/upload-artifact@v1 with: name: meshlab_linux_appimage path: MeshLab${{steps.envs.outputs.date}}-linux.AppImage ubuntu_build_snap: name: Build MeshLab (Ubuntu - Snap) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Checkout submodules shell: bash run: | auth_header="$(git config --local --get http.https://github.com/.extraheader)" git submodule sync --recursive git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 - name: Install dependencies run: | #needed for some reason... curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add - sudo apt update sudo apt-get install -y snapcraft - name: Setup env variables id: envs run: | echo ::set-output name=date::"$(cat ML_VERSION)" - name: Build MeshLab Snap run: | snapcraft - name: Rename Snap run: | mv ./meshlab*.snap ./MeshLab${{steps.envs.outputs.date}}-linux.snap - name: Upload Meshlab Snap uses: actions/upload-artifact@v1 with: name: meshlab_linux_snap path: MeshLab${{steps.envs.outputs.date}}-linux.snap ubuntu_build_cmake: name: Build MeshLab (Ubuntu - CMake) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Checkout submodules shell: bash run: | auth_header="$(git config --local --get http.https://github.com/.extraheader)" git submodule sync --recursive git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 - name: Install dependencies run: | sh install/linux/linux_setup_env_ubuntu.sh sudo apt-get install cmake ninja-build - name: Setup env variables id: envs run: | echo ::set-output name=date::"$(cat ML_VERSION)" - name: Configure run: | cmake src/ -G Ninja - name: Build MeshLab run: | ninja -C . - name: Install Meshlab run: sudo ninja -C . install