### Global defaults env: CCACHE_SIZE: "200M" CCACHE_DIR: "/tmp/ccache_dir" CCACHE_NOHASHDIR: "1" # Debug info might contain a stale path if the build dir changes, but this is fine CCACHE_CPP2: "yes" ### Task templates # https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks filter_template: &FILTER_TEMPLATE skip: "!changesInclude('.cirrus.yml', '**.{h,hpp,cpp,c,pro,pri,ts,ui,png,qbs,js}')" regular_task_template: ®ULER_TASK_TEMPLATE << : *FILTER_TEMPLATE ccache_cache: folder: "/tmp/ccache_dir" regular_linux_task_template: ®ULER_LINUX_TASK_TEMPLATE << : *REGULER_TASK_TEMPLATE env: DEBIAN_FRONTEND: "noninteractive" PACKAGE_MANAGER_INSTALL: "apt-get -qq update && apt-get install -y" container: cpu: 4 linux_qt6_task_template: &LINUX_QT6_TASK_TEMPLATE << : *REGULER_LINUX_TASK_TEMPLATE install_script: - bash -c "$PACKAGE_MANAGER_INSTALL -y qbs qt6-base-dev qt6-l10n-tools libqt6svg6-dev qt6-base-dev-tools qbs libxerces-c-dev poppler-utils xvfb ccache" build_script: - uname -a - echo $PATH - which qmake - which qbs - pwd #- ${COMPILER} --version - qbs --version - qbs setup-toolchains --detect - qbs setup-qt /usr/bin/qmake qt6 - qbs config profiles.qt6.baseProfile ${TOOLCHAIN} - qbs-config defaultProfile qt6 - qbs build -f valentina.qbs -d build --command-echo-mode command-line profile:qt6 config:release - xvfb-run -a qbs -p autotest-runner linux_qt5_qmake_task_template: &LINUX_QT5_QMAKE_TASK_TEMPLATE << : *REGULER_LINUX_TASK_TEMPLATE env: QT_SELECT: "qt5" install_script: - bash -c "$PACKAGE_MANAGER_INSTALL qtbase5-dev libqt5svg5-dev qttools5-dev-tools libqt5xmlpatterns5-dev libqt5core5a libqt5gui5 libqt5printsupport5 libqt5svg5 libqt5widgets5 libqt5xml5 libqt5xmlpatterns5 poppler-utils xvfb ccache" build_script: - uname -a - echo $PATH - which qmake - mkdir build - cd build - pwd - ${COMPILER} --version - qmake --version - qmake ../Valentina.pro -r -spec linux-${COMPILER} CONFIG+=noDebugSymbols CONFIG+=checkWarnings - make -j$(nproc) - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$CIRRUS_WORKING_DIR/build/src/libs/vpropertyexplorer/bin:$CIRRUS_WORKING_DIR/build/src/libs/qmuparser/bin" - xvfb-run -a make --silent check TESTARGS="-silent" linux_qt5_qbs_task_template: &LINUX_QT5_QBS_TASK_TEMPLATE << : *REGULER_LINUX_TASK_TEMPLATE install_script: - bash -c "$PACKAGE_MANAGER_INSTALL qbs qtbase5-dev libqt5svg5-dev qttools5-dev-tools libqt5xmlpatterns5-dev libqt5core5a libqt5gui5 libqt5printsupport5 libqt5svg5 libqt5widgets5 libqt5xml5 libqt5xmlpatterns5 poppler-utils xvfb ccache" build_script: - uname -a - echo $PATH - which qmake - which qbs - pwd - ${COMPILER} --version - qbs --version - qbs setup-toolchains --detect - qbs setup-qt /usr/bin/qmake qt5 - qbs-config defaultProfile qt5 - qbs config profiles.qt5.baseProfile ${TOOLCHAIN} - qbs build -f valentina.qbs -d build --command-echo-mode command-line profile:qt5 config:release - xvfb-run -a qbs -p autotest-runner #macos_task_template: &MACOS_TASK_TEMPLATE # << : *REGULER_TASK_TEMPLATE # timeout_in: 120m # env: # ACCESS_TOKEN: ENCRYPTED[81e0b2381ffb628b73f5c94f834010e6631191e0ad03cdd0850d440fb2737a74b68131d842030f010c1bf73ab4cdc1ae] # QTDIR: "/usr/local/opt/qt5" # PATH: ${HOME}/.local/bin:$QTDIR/bin:${PATH} # # ^ add user paths # PIP_CACHE_DIR: ${HOME}/.cache/pip # DEPLOY: "true" # LDFLAGS: "-L$QTDIR/lib" # CPPFLAGS: "-I$QTDIR/include" # PKG_CONFIG_PATH: "/usr/local/opt/qt5/lib/pkgconfig" # global_homebrew_cache: # folder: "/usr/local/Homebrew" # local_homebrew_cache: # folder: "$HOME/Library/Caches/Homebrew" # pip_cache: # folder: ${PIP_CACHE_DIR} # install_script: # - brew update > /dev/null # - brew install qt5 coreutils ccache # - chmod -R 755 /usr/local/opt/qt5/* # - python3 --version # - pip3 install --user --upgrade pip dropbox # build_script: # - mkdir build # - cd build # - pwd # - qmake --version # - qmake ../Valentina.pro -r CONFIG+=noDebugSymbols CONFIG+=checkWarnings CONFIG+=noTests # - ${COMPILER} --version # - make -j$(nproc) # deploy_script: # - pwd # - $CIRRUS_WORKING_DIR/scripts/cirrus-deploy.sh # before_cache_script: # - brew cleanup # env: # COMPILER: clang #task: # name: 'macOS Catalina 10.15 [no tests]' # macos_instance: # image: catalina-xcode-11.3.1 # << : *MACOS_TASK_TEMPLATE # env: # PLATFORM: "macOS_10.14+" #task: # name: 'macOS Big Sur 11 [no tests]' # macos_instance: # image: big-sur-xcode-12.4 # << : *MACOS_TASK_TEMPLATE # env: # PLATFORM: "macOS_10.15+" task: name: 'latest GCC [Qt5 QMake]' container: image: teeks99/gcc-ubuntu:latest memory: 16G # Set to 16GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-container << : *LINUX_QT5_QMAKE_TASK_TEMPLATE env: COMPILER: g++ GCC_COLORS: 'error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' TOOLCHAIN: x86_64-pc-linux-gnu-gcc-12_2 task: name: 'latest GCC [Qt5 QBS]' container: image: teeks99/gcc-ubuntu:latest memory: 16G # Set to 16GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-container << : *LINUX_QT5_QBS_TASK_TEMPLATE env: COMPILER: gcc GCC_COLORS: 'error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' TOOLCHAIN: x86_64-pc-linux-gnu-gcc-12_2 task: name: 'latest GCC [Qt6]' container: image: teeks99/gcc-ubuntu:latest memory: 16G # Set to 16GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-container << : *LINUX_QT6_TASK_TEMPLATE env: COMPILER: gcc GCC_COLORS: 'error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' TOOLCHAIN: x86_64-pc-linux-gnu-gcc-12_2 task: name: 'latest Clang [Qt5 QMake]' container: image: teeks99/clang-ubuntu:latest memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-container << : *LINUX_QT5_QMAKE_TASK_TEMPLATE env: COMPILER: clang TOOLCHAIN: clang-16 task: name: 'latest Clang [Qt5 QBS]' container: image: teeks99/clang-ubuntu:latest memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-container << : *LINUX_QT5_QBS_TASK_TEMPLATE env: COMPILER: clang TOOLCHAIN: clang-16 task: name: 'latest Clang [Qt6]' container: image: teeks99/clang-ubuntu:latest memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-container << : *LINUX_QT6_TASK_TEMPLATE env: COMPILER: clang TOOLCHAIN: clang-16