bundlers/linux: Ensure qt wayland plugins are copied in AppImage #733
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: macos-macports-build | |
on: [push, pull_request] | |
jobs: | |
macos: | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
env: | |
CLANG_VERSION: 17 | |
PYTHON_VERSION: "3.12" | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- name: Talipot build on macOS x86_64 | |
os: macos-11 | |
- name: Talipot build on macOS arm64 | |
os: flyci-macos-large-latest-m1 | |
steps: | |
- name: Cancel Previous Runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
- name: Checkout Talipot code | |
uses: actions/checkout@v3 | |
- name: Compute environment variable | |
run: | | |
PYTHON_VERSION_NO_DOT=$(echo $PYTHON_VERSION | sed 's/\.//') | |
echo "PYTHON_VERSION_NO_DOT=$PYTHON_VERSION_NO_DOT" >> $GITHUB_ENV | |
- name: Prepare ccache timestamp | |
id: get-current-date | |
run: | | |
echo "date=$(date -u "+%Y-%m-%d-%H-%m-%S")" >> $GITHUB_OUTPUT | |
shell: bash | |
- name: Cache files | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
uses: actions/cache@v3 | |
with: | |
path: | | |
/Users/runner/Library/Caches/ccache | |
/Users/runner/.macports-ci-ccache | |
key: ${{ matrix.config.os }}-ccache-${{ steps.get-current-date.outputs.date }} | |
restore-keys: | | |
${{ matrix.config.os }}-ccache- | |
- name: Install MacPorts | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
run: | | |
curl -LO https://raw.githubusercontent.com/GiovanniBussi/macports-ci/master/macports-ci | |
source ./macports-ci install | |
source ./macports-ci ccache | |
- name: Install Talipot build dependencies | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
run: sudo port -N install | |
cmake | |
clang-${{ env.CLANG_VERSION }} | |
ccache | |
zlib | |
qhull | |
yajl | |
zstd | |
graphviz | |
libgit2 | |
python${{ env.PYTHON_VERSION_NO_DOT }} | |
py${{ env.PYTHON_VERSION_NO_DOT }}-sip | |
pkgconfig | |
cppunit | |
freetype | |
fontconfig | |
fribidi | |
glew | |
qt5-qtbase | |
qt5-qttools | |
qt5-qtwebkit | |
quazip | |
py${{ env.PYTHON_VERSION_NO_DOT }}-pip | |
- name: Install Sphinx | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
run: pip-${{ env.PYTHON_VERSION }} install sphinx | |
- name: Save MacPorts ccache | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
run: source ./macports-ci ccache --save | |
- name: Create build directory | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
run: mkdir build | |
- name: Configure Talipot core build with CMake | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
working-directory: ./build | |
run: cmake .. -DCMAKE_BUILD_TYPE=Release | |
-DCMAKE_INSTALL_PREFIX=$PWD/install | |
-DCMAKE_C_COMPILER=/opt/local/bin/clang-mp-${{ env.CLANG_VERSION }} | |
-DCMAKE_CXX_COMPILER=/opt/local/bin/clang++-mp-${{ env.CLANG_VERSION }} | |
-DPython3_EXECUTABLE=/opt/local/bin/python${{ env.PYTHON_VERSION }} | |
-DTALIPOT_BUILD_TESTS=ON | |
-DTALIPOT_USE_CCACHE=ON | |
-DTALIPOT_BUILD_DOC=OFF | |
-DTALIPOT_BUILD_CORE_ONLY=ON | |
- name: Talipot core build | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
working-directory: ./build | |
run: make -j4 | |
- name: Install Talipot core build | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
working-directory: ./build | |
run: make -j4 install | |
- name: Run Talipot core build unit tests | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
working-directory: ./build | |
run: make tests | |
- name: Configure Talipot complete build with CMake | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
working-directory: ./build | |
run: cmake . | |
-DTALIPOT_BUILD_CORE_ONLY=OFF | |
-DTALIPOT_BUILD_DOC=ON | |
- name: Talipot complete build | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
working-directory: ./build | |
run: make -j4 | |
- name: Install Talipot complete build | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
working-directory: ./build | |
run: make -j4 install | |
- name: Run Talipot complete build unit tests | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
working-directory: ./build | |
run: make tests | |
- name: Check Talipot application can be executed | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
working-directory: ./build/install/bin | |
run: ./talipot --check-application-starts --debug-plugins-load | |
- name: Generate Talipot dmg bundle | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
working-directory: ./build | |
run: make bundle | |
- name: Upload Talipot bundle to GitHub Actions artifacts | |
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Talipot macOS bundles | |
path: ./build/Talipot*.dmg | |
- name: Upload Talipot bundle to dev-latest prerelease | |
if: github.ref == 'refs/tags/dev-latest' | |
uses: ncipollo/release-action@v1 | |
with: | |
allowUpdates: true | |
name: Talipot development build | |
prerelease: true | |
artifacts: ./build/Talipot*.dmg | |
token: ${{ secrets.GITHUB_TOKEN }} |