Skip to content

Some more fixes to build and deploy workflow #190

Some more fixes to build and deploy workflow

Some more fixes to build and deploy workflow #190

name: Build
on:
push:
paths-ignore:
- 'CONTRIBUTING.md'
- 'COPYING'
- 'CodingStyle.md'
- 'INSTALL.md'
- 'README.md'
branches:
- master
- development
- integration-0.6.0
tags:
- v[0-9].[0-9].[0-9]*
pull_request:
branches:
- master
- development
- integration-0.6.0
jobs:
build_linux:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
runs-on: ubuntu-20.04
strategy:
matrix:
include:
- qt_version: '5.15.4'
compiler_c: 'gcc'
compiler_cpp: 'g++'
qtkeychain_cache_version: '1'
- qt_version: '5.15.4'
compiler_c: 'clang'
compiler_cpp: 'clang++'
qtkeychain_cache_version: '1'
- qt_version: '6.7.3'
compiler_c: 'gcc'
compiler_cpp: 'g++'
qt6keychain_cache_version: '1'
- qt_version: '6.7.3'
compiler_c: 'clang'
compiler_cpp: 'clang++'
qt6keychain_cache_version: '1'
steps:
- uses: actions/checkout@v3
- name: Install non-Qt dependencies
id: install_non_qt_deps
run: |
for i in 0..5
do
export INSTALLED_DEPS=0
sudo apt-get -qq update
sudo apt-get -qq install cmake ninja-build p7zip-full coreutils curl libxml2-dev libboost-dev libssl-dev libhunspell-dev xvfb wget libgtest-dev libgmock-dev libcups2-dev && export INSTALLED_DEPS=1 || true
if [ "$INSTALLED_DEPS" = "1" ]; then
break
fi
sleep 5
done
if [ "$INSTALLED_DEPS" != "1" ]; then
echo "Failed to install non-Qt dependencies"
exit 1
fi
- name: Fetch clang-format
id: fetch_clang_format
run: |
curl -Ls "https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-32d3ac78/clang-format-18_linux-amd64" -o "/tmp/clang-format"
chmod +x /tmp/clang-format
sudo mv /tmp/clang-format /usr/bin/clang-format
shell: bash
if: ${{ matrix.compiler_cpp == 'g++' && matrix.qt_version == '5.15.4' }}
- name: Install gcc
id: install_gcc
run: |
sudo apt-get -qq install gcc g++
if: ${{ matrix.compiler_cpp == 'g++' }}
- name: Install clang
id: install_clang
run: |
sudo apt-get -qq install clang
if: ${{ matrix.compiler_cpp == 'clang++' }}
- name: Install Qt 5.15.4
id: install_qt5
run: |
sudo apt-add-repository -y ppa:beineri/opt-qt-5.15.4-focal
sudo apt-get -qq update
sudo apt-get -qq install qt515tools qt515base qt515webchannel qt515webengine qt515websockets qt515xmlpatterns qt515translations qt515svg mesa-common-dev libgl1-mesa-dev
if: ${{ matrix.qt_version == '5.15.4' }}
shell: bash
- name: Install Qt 6.7.3
id: install_qt6
uses: jurplel/install-qt-action@v4
with:
cache: true
cache-key-prefix: ${{ runner.os }}-Qt6Cache
version: 6.7.3
host: linux
target: desktop
install-deps: true
arch: linux_gcc_64
modules: 'qtwebengine qtwebchannel qtwebsockets qtpositioning'
dir: '${{ runner.workspace }}/Qt6'
if: ${{ matrix.qt_version == '6.7.3' }}
- name: Install dependencies required for AppImage building
id: install_appimage_deps
run: |
sudo apt-get -qq install appstream make
cd /tmp
wget -c -nv "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
sudo mv linuxdeploy-x86_64.AppImage /usr/local/bin/linuxdeploy
sudo chmod a+x /usr/local/bin/linuxdeploy
wget -c -nv "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage"
sudo mv linuxdeploy-plugin-qt-x86_64.AppImage /usr/local/bin/linuxdeploy-plugin-qt
sudo chmod a+x /usr/local/bin/linuxdeploy-plugin-qt
wget https://nixos.org/releases/patchelf/patchelf-0.9/patchelf-0.9.tar.bz2
tar xf patchelf-0.9.tar.bz2
cd patchelf-0.9
./configure
make
sudo make install
cd ..
sudo wget -c "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" -O /usr/local/bin/appimagetool
sudo chmod a+x /usr/local/bin/appimagetool
cd $RUNNER_WORKSPACE
git clone https://github.com/antony-jr/AppImageUpdaterBridge.git
cd AppImageUpdaterBridge
git checkout v1.1.9
mkdir build
cd build
cmake -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt515 -DCMAKE_INSTALL_PREFIX=$(pwd)/installdir ..
cmake --build . --target all
cmake --build . --target install
if: ${{ matrix.compiler_cpp == 'g++' && matrix.qt_version == '5.15.4' }}
shell: bash
- name: Cache QtKeychain for Qt 5.15.4
id: cache_qtkeychain_qt5
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qtkeychain_qt5'
key: ${{ runner.os }}-qtkeychain-qt5-${{ matrix.qtkeychain_cache_version }}
if: ${{ matrix.qt_version == '5.15.4' }}
- name: Build QtKeychain for Qt 5.15.4
id: build_qtkeychain_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/qtkeychain_qt5" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/qtkeychain_qt5)" ]; then
git clone https://github.com/frankosterfeld/qtkeychain.git $RUNNER_WORKSPACE/qtkeychain_src_for_qt5
cd $RUNNER_WORKSPACE/qtkeychain_src_for_qt5
git checkout 0.14.3
mkdir build
cd build
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/qtkeychain_qt5 -DBUILD_TRANSLATIONS=ON -DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER -DCMAKE_PREFIX_PATH=/opt/qt515 ..
cmake --build . --target all
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '5.15.4' }}
shell: bash
- name: Cache QtKeychain for Qt 6.7.3
id: cache_qtkeychain_qt6
uses: actions/cache@v4
with:
path: '{{ $runner.workspace }}/qtkeychain_qt6'
key: ${{ runner.os }}-qtkeychain-qt6-${{ matrix.qtkeychain_cache_version }}
if: ${{ matrix.qt_version == '6.7.3' }}
- name: Build QtKeychain for Qt 6.7.3
id: build_qtkeychain_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/qtkeychain_qt6" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/qtkeychain_qt6)" ]; then
git clone https://github.com/frankosterfeld/qtkeychain.git $RUNNER_WORKSPACE/qtkeychain_src_for_qt6
cd $RUNNER_WORKSPACE/qtkeychain_src_for_qt6
git checkout 0.14.3
mkdir build
cd build
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/qtkeychain_qt6 -DBUILD_WITH_QT6=ON -DBUILD_TRANSLATIONS=ON -DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER -DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/linux_gcc_64 ..
cmake --build . --target all
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '6.7.3' }}
shell: bash
- name: Cache tidy-html5
id: cache_tidy_html5
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/tidy_html5'
key: ${{ runner.os }}-tidy-html5-1
- name: Build tidy-html5
id: build_tidy_html5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if [ -d "$RUNNER_WORKSPACE/tidy_html5" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/tidy_html5)" ]; then
git clone https://github.com/htacg/tidy-html5.git $RUNNER_WORKSPACE/tidy_html5_src
cd $RUNNER_WORKSPACE/tidy_html5_src
git checkout 5.6.0
mkdir build_dir
cd build_dir
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/tidy_html5 ..
cmake --build . --target all
cmake --build . --target install
fi
shell: bash
- name: Cache Google breakpad
id: cache_breakpad
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/breakpad'
key: ${{ runner.os }}-breakpad-1
- name: Build Google breakpad
id: build_breakpad
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if [ -d "$RUNNER_WORKSPACE/breakpad" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/breakpad)" ]; then
mkdir breakpad_src
git clone https://chromium.googlesource.com/breakpad/breakpad breakpad_src
cd breakpad_src
git checkout chrome_99
git clone https://chromium.googlesource.com/linux-syscall-support src/third_party/lss
./configure --prefix=$RUNNER_WORKSPACE/breakpad
make
make install
fi
shell: bash
- name: Cache QEverCloud master for Qt 5.15.4
id: cache_qevercloud_master_qt5
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_master_qt5'
key: ${{ runner.os }}-qevercloud-master_qt5-1
if: ${{ matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
- name: Cache QEverCloud development Qt 5.15.4
id: cache_qevercloud_development_qt5
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_development_qt5'
key: ${{ runner.os }}-qevercloud-development_qt5-1
if: ${{ matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
- name: Cache QEverCloud integration for Qt 5.15.4
id: cache_qevercloud_integration_qt5
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_integration_qt5'
key: ${{ runner.os }}-qevercloud-integration_qt5-1
if: ${{ matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
- name: Cache QEverCloud master for Qt 6.7.3
id: cache_qevercloud_master_qt6
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_master_qt6'
key: ${{ runner.os }}-qevercloud-master_qt6
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
- name: Cache QEverCloud development for Qt 6.7.3
id: cache_qevercloud_development_qt6
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_development_qt6'
key: ${{ runner.os }}-qevercloud-development_qt6-1
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
- name: Cache QEverCloud integration for Qt 6.7.3
id: cache_qevercloud_integration_qt6
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_integration_qt6'
key: ${{ runner.os }}-qevercloud-integration_qt6-1
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
- name: Build QEverCloud master for Qt 5.15.4
id: build_qevercloud_master_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/qevercloud_master_qt5" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/qevercloud_master_qt5)" ]; then
git clone https://github.com/d1vanov/QEverCloud.git qevercloud_master_qt5_src
cd qevercloud_master_qt5_src
git checkout master
mkdir build
cd build
cmake -G Ninja -DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/qevercloud_master_qt5 -DCMAKE_PREFIX_PATH=/opt/qt515 ..
cmake --build . --target all
cmake --build . --target check
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
shell: bash
- name: Build QEverCloud development for Qt 5.15.4
id: build_qevercloud_development_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/qevercloud_development_qt5" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/qevercloud_development_qt5)" ]; then
git clone https://github.com/d1vanov/QEverCloud.git qevercloud_development_qt5_src
cd qevercloud_development_qt5_src
git checkout development
mkdir build
cd build
cmake -G Ninja -DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/qevercloud_development_qt5 -DCMAKE_PREFIX_PATH=/opt/qt515 ..
cmake --build . --target all
cmake --build . --target check
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
shell: bash
- name: Build QEverCloud integration for Qt 5.15.4
id: build_qevercloud_integration_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/qevercloud_integration_qt5" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/qevercloud_integration_qt5)" ]; then
git clone https://github.com/d1vanov/QEverCloud.git qevercloud_integration_qt5_src
cd qevercloud_integration_qt5_src
git checkout feature/copy-on-write-types
mkdir build
cd build
cmake -G Ninja -DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/qevercloud_integration_qt5 -DCMAKE_PREFIX_PATH=/opt/qt515 ..
cmake --build . --target all
cmake --build . --target check
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
shell: bash
- name: Build QEverCloud master for Qt 6.7.3
id: build_qevercloud_master_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/qevercloud_master_qt6" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/qevercloud_master_qt6)" ]; then
git clone https://github.com/d1vanov/QEverCloud.git qevercloud_master_qt6_src
cd qevercloud_master_qt6_src
git checkout master
mkdir build
cd build
cmake -G Ninja -DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER -DBUILD_SHARED_LIBS=ON -DBUILD_WITH_QT6=ON -DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/qevercloud_master_qt5 -DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/linux_gcc_64 ..
cmake --build . --target all
cmake --build . --target check
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
shell: bash
- name: Build QEverCloud development for Qt 6.7.3
id: build_qevercloud_development_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/qevercloud_development_qt6" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/qevercloud_development_qt6)" ]; then
git clone https://github.com/d1vanov/QEverCloud.git qevercloud_development_qt6_src
cd qevercloud_development_qt6_src
git checkout development
mkdir build
cd build
cmake -G Ninja -DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER -DBUILD_SHARED_LIBS=ON -DBUILD_WITH_QT6=ON -DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/qevercloud_development_qt6 -DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/linux_gcc_64 ..
cmake --build . --target all
cmake --build . --target check
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
shell: bash
- name: Build QEverCloud integration for Qt 6.7.3
id: build_qevercloud_integration_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/qevercloud_integration_qt6" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/qevercloud_integration_qt6)" ]; then
git clone https://github.com/d1vanov/QEverCloud.git qevercloud_integration_qt6_src
cd qevercloud_integration_qt6_src
git checkout feature/copy-on-write-types
mkdir build
cd build
cmake -G Ninja -DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER -DBUILD_SHARED_LIBS=ON -DBUILD_WITH_QT6=ON -DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/qevercloud_development_qt6 -DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/linux_gcc_64 ..
cmake --build . --target all
cmake --build . --target check
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
shell: bash
- name: Cache libquentier master for Qt 5.15.4
id: cache_libquentier_master_qt5
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_master_qt5'
key: ${{ runner.os }}-libquentier-master-qt5-1
if: ${{ matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
- name: Cache libquentier development for Qt 5.15.4
id: cache_libquentier_development_qt5
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_development_qt5'
key: ${{ runner.os }}-libquentier-development-qt5-1
if: ${{ matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
- name: Cache libquentier integration for Qt 5.15.4
id: cache_libquentier_integration_qt5
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_integration_qt5'
key: ${{ runner.os }}-libquentier-integration-qt5-1
if: ${{ matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
- name: Cache libquentier master for Qt 6.7.3
id: cache_libquentier_master_qt6
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_master_qt6'
key: ${{ runner.os }}-libquentier-master-qt6-1
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
- name: Cache libquentier development for Qt 6.7.3
id: cache_libquentier_development_qt6
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_development_qt6'
key: ${{ runner.os }}-libquentier-development-qt6-1
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
- name: Cache libquentier integration for Qt 6.7.3
id: cache_libquentier_integration_qt6
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_integration_qt6'
key: ${{ runner.os }}-libquentier-integration-qt6-1
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
- name: Build libquentier master for Qt 5.15.4
id: build_libquentier_master_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/libquentier_master_qt5" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/libquentier_master_qt5)" ]; then
git clone https://github.com/d1vanov/libquentier.git libquentier_master_qt5_src
cd libquentier_master_qt5_src
git checkout master
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER \
-DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/libquentier_master_qt5 -DCMAKE_PREFIX_PATH=/opt/qt515 \
-DQt5Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain_qt5/lib/cmake/Qt5Keychain \
-DQEverCloud-qt5_DIR=$RUNNER_WORKSPACE/qevercloud_master_qt5/lib/cmake/QEverCloud-qt5 \
-DTIDY_HTML5_ROOT=$RUNNER_WORKSPACE/tidy_html5 \
..
cmake --build . --target all
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
shell: bash
- name: Build libquentier development for Qt 5.15.4
id: build_libquentier_development_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/libquentier_development_qt5" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/libquentier_development_qt5)" ]; then
git clone https://github.com/d1vanov/libquentier.git libquentier_development_qt5_src
cd libquentier_development_qt5_src
git checkout development
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER \
-DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/libquentier_development_qt5 -DCMAKE_PREFIX_PATH=/opt/qt515 \
-DQt5Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain_qt5/lib/cmake/Qt5Keychain \
-DQEverCloud-qt5_DIR=$RUNNER_WORKSPACE/qevercloud_development_qt5/lib/cmake/QEverCloud-qt5 \
-DTIDY_HTML5_ROOT=$RUNNER_WORKSPACE/tidy_html5 \
..
cmake --build . --target all
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
shell: bash
- name: Build libquentier integration for Qt 5.15.4
id: build_libquentier_integration_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/libquentier_integration_qt5" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/libquentier_integration_qt5)" ]; then
git clone https://github.com/d1vanov/libquentier.git libquentier_integration_qt5_src
cd libquentier_integration_qt5_src
git checkout experiment/debug-docker-build
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER \
-DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/libquentier_integration_qt5 -DCMAKE_PREFIX_PATH=/opt/qt515 \
-DQt5Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain_qt5/lib/cmake/Qt5Keychain \
-DQEverCloud-qt5_DIR=$RUNNER_WORKSPACE/qevercloud_integration_qt5/lib/cmake/QEverCloud-qt5 \
-DTIDY_HTML5_ROOT=$RUNNER_WORKSPACE/tidy_html5 \
..
cmake --build . --target all
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
shell: bash
- name: Build libquentier master for Qt 6.7.3
id: build_libquentier_master_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/libquentier_master_qt6" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/libquentier_master_qt6)" ]; then
git clone https://github.com/d1vanov/libquentier.git libquentier_master_qt6_src
cd libquentier_master_qt6_src
git checkout master
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_WITH_QT6=ON \
-DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER \
-DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/libquentier_master_qt6 \
-DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/linux_gcc_64 \
-DQt6Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain_qt6/lib/cmake/Qt6Keychain \
-DQEverCloud-qt6_DIR=$RUNNER_WORKSPACE/qevercloud_master_qt6/lib/cmake/QEverCloud-qt6 \
-DTIDY_HTML5_ROOT=$RUNNER_WORKSPACE/tidy_html5 \
..
cmake --build . --target all
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
shell: bash
- name: Build libquentier development for Qt 6.7.3
id: build_libquentier_development_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/libquentier_development_qt6" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/libquentier_development_qt6)" ]; then
git clone https://github.com/d1vanov/libquentier.git libquentier_development_qt6_src
cd libquentier_development_qt6_src
git checkout development
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_WITH_QT6=ON \
-DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER \
-DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/libquentier_development_qt6 \
-DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/linux_gcc_64 \
-DQt6Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain_qt6/lib/cmake/Qt6Keychain \
-DQEverCloud-qt6_DIR=$RUNNER_WORKSPACE/qevercloud_development_qt6/lib/cmake/QEverCloud-qt6 \
-DTIDY_HTML5_ROOT=$RUNNER_WORKSPACE/tidy_html5 \
..
cmake --build . --target all
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
shell: bash
- name: Build libquentier integration for Qt 6.7.3
id: build_libquentier_integration_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
CMAKE_C_COMPILER: ${{ matrix.compiler_c }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler_cpp }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/libquentier_integration_qt6" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/libquentier_integration_qt6)" ]; then
git clone https://github.com/d1vanov/libquentier.git libquentier_integration_qt6_src
cd libquentier_integration_qt6_src
git checkout experiment/debug-docker-build
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_WITH_QT6=ON \
-DCMAKE_C_COMPILER=/usr/bin/$CMAKE_C_COMPILER -DCMAKE_CXX_COMPILER=/usr/bin/$CMAKE_CXX_COMPILER \
-DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/libquentier_integration_qt6 \
-DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/linux_gcc_64 \
-DQt6Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain_qt6/lib/cmake/Qt6Keychain \
-DQEverCloud-qt6_DIR=$RUNNER_WORKSPACE/qevercloud_integration_qt6/lib/cmake/QEverCloud-qt6 \
-DTIDY_HTML5_ROOT=$RUNNER_WORKSPACE/tidy_html5 \
..
cmake --build . --target all
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target install
fi
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
shell: bash
- name: Configure for gcc and Qt 5.15.4
id: configure_for_gcc_and_qt5
run: |
mkdir $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
if [ "$GITHUB_EVENT_NAME" = "push" ]; then
export BRANCH_NAME=$(echo $GITHUB_REF | sed 's/.*\/\(.*\)$/\1/')
else
export BRANCH_NAME=$GITHUB_BASE_REF
fi
if [ "$BRANCH_NAME" = "development" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_development_qt5
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_development_qt5
export DEFAULT_UPDATE_CHANNEL="development"
elif [ "$BRANCH_NAME" = "integration-0.6.0" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_integration_qt5
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_integration_qt5
export DEFAULT_UPDATE_CHANNEL="integration-0.6.0"
else
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_master_qt5
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_master_qt5
export DEFAULT_UPDATE_CHANNEL="master"
fi
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=$(pwd)/installdir -DCMAKE_C_COMPILER=/usr/bin/gcc \
-DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_PREFIX_PATH=/opt/qt515 \
-DQt5Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain_qt5/lib/cmake/Qt5Keychain \
-DQEverCloud-qt5_DIR=$QEVERCLOUD_DIR/lib/cmake/QEverCloud-qt5 \
-DLibquentier-qt5_DIR=$LIBQUENTIER_DIR/lib/cmake/Libquentier-qt5 \
-DTIDY_HTML5_ROOT=$RUNNER_WORKSPACE/tidy_html5 \
-DAppImageUpdaterBridge_DIR=$RUNNER_WORKSPACE/AppImageUpdaterBridge/build/installdir/lib/cmake/AppImageUpdaterBridge \
-DINCLUDE_UPDATE_INFO=YES -DDEFAULT_UPDATE_CHANNEL=$DEFAULT_UPDATE_CHANNEL \
-DDEFAULT_UPDATE_PROVIDER="APPIMAGE" -DQUENTIER_PACKAGED_AS_APP_IMAGE=ON \
-DBUILD_WITH_WIKI_TOOLS=YES -DBREAKPAD_ROOT=$RUNNER_WORKSPACE/breakpad \
..
if: ${{ matrix.compiler_cpp == 'g++' && matrix.qt_version == '5.15.4' }}
shell: bash
- name: Configure for clang and Qt 5.15.4
id: configure_for_clang_and_qt5
run: |
mkdir $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
if [ "$GITHUB_EVENT_NAME" = "push" ]; then
export BRANCH_NAME=$(echo $GITHUB_REF | sed 's/.*\/\(.*\)$/\1/')
else
export BRANCH_NAME=$GITHUB_BASE_REF
fi
if [ "$BRANCH_NAME" = "development" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_development_qt5
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_development_qt5
elif [ "$BRANCH_NAME" = "integration-0.6.0" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_integration_qt5
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_integration_qt5
else
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_master_qt5
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_master_qt5
fi
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=$(pwd)/installdir -DCMAKE_C_COMPILER=/usr/bin/clang \
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_PREFIX_PATH=/opt/qt515 \
-DQt5Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain_qt5/lib/cmake/Qt5Keychain \
-DQEverCloud-qt5_DIR=$QEVERCLOUD_DIR/lib/cmake/QEverCloud-qt5 \
-DLibquentier-qt5_DIR=$LIBQUENTIER_DIR/lib/cmake/Libquentier-qt5 \
-DTIDY_HTML5_ROOT=$RUNNER_WORKSPACE/tidy_html5 \
-DBUILD_WITH_WIKI_TOOLS=YES -DBREAKPAD_ROOT=$RUNNER_WORKSPACE/breakpad \
..
if: ${{ matrix.compiler_cpp == 'clang++' && matrix.qt_version == '5.15.4' }}
shell: bash
- name: Configure for gcc and Qt 6.7.3
id: configure_for_gcc_and_qt6
run: |
mkdir $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
if [ "$GITHUB_EVENT_NAME" = "push" ]; then
export BRANCH_NAME=$(echo $GITHUB_REF | sed 's/.*\/\(.*\)$/\1/')
else
export BRANCH_NAME=$GITHUB_BASE_REF
fi
if [ "$BRANCH_NAME" = "development" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_development_qt6
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_development_qt6
elif [ "$BRANCH_NAME" = "integration-0.6.0" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_integration_qt6
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_integration_qt6
else
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_master_qt6
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_master_qt6
fi
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=$(pwd)/installdir -DCMAKE_C_COMPILER=/usr/bin/gcc \
-DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/linux_gcc_64 \
-DQt6Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain_qt6/lib/cmake/Qt6Keychain \
-DQEverCloud-qt6_DIR=$QEVERCLOUD_DIR/lib/cmake/QEverCloud-qt6 \
-DLibquentier-qt6_DIR=$LIBQUENTIER_DIR/lib/cmake/Libquentier-qt6 \
-DTIDY_HTML5_ROOT=$RUNNER_WORKSPACE/tidy_html5 \
-DBUILD_WITH_WIKI_TOOLS=YES -DBREAKPAD_ROOT=$RUNNER_WORKSPACE/breakpad \
..
if: ${{ matrix.compiler_cpp == 'g++' && matrix.qt_version == '6.7.3' }}
shell: bash
- name: Configure for clang and Qt 6.7.3
id: configure_for_clang_and_qt6
run: |
mkdir $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
if [ "$GITHUB_EVENT_NAME" = "push" ]; then
export BRANCH_NAME=$(echo $GITHUB_REF | sed 's/.*\/\(.*\)$/\1/')
else
export BRANCH_NAME=$GITHUB_BASE_REF
fi
if [ "$BRANCH_NAME" = "development" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_development_qt6
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_development_qt6
elif [ "$BRANCH_NAME" = "integration-0.6.0" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_integration_qt6
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_integration_qt6
else
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_master_qt6
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_master_qt6
fi
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=$(pwd)/installdir -DCMAKE_C_COMPILER=/usr/bin/clang \
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/linux_gcc_64 \
-DQt6Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain_qt6/lib/cmake/Qt6Keychain \
-DQEverCloud-qt6_DIR=$QEVERCLOUD_DIR/lib/cmake/QEverCloud-qt6 \
-DLibquentier-qt6_DIR=$LIBQUENTIER_DIR/lib/cmake/Libquentier-qt6 \
-DTIDY_HTML5_ROOT=$RUNNER_WORKSPACE/tidy_html5 \
-DBUILD_WITH_WIKI_TOOLS=YES -DBREAKPAD_ROOT=$RUNNER_WORKSPACE/breakpad \
..
if: ${{ matrix.compiler_cpp == 'clang++' && matrix.qt_version == '6.7.3' }}
shell: bash
- name: Check formatting
id: check_formatting
run: |
cd $GITHUB_WORKSPACE/build
echo "Building clang-format target"
cmake --build . --target clang-format
cd ..
dirty=$(git ls-files --modified)
cd build
if [ ! -z "$dirty" ]; then
echo "Detected source code files not formatted with clang-format: "
echo $dirty
exit 1
fi
if: ${{ matrix.compiler_cpp == 'g++' && matrix.qt_version == '5.15.4' && ((github.event_name == 'push' && (github.ref == 'refs/heads/development' || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/integration-0.6.0')) || (github.event_name == 'pull_request' && (github.base_ref == 'development' || github.base_ref == 'master' || github.base_ref == 'integration-0.6.0'))) }}
- name: Build
id: build
run: |
cd $GITHUB_WORKSPACE/build
cmake --build . --target all
- name: Test with Qt 5.15.4
id: test_qt5
run: |
if [ "$GITHUB_EVENT_NAME" = "push" ]; then
export BRANCH_NAME=$(echo $GITHUB_REF | sed 's/.*\/\(.*\)$/\1/')
else
export BRANCH_NAME=$GITHUB_BASE_REF
fi
if [ "$BRANCH_NAME" = "development" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_development_qt5
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_development_qt5
elif [ "$BRANCH_NAME" = "integration-0.6.0" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_integration_qt5
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_integration_qt5
else
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_master_qt5
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_master_qt5
fi
cd $GITHUB_WORKSPACE/build
LD_LIBRARY_PATH=/opt/qt515/lib:$RUNNER_WORKSPACE/tidy_html5/lib:$RUNNER_WORKSPACE/qtkeychain_qt5/lib:$QEVERCLOUD_DIR/lib:$LIBQUENTIER_DIR/lib xvfb-run ./lib/model/tests/quentier_model_tests -platform minimal
if: ${{ matrix.qt_version == '5.15.4' }}
- name: Test with Qt 6.7.3
id: test_qt6
run: |
if [ "$GITHUB_EVENT_NAME" = "push" ]; then
export BRANCH_NAME=$(echo $GITHUB_REF | sed 's/.*\/\(.*\)$/\1/')
else
export BRANCH_NAME=$GITHUB_BASE_REF
fi
if [ "$BRANCH_NAME" = "development" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_development_qt6
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_development_qt6
elif [ "$BRANCH_NAME" = "integration-0.6.0" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_integration_qt6
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_integration_qt6
else
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_master_qt6
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_master_qt6
fi
cd $GITHUB_WORKSPACE/build
LD_LIBRARY_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/linux_gcc_64/lib:$RUNNER_WORKSPACE/tidy_html5/lib:$RUNNER_WORKSPACE/qtkeychain_qt6/lib:$QEVERCLOUD_DIR/lib:$LIBQUENTIER_DIR/lib xvfb-run ./lib/model/tests/quentier_model_tests -platform minimal
if: ${{ matrix.qt_version == '6.7.3' }}
- name: Update translations
id: update_translations
run: |
cd $GITHUB_WORKSPACE/build
cmake --build . --target lupdate
cmake --build . --target lrelease
- name: Install
id: install
run: |
cd $GITHUB_WORKSPACE/build
cmake --build . --target install
if: ${{ matrix.compiler_cpp != 'g++' || matrix.qt_version != '5.15.4' }}
- name: Create AppImage
id: create_appimage
run: |
cd $GITHUB_WORKSPACE/build
unset QTDIR
unset QT_PLUGIN_PATH
if [ "$GITHUB_EVENT_NAME" = "push" ]; then
export BRANCH_NAME=$(echo $GITHUB_REF | sed 's/.*\/\(.*\)$/\1/')
else
export BRANCH_NAME=$GITHUB_BASE_REF
fi
if [ "$BRANCH_NAME" = "master" ] || [ "$BRANCH_NAME" = "development" ] || [ "$BRANCH_NAME" = "integration-0.6.0" ]; then
export VERSION=$BRANCH_NAME
else
export VERSION=$(git rev-parse --short HEAD)
fi
if [ "$BRANCH_NAME" = "development" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_development_qt5
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_development_qt5
elif [ "$BRANCH_NAME" = "integration-0.6.0" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_integration_qt5
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_integration_qt5
else
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_master_qt5
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_master_qt5
fi
DESTDIR=appdir ninja install
export LD_LIBRARY_PATH=/opt/qt515/lib:$RUNNER_WORKSPACE/tidy_html5/lib:$QEVERCLOUD_DIR/lib:$LIBQUENTIER_DIR/lib:$LD_LIBRARY_PATH
export EXTRA_QT_PLUGINS="svg"
linuxdeploy --desktop-file appdir/usr/share/applications/*.desktop --appdir=appdir --plugin qt
cp /usr/lib/x86_64-linux-gnu/libssl.so.1.1 appdir/usr/bin/libssl.so.1.1
cp /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 appdir/usr/bin/libcrypto.so.1.1
rm -rf appdir/usr/lib/libnss3.so
rm -rf appdir/usr/lib/libnssutil3.so
if [ -d "$LIBQUENTIER_DIR/share/libquentier/translations" ]; then
mkdir -p appdir/usr/share/libquentier/translations
cp -r $LIBQUENTIER_DIR/share/libquentier/translations/*.qm appdir/usr/share/libquentier/translations/
fi
if [ "$BRANCH_NAME" = "development" ]; then
/usr/local/bin/appimagetool -n -u "gh-releases-zsync|d1vanov|quentier|continuous-development|Quentier*-x86_64.AppImage.zsync" appdir
elif [ "$BRANCH_NAME" = "integration-0.6.0" ]; then
/usr/local/bin/appimagetool -n -u "gh-releases-zsync|d1vanov|quentier|continuous-integration|Quentier*-x86_64.AppImage.zsync" appdir
else
/usr/local/bin/appimagetool -n -u "gh-releases-zsync|d1vanov|quentier|continuous-master|Quentier*-x86_64.AppImage.zsync" appdir
fi
if: ${{ matrix.compiler_cpp == 'g++' && matrix.qt_version == '5.15.4' }}
shell: bash
- name: Upload AppImage
id: upload_appimage
uses: actions/upload-artifact@v4
with:
name: quentier_linux
path: '${{ github.workspace }}/build/Quentier*.AppImage*'
if: ${{ matrix.qt_version == '5.15.4' && matrix.compiler_cpp == 'g++' }}
build_macos:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
runs-on: macos-12
steps:
- uses: actions/checkout@v3
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: '3.30.x'
- name: Use cmake
run: cmake --version
- name: Setup ninja
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
mkdir -p $RUNNER_WORKSPACE/ninja
cd $RUNNER_WORKSPACE/ninja
curl -fsSL https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-mac.zip -o ninja-mac.zip
unzip ninja-mac.zip
echo "$RUNNER_WORKSPACE/ninja" >> $GITHUB_PATH
- name: Cache Qt 6.7.3
id: cache_qt6
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/Qt6'
key: ${{ runner.os }}-Qt6Cache
- name: Install Qt 6.7.3
id: install_qt6
uses: jurplel/install-qt-action@v4
with:
cache: true
cache-key-prefix: ${{ runner.os }}-Qt6Cache
version: 6.7.3
host: mac
target: desktop
install-deps: true
arch: clang_64
modules: 'qtwebengine qtwebchannel qtwebsockets qtpositioning'
dir: '${{ runner.workspace }}/Qt6'
- name: Cache boost 1.86.0
id: cache_boost
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/boost'
key: ${{ runner.os }}-BoostCache
- name: Install boost 1.86.0
id: install_boost
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/boost" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/boost)" ]; then
curl -fsSL https://boostorg.jfrog.io/artifactory/main/release/1.86.0/source/boost_1_86_0.tar.bz2 -o "${{ runner.temp }}/boost.tar.bz2"
mkdir -p $RUNNER_WORKSPACE/boost
tar -xf "${{ runner.temp }}/boost.tar.bz2" -C $RUNNER_WORKSPACE/boost
fi
- name: Install dependencies
id: install_deps
run: |
brew install hunspell
brew install tidy-html5
brew install openssl
- name: Cache QtKeychain
id: cache_qtkeychain
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qtkeychain'
key: ${{ runner.os }}-qtkeychain
- name: Build QtKeychain
id: build_qtkeychain
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/qtkeychain" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/qtkeychain)" ]; then
git clone https://github.com/frankosterfeld/qtkeychain.git $RUNNER_WORKSPACE/qtkeychain_src
cd $RUNNER_WORKSPACE/qtkeychain_src
git checkout 0.14.3
mkdir build
cd build
cmake -G Ninja -DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/clang_64 \
-DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/qtkeychain \
-DBUILD_TRANSLATIONS=ON \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_WITH_QT6=ON ..
cmake --build . --target all
cmake --build . --target install
fi
shell: bash
- name: Cache QEverCloud master
id: cache_qevercloud_master
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_master'
key: ${{ runner.os }}-qevercloud-master-1
if: ${{ (github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0') }}
- name: Cache QEverCloud development
id: cache_qevercloud_development
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_development'
key: ${{ runner.os }}-qevercloud-development-1
if: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development') }}
- name: Cache QEverCloud integration
id: cache_qevercloud_integration
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_integration'
key: ${{ runner.os }}-qevercloud-integration-1
if: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0') }}
- name: Download or build QEverCloud master
id: download_or_build_qevercloud_master
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/qevercloud_master" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/qevercloud_master)" ]; then
curl -fsSL https://github.com/d1vanov/QEverCloud/releases/download/continuous-master/QEverCloud_macos_x86_64.zip -o QEverCloud_macos_x86_64.zip || true
if [ -f QEverCloud_macos_x86_64.zip ]; then
echo "Downloaded prebuilt QEverCloud from continuous-master release"
7z -o$RUNNER_WORKSPACE/qevercloud_master x QEverCloud_macos_x86_64.zip
else
git clone https://github.com/d1vanov/QEverCloud.git qevercloud_master_src
cd qevercloud_master_src
git checkout master
mkdir build
cd build
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/qevercloud_master \
-DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/clang_64 \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_WITH_QT6=ON \
..
cmake --build . --target all
cmake --build . --target check
cmake --build . --target install
fi
fi
if: ${{ (github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0') }}
shell: bash
- name: Download or build QEverCloud development
id: download_or_build_qevercloud_development
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/qevercloud_development" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/qevercloud_development)" ]; then
curl -fsSL https://github.com/d1vanov/QEverCloud/releases/download/continuous-development/QEverCloud_macos_x86_64.zip -o QEverCloud_macos_x86_64.zip || true
if [ -f QEverCloud_macos_x86_64.zip ]; then
echo "Downloaded prebuilt QEverCloud from continuous-development release"
7z -o$RUNNER_WORKSPACE/qevercloud_development x QEverCloud_macos_x86_64.zip
else
git clone https://github.com/d1vanov/QEverCloud.git qevercloud_development_src
cd qevercloud_development_src
git checkout development
mkdir build
cd build
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/qevercloud_development \
-DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/clang_64 \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_WITH_QT6=ON \
..
cmake --build . --target all
cmake --build . --target check
cmake --build . --target install
fi
fi
if: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development') }}
shell: bash
- name: Build QEverCloud integration
id: build_qevercloud_integration
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/qevercloud_integration" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/qevercloud_integration)" ]; then
git clone https://github.com/d1vanov/QEverCloud.git qevercloud_integration_src
cd qevercloud_integration_src
git checkout feature/copy-on-write-types
mkdir build
cd build
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/qevercloud_integration \
-DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/clang_64 \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_WITH_QT6=ON \
..
cmake --build . --target all
cmake --build . --target check
cmake --build . --target install
fi
if: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0') }}
shell: bash
- name: Cache libquentier master
id: cache_libquentier_master
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_master'
key: ${{ runner.os }}-libquentier-master-2
if: ${{ (github.event_name == 'push' && github.ref != 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref != 'development') }}
- name: Cache libquentier development
id: cache_libquentier_development
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_development'
key: ${{ runner.os }}-libquentier-development-3
if: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development') }}
- name: Cache libquentier_integration
id: cache_libquentier_integration
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_integration'
key: ${{ runner.os }}-libquentier-integration-1
if: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0') }}
- name: Download or build libquentier master
id: download_or_build_libquentier_master
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/libquentier_master" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/libquentier_master)" ]; then
curl -fsSL https://github.com/d1vanov/libquentier/releases/download/continuous-master/libquentier_macos_x86_64.zip -o libquentier_macos_x86_64.zip || true
if [ -f libquentier_macos_x86_64.zip ]; then
echo "Downloaded prebuilt libquentier from continuous-master release"
7z -o$RUNNER_WORKSPACE/libquentier_master x libquentier_macos_x86_64.zip
else
git clone https://github.com/d1vanov/libquentier.git libquentier_master_src
cd libquentier_master_src
git checkout master
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/libquentier_master \
-DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/clang_64 \
-DBOOST_ROOT=$RUNNER_WORKSPACE/boost/boost_1_86_0 \
-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \
-DQEverCloud-qt6_DIR=$RUNNER_WORKSPACE/qevercloud_master/lib/cmake/QEverCloud-qt6 \
-DQt6Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain/lib/cmake/Qt6Keychain \
-DTIDY_HTML5_ROOT=/usr/local/opt/tidy-html5 \
-DBUILD_WITH_QT6=ON \
..
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target all
cmake --build . --target install
fi
fi
if: ${{ (github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0') }}
shell: bash
- name: Download or build libquentier development
id: download_or_build_libquentier_development
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/libquentier_development" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/libquentier_development)" ]; then
curl -fsSL https://github.com/d1vanov/libquentier/releases/download/continuous-development/libquentier_macos_x86_64.zip -o libquentier_macos_x86_64.zip || true
if [ -f libquentier_macos_x86_64.zip ]; then
echo "Downloaded prebuilt libquentier from continuous-development release"
7z -o$RUNNER_WORKSPACE/libquentier_development x libquentier_macos_x86_64.zip
else
git clone https://github.com/d1vanov/libquentier.git libquentier_development_src
cd libquentier_development_src
git checkout development
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/libquentier_development \
-DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/clang_64 \
-DBOOST_ROOT=$RUNNER_WORKSPACE/boost/boost_1_86_0 \
-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \
-DQEverCloud-qt6_DIR=$RUNNER_WORKSPACE/qevercloud_development/lib/cmake/QEverCloud-qt6 \
-DQt6Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain/lib/cmake/Qt6Keychain \
-DTIDY_HTML5_ROOT=/usr/local/opt/tidy-html5 \
-DBUILD_WITH_QT6=ON \
..
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target all
cmake --build . --target install
fi
fi
if: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development') }}
shell: bash
- name: Build libquentier integration
id: build_libquentier_integration
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if [ ! -d "$RUNNER_WORKSPACE/libquentier_integration" ] || [ -z "$(ls -A $RUNNER_WORKSPACE/libquentier_integration)" ]; then
git clone https://github.com/d1vanov/libquentier.git libquentier_integration_src
cd libquentier_integration_src
git checkout feature-new-release-integration
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=$RUNNER_WORKSPACE/libquentier_integration \
-DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/clang_64 \
-DBOOST_ROOT=$RUNNER_WORKSPACE/boost/boost_1_86_0 \
-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \
-DQEverCloud-qt6_DIR=$RUNNER_WORKSPACE/qevercloud_integration/lib/cmake/QEverCloud-qt6 \
-DQt6Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain/lib/cmake/Qt6Keychain \
-DTIDY_HTML5_ROOT=/usr/local/opt/tidy-html5 \
-DBUILD_WITH_QT6=ON \
..
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target all
cmake --build . --target install
fi
if: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0') }}
shell: bash
- name: Configure
id: configure
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
mkdir $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
if [ "$GITHUB_EVENT_NAME" = "push" ]; then
export BRANCH_NAME=$(echo $GITHUB_REF | sed 's/.*\/\(.*\)$/\1/')
else
export BRANCH_NAME=$GITHUB_BASE_REF
fi
if [ "$BRANCH_NAME" = "development" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_development
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_development
export DEFAULT_UPDATE_CHANNEL="development"
elif [ "$BRANCH_NAME" = "integration-0.6.0" ]; then
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_integration
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_integration
export DEFAULT_UPDATE_CHANNEL="integration"
else
export QEVERCLOUD_DIR=$RUNNER_WORKSPACE/qevercloud_master
export LIBQUENTIER_DIR=$RUNNER_WORKSPACE/libquentier_master
export DEFAULT_UPDATE_CHANNEL="master"
fi
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=$(pwd)/installdir \
-DCMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt6/Qt/6.7.3/clang_64 \
-DBOOST_ROOT=$RUNNER_WORKSPACE/boost/boost_1_86_0 \
-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \
-DQEverCloud-qt6_DIR=$QEVERCLOUD_DIR/lib/cmake/QEverCloud-qt6 \
-DQt6Keychain_DIR=$RUNNER_WORKSPACE/qtkeychain/lib/cmake/Qt6Keychain \
-DLibquentier-qt6_DIR=$LIBQUENTIER_DIR/lib/cmake/Libquentier-qt6 \
-DTIDY_HTML5_ROOT=/usr/local/opt/tidy-html5 \
-DBUILD_WITH_WIKI_TOOLS=YES \
-DINCLUDE_UPDATE_INFO=YES \
-DDEFAULT_UPDATE_CHANNEL=$DEFAULT_UPDATE_CHANNEL \
-DDEFAULT_UPDATE_PROVIDER="GITHUB" \
-DBUILD_WITH_QT6=ON \
..
shell: bash
- name: Build
id: build
run: |
cd $GITHUB_WORKSPACE/build
cmake --build . --target all
- name: Test
id: test
run: |
cd $GITHUB_WORKSPACE/build
cmake --build . --target check
- name: Update translations
id: update_translations
run: |
cd $GITHUB_WORKSPACE/build
cmake --build . --target lupdate
cmake --build . --target lrelease
- name: Install
id: install
run: |
cd $GITHUB_WORKSPACE/build
cmake --build . --target install
- name: Archive app bundle
id: archive
run: |
cd $GITHUB_WORKSPACE/build/installdir
7z a Quentier_mac_x86_64.zip quentier.app
- name: Upload app artifact
id: upload_artifact
uses: actions/upload-artifact@v4
with:
name: quentier_macos
path: '${{ github.workspace }}/build/installdir/Quentier_mac_x86_64.zip'
build_windows:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
runs-on: windows-2019
strategy:
matrix:
include:
- qt_version: '5.15.2'
- qt_version: '6.7.3'
steps:
- uses: actions/checkout@v3
- name: Cache boost 1.86.0
id: cache_boost
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/boost'
key: ${{ runner.os }}-BoostCache
- name: Install boost 1.86.0
id: install_boost
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\boost (set BOOST_CACHED=1) else (set BOOST_CACHED=0)
if %BOOST_CACHED%==0 mkdir %RUNNER_WORKSPACE%\boost
if %BOOST_CACHED%==0 cmd.exe /c curl -fsSL https://boostorg.jfrog.io/artifactory/main/release/1.86.0/source/boost_1_86_0.7z -o %RUNNER_WORKSPACE%\boost\boost_1_86_0.7z
if %BOOST_CACHED%==0 cd %RUNNER_WORKSPACE%\boost
if %BOOST_CACHED%==0 7z x boost_1_86_0.7z
shell: cmd
- name: Cache Qt 5.15.2
id: cache_qt5
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/Qt5'
key: ${{ runner.os }}-Qt5Cache
if: ${{ matrix.qt_version == '5.15.2' }}
- name: Install Qt 5.15.2
id: install_qt5
uses: jurplel/install-qt-action@v4
with:
cache: true
cache-key-prefix: ${{ runner.os }}-Qt5Cache
version: 5.15.2
host: windows
target: desktop
install-deps: true
arch: win64_msvc2019_64
modules: 'qtwebengine'
dir: '${{ runner.workspace }}/Qt5'
if: ${{ matrix.qt_version == '5.15.2' }}
- name: Cache Qt 6.7.3
id: cache_qt6
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/Qt6'
key: ${{ runner.os }}-Qt6Cache-1
if: ${{ matrix.qt_version == '6.7.3' }}
- name: Install Qt 6.7.3
id: install_qt6
uses: jurplel/install-qt-action@v4
with:
cache: true
cache-key-prefix: ${{ runner.os }}-Qt6Cache
version: 6.7.3
host: windows
target: desktop
install-deps: true
arch: win64_msvc2019_64
modules: 'qtwebengine qtwebchannel qtwebsockets qtpositioning'
dir: '${{ runner.workspace }}/Qt6'
if: ${{ matrix.qt_version == '6.7.3' }}
- name: Cache QEverCloud master Qt5
id: cache_qevercloud_master_qt5
env:
QEVERCLOUD_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_win_master_qt5'
key: qevercloud-win-master-qt5-${{ env.QEVERCLOUD_CACHE_VERSION }}
if: ${{ matrix.qt_version == '5.15.2' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
- name: Download or build QEverCloud master Qt5
id: download_or_build_qevercloud_master_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\qevercloud_win_master_qt5\include (set QEVERCLOUD_CACHED=1) else (set QEVERCLOUD_CACHED=0)
echo "QEVERCLOUD_CACHED=%QEVERCLOUD_CACHED%"
if %QEVERCLOUD_CACHED%==0 mkdir %RUNNER_WORKSPACE%\qevercloud_win_master_qt5
if %QEVERCLOUD_CACHED%==0 cmd.exe /c curl -fsSL https://github.com/d1vanov/QEverCloud/releases/download/continuous-master/QEverCloud_windows_qt5.zip -o %RUNNER_WORKSPACE%\qevercloud_win_master_qt5\QEverCloud_windows_qt5.zip
if %QEVERCLOUD_CACHED%==0 cd %RUNNER_WORKSPACE%\qevercloud_win_master_qt5
if %QEVERCLOUD_CACHED%==0 set QEVERCLOUD_DOWNLOADED=0
if %QEVERCLOUD_CACHED%==0 if exist QEverCloud_windows_qt5.zip set QEVERCLOUD_DOWNLOADED=1
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="1" echo "Downloaded prebuilt Qt5 QEverCloud from master branch"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="1" 7z x QEverCloud_windows_qt5.zip
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" echo "Could not download prebuilt Qt5 QEverCloud from master branch, will build from source"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" mkdir %RUNNER_WORKSPACE%\qevercloud_win_master_qt5_src
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" git clone https://github.com/d1vanov/QEverCloud.git %RUNNER_WORKSPACE%\qevercloud_win_master_qt5_src
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cd %RUNNER_WORKSPACE%\qevercloud_win_master_qt5_src
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" git checkout master
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" mkdir build
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cd build
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt5\Qt\5.15.2\win64_msvc2019_x64"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake -G "NMake Makefiles" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\qevercloud_win_master_qt5" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" ..
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake --build . --target all
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake --build . --target check
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake --build . --target install
if: ${{ matrix.qt_version == '5.15.2' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
shell: cmd
- name: Cache QEverCloud development qt5
id: cache_qevercloud_development_qt5
env:
QEVERCLOUD_CACHE_VERSION: '2'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_win_development_qt5'
key: qevercloud-win-development-qt5-${{ env.QEVERCLOUD_CACHE_VERSION }}
if: ${{ matrix.qt_version == '5.15.2' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
- name: Download or build QEverCloud development Qt5
id: download_or_build_qevercloud_development_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\qevercloud_win_development_qt5\include (set QEVERCLOUD_CACHED=1) else (set QEVERCLOUD_CACHED=0)
echo "QEVERCLOUD_CACHED=%QEVERCLOUD_CACHED%"
if %QEVERCLOUD_CACHED%==0 mkdir %RUNNER_WORKSPACE%\qevercloud_win_development_qt5
if %QEVERCLOUD_CACHED%==0 cmd.exe /c curl -fsSL https://github.com/d1vanov/QEverCloud/releases/download/continuous-development/QEverCloud_windows_qt5.zip -o %RUNNER_WORKSPACE%\qevercloud_win_development_qt5\QEverCloud_windows_qt5.zip
if %QEVERCLOUD_CACHED%==0 cd %RUNNER_WORKSPACE%\qevercloud_win_development_qt5
if %QEVERCLOUD_CACHED%==0 set QEVERCLOUD_DOWNLOADED=0
if %QEVERCLOUD_CACHED%==0 if exist QEverCloud_windows_x86.zip set QEVERCLOUD_DOWNLOADED=1
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="1" echo "Downloaded prebuilt Qt5 QEverCloud from development branch"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="1" 7z x QEverCloud_windows_qt5.zip
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" echo "Could not download prebuilt Qt5 QEverCloud from development branch, will build from source"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" mkdir %RUNNER_WORKSPACE%\qevercloud_win_development_qt5_src
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" git clone https://github.com/d1vanov/QEverCloud.git %RUNNER_WORKSPACE%\qevercloud_win_development_qt5_src
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cd %RUNNER_WORKSPACE%\qevercloud_win_development_qt5_src
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" git checkout development
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" mkdir build
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cd build
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt5\Qt\5.15.2\win64_msvc2019_x64"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake -G "NMake Makefiles" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\qevercloud_win_development_qt5" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" ..
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake --build . --target all
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake --build . --target check
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake --build . --target install
if: ${{ matrix.qt_version == '5.15.2' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
shell: cmd
- name: Cache QEverCloud integration qt5
id: cache_qevercloud_integration_qt5
env:
QEVERCLOUD_CACHE_VERSION: '2'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_win_integration_qt5'
key: qevercloud-win-integration-qt5-${{ env.QEVERCLOUD_CACHE_VERSION }}
if: ${{ matrix.qt_version == '5.15.2' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
- name: Build QEverCloud integration Qt5
id: build_qevercloud_integration_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\qevercloud_win_integration_qt5\include (set QEVERCLOUD_CACHED=1) else (set QEVERCLOUD_CACHED=0)
echo "QEVERCLOUD_CACHED=%QEVERCLOUD_CACHED%"
if %QEVERCLOUD_CACHED%==0 mkdir %RUNNER_WORKSPACE%\qevercloud_win_integration_qt5
if %QEVERCLOUD_CACHED%==0 mkdir %RUNNER_WORKSPACE%\qevercloud_win_integration_qt5_src
if %QEVERCLOUD_CACHED%==0 git clone https://github.com/d1vanov/QEverCloud.git %RUNNER_WORKSPACE%\qevercloud_win_integration_qt5_src
if %QEVERCLOUD_CACHED%==0 cd %RUNNER_WORKSPACE%\qevercloud_win_integration_qt5_src
if %QEVERCLOUD_CACHED%==0 git checkout feature/copy-on-write-types
if %QEVERCLOUD_CACHED%==0 mkdir build
if %QEVERCLOUD_CACHED%==0 cd build
if %QEVERCLOUD_CACHED%==0 set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt5\Qt\5.15.2\win64_msvc2019_x64"
if %QEVERCLOUD_CACHED%==0 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %QEVERCLOUD_CACHED%==0 cmake -G "NMake Makefiles" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\qevercloud_win_integration_qt5" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" ..
if %QEVERCLOUD_CACHED%==0 cmake --build . --target all
if %QEVERCLOUD_CACHED%==0 cmake --build . --target check
if %QEVERCLOUD_CACHED%==0 cmake --build . --target install
if: ${{ matrix.qt_version == '5.15.2' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
shell: cmd
- name: Cache QEverCloud master Qt6
id: cache_qevercloud_master_qt6
env:
QEVERCLOUD_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_win_master_qt6'
key: qevercloud-win-master-qt6-${{ env.QEVERCLOUD_CACHE_VERSION }}
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
- name: Download or build QEverCloud master Qt6
id: download_or_build_qevercloud_master_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\qevercloud_win_master_qt6\include (set QEVERCLOUD_CACHED=1) else (set QEVERCLOUD_CACHED=0)
echo "QEVERCLOUD_CACHED=%QEVERCLOUD_CACHED%"
if %QEVERCLOUD_CACHED%==0 mkdir %RUNNER_WORKSPACE%\qevercloud_win_master_qt6
if %QEVERCLOUD_CACHED%==0 cmd.exe /c curl -fsSL https://github.com/d1vanov/QEverCloud/releases/download/continuous-master/QEverCloud_windows_qt6.zip -o %RUNNER_WORKSPACE%\qevercloud_win_master_qt6\QEverCloud_windows_qt6.zip
if %QEVERCLOUD_CACHED%==0 cd %RUNNER_WORKSPACE%\qevercloud_win_master_qt6
if %QEVERCLOUD_CACHED%==0 set QEVERCLOUD_DOWNLOADED=0
if %QEVERCLOUD_CACHED%==0 if exist QEverCloud_windows_qt6.zip set QEVERCLOUD_DOWNLOADED=1
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="1" echo "Downloaded prebuilt Qt6 QEverCloud from master branch"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="1" 7z x QEverCloud_windows_qt6.zip
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" echo "Could not download prebuilt Qt6 QEverCloud from master branch, will build from source"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" mkdir %RUNNER_WORKSPACE%\qevercloud_win_master_qt6_src
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" git clone https://github.com/d1vanov/QEverCloud.git %RUNNER_WORKSPACE%\qevercloud_win_master_qt6_src
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cd %RUNNER_WORKSPACE%\qevercloud_win_master_qt6_src
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" git checkout master
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" mkdir build
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cd build
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt6\Qt\6.7.3\win64_msvc2019_x64"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake -G "NMake Makefiles" -DBUILD_SHARED_LIBS=ON -DBUILD_WITH_QT6=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\qevercloud_win_master_qt5" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" ..
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake --build . --target all
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake --build . --target check
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake --build . --target install
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
shell: cmd
- name: Cache QEverCloud development qt6
id: cache_qevercloud_development_qt6
env:
QEVERCLOUD_CACHE_VERSION: '2'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_win_development_qt6'
key: qevercloud-win-development-qt6-${{ env.QEVERCLOUD_CACHE_VERSION }}
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
- name: Download or build QEverCloud development Qt6
id: download_or_build_qevercloud_development_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\qevercloud_win_development_qt6\include (set QEVERCLOUD_CACHED=1) else (set QEVERCLOUD_CACHED=0)
echo "QEVERCLOUD_CACHED=%QEVERCLOUD_CACHED%"
if %QEVERCLOUD_CACHED%==0 mkdir %RUNNER_WORKSPACE%\qevercloud_win_development_qt6
if %QEVERCLOUD_CACHED%==0 cmd.exe /c curl -fsSL https://github.com/d1vanov/QEverCloud/releases/download/continuous-development/QEverCloud_windows_qt6.zip -o %RUNNER_WORKSPACE%\qevercloud_win_development_qt6\QEverCloud_windows_qt6.zip
if %QEVERCLOUD_CACHED%==0 cd %RUNNER_WORKSPACE%\qevercloud_win_development_qt6
if %QEVERCLOUD_CACHED%==0 set QEVERCLOUD_DOWNLOADED=0
if %QEVERCLOUD_CACHED%==0 if exist QEverCloud_windows_qt6.zip set QEVERCLOUD_DOWNLOADED=1
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="1" echo "Downloaded prebuilt Qt6 QEverCloud from development branch"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="1" 7z x QEverCloud_windows_qt6.zip
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" echo "Could not download prebuilt Qt6 QEverCloud from development branch, will build from source"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" mkdir %RUNNER_WORKSPACE%\qevercloud_win_development_qt6_src
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" git clone https://github.com/d1vanov/QEverCloud.git %RUNNER_WORKSPACE%\qevercloud_win_development_qt6_src
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cd %RUNNER_WORKSPACE%\qevercloud_win_development_qt6_src
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" git checkout development
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" mkdir build
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cd build
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt6\Qt\6.7.3\win64_msvc2019_x64"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake -G "NMake Makefiles" -DBUILD_SHARED_LIBS=ON -DBUILD_WITH_QT6=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\qevercloud_win_development_qt6" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" ..
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake --build . --target all
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake --build . --target check
if %QEVERCLOUD_CACHED%==0 if "%QEVERCLOUD_DOWNLOADED%"=="0" cmake --build . --target install
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
shell: cmd
- name: Cache QEverCloud integration qt6
id: cache_qevercloud_integration_qt6
env:
QEVERCLOUD_CACHE_VERSION: '2'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qevercloud_win_integration_qt6'
key: qevercloud-win-integration-qt6-${{ env.QEVERCLOUD_CACHE_VERSION }}
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
- name: Build QEverCloud integration Qt6
id: build_qevercloud_integration_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\qevercloud_win_integration_qt6\include (set QEVERCLOUD_CACHED=1) else (set QEVERCLOUD_CACHED=0)
echo "QEVERCLOUD_CACHED=%QEVERCLOUD_CACHED%"
if %QEVERCLOUD_CACHED%==0 mkdir %RUNNER_WORKSPACE%\qevercloud_win_integration_qt6
if %QEVERCLOUD_CACHED%==0 mkdir %RUNNER_WORKSPACE%\qevercloud_win_integration_qt6_src
if %QEVERCLOUD_CACHED%==0 git clone https://github.com/d1vanov/QEverCloud.git %RUNNER_WORKSPACE%\qevercloud_win_integration_qt6_src
if %QEVERCLOUD_CACHED%==0 cd %RUNNER_WORKSPACE%\qevercloud_win_integration_qt6_src
if %QEVERCLOUD_CACHED%==0 git checkout feature/copy-on-write-types
if %QEVERCLOUD_CACHED%==0 mkdir build
if %QEVERCLOUD_CACHED%==0 cd build
if %QEVERCLOUD_CACHED%==0 set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt6\Qt\6.7.3\win64_msvc2019_x64"
if %QEVERCLOUD_CACHED%==0 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %QEVERCLOUD_CACHED%==0 cmake -G "NMake Makefiles" -DBUILD_SHARED_LIBS=ON -DBUILD_WITH_QT6=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\qevercloud_win_integration_qt6" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" ..
if %QEVERCLOUD_CACHED%==0 cmake --build . --target all
if %QEVERCLOUD_CACHED%==0 cmake --build . --target check
if %QEVERCLOUD_CACHED%==0 cmake --build . --target install
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
shell: cmd
- name: Cache libiconv
id: cache_libiconv
env:
LIBICONV_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libiconv'
key: libiconv-${{ env.LIBICONV_CACHE_VERSION }}
- name: Download libiconv
id: download_libiconv
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if not exist %RUNNER_WORKSPACE%\libiconv (set DOWNLOAD_LIBICONV=1) else (set DOWNLOAD_LIBICONV=0)
if %DOWNLOAD_LIBICONV%==1 mkdir %RUNNER_WORKSPACE%\libiconv
if %DOWNLOAD_LIBICONV%==1 curl -fsSL https://github.com/d1vanov/quentier-dependencies-windows/releases/download/continuous/libiconv-1.15-msvc2019_x64.zip -o %RUNNER_WORKSPACE%\libiconv\libiconv-1.15-msvc2019_x64.zip
if %DOWNLOAD_LIBICONV%==1 cd %RUNNER_WORKSPACE%\libiconv
if %DOWNLOAD_LIBICONV%==1 7z x libiconv-1.15-msvc2019_x64.zip
shell: cmd
- name: Cache zlib
id: cache_zlib
env:
ZLIB_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/zlib'
key: zlib-${{ env.ZLIB_CACHE_VERSION }}
- name: Download zlib
id: download_zlib
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if not exist %RUNNER_WORKSPACE%\zlib (set DOWNLOAD_ZLIB=1) else (set DOWNLOAD_ZLIB=0)
if %DOWNLOAD_ZLIB%==1 mkdir %RUNNER_WORKSPACE%\zlib
if %DOWNLOAD_ZLIB%==1 curl -fsSL https://github.com/d1vanov/quentier-dependencies-windows/releases/download/continuous/zlib-1.2.11-msvc2019_x64.zip -o %RUNNER_WORKSPACE%\zlib\zlib-1.2.11-msvc2019_x64.zip
if %DOWNLOAD_ZLIB%==1 cd %RUNNER_WORKSPACE%\zlib
if %DOWNLOAD_ZLIB%==1 7z x zlib-1.2.11-msvc2019_x64.zip
shell: cmd
- name: Cache libxml2
id: cache_libxml2
env:
LIBXML2_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libxml2'
key: libxml2-${{ env.LIBXML2_CACHE_VERSION }}
- name: Download libxml2
id: download_libxml2
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if not exist %RUNNER_WORKSPACE%\libxml2 (set DOWNLOAD_LIBXML2=1) else (set DOWNLOAD_LIBXML2=0)
if %DOWNLOAD_LIBXML2%==1 mkdir %RUNNER_WORKSPACE%\libxml2
if %DOWNLOAD_LIBXML2%==1 curl -fsSL https://github.com/d1vanov/quentier-dependencies-windows/releases/download/continuous/libxml2-2.9.7-msvc2019_x64.zip -o %RUNNER_WORKSPACE%\libxml2\libxml2-2.9.7-msvc2019_x64.zip
if %DOWNLOAD_LIBXML2%==1 cd %RUNNER_WORKSPACE%\libxml2
if %DOWNLOAD_LIBXML2%==1 7z x libxml2-2.9.7-msvc2019_x64.zip
shell: cmd
- name: Cache libhunspell
id: cache_libhunspell
env:
LIBHUNSPELL_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libhunspell'
key: libhunspell-${{ env.LIBHUNSPELL_CACHE_VERSION }}
- name: Download libhunspell
id: download_libhunspell
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if not exist %RUNNER_WORKSPACE%\libhunspell (set DOWNLOAD_LIBHUNSPELL=1) else (set DOWNLOAD_LIBHUNSPELL=0)
if %DOWNLOAD_LIBHUNSPELL%==1 mkdir %RUNNER_WORKSPACE%\libhunspell
if %DOWNLOAD_LIBHUNSPELL%==1 curl -fsSL https://github.com/d1vanov/quentier-dependencies-windows/releases/download/continuous/libhunspell-1.7.0-msvc2019_x64.zip -o %RUNNER_WORKSPACE%\libhunspell\libhunspell-1.7.0-msvc2019_x64.zip
if %DOWNLOAD_LIBHUNSPELL%==1 cd %RUNNER_WORKSPACE%\libhunspell
if %DOWNLOAD_LIBHUNSPELL%==1 7z x libhunspell-1.7.0-msvc2019_x64.zip
shell: cmd
- name: Cache OpenSSL
id: cache_openssl
env:
OPENSSL_CACHE_VERSION: '6'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/openssl'
key: openssl-${{ env.OPENSSL_CACHE_VERSION }}
- name: Download openssl
id: download_openssl
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if not exist %RUNNER_WORKSPACE%\openssl (set DOWNLOAD_OPENSSL=1) else (set DOWNLOAD_OPENSSL=0)
if %DOWNLOAD_OPENSSL%==1 mkdir %RUNNER_WORKSPACE%\openssl
if %DOWNLOAD_OPENSSL%==1 curl -fsSL https://github.com/d1vanov/quentier-dependencies-windows/releases/download/continuous/openssl-1_1_1v-msvc2019_x64.zip -o %RUNNER_WORKSPACE%\openssl\openssl-1_1_1v-msvc2019_x64.zip
if %DOWNLOAD_OPENSSL%==1 cd %RUNNER_WORKSPACE%\openssl
if %DOWNLOAD_OPENSSL%==1 7z x openssl-1_1_1v-msvc2019_x64.zip
shell: cmd
- name: Cache qtkeychain Qt5
id: cache_qtkeychain_qt5
env:
QTKEYCHAIN_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qtkeychain_qt5'
key: qtkeychain-qt5-${{ env.QTKEYCHAIN_CACHE_VERSION }}
if: ${{ matrix.qt_version == '5.15.2' }}
- name: Download or build qtkeychain Qt5
id: download_qtkeychain_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if not exist %RUNNER_WORKSPACE%\qtkeychain_qt5 (set QTKEYCHAIN_CACHED=0) else (set QTKEYCHAIN_CACHED=1)
echo "QTKEYCHAIN_CACHED=%QTKEYCHAIN_CACHED%"
if %QTKEYCHAIN_CACHED%==0 mkdir %RUNNER_WORKSPACE%\qtkeychain_qt5
if %QTKEYCHAIN_CACHED%==0 curl -fsSL https://github.com/d1vanov/quentier-dependencies-windows/releases/download/continuous/qtkeychain-0.14.3-qt5-msvc2019_x64.zip -o %RUNNER_WORKSPACE%\qtkeychain_qt5\qtkeychain-0.14.3-qt5-msvc2019_x64.zip
if %QTKEYCHAIN_CACHED%==0 cd %RUNNER_WORKSPACE%\qtkeychain_qt5
if %QTKEYCHAIN_CACHED%==0 set QTKEYCHAIN_DOWNLOADED=0
if %QTKEYCHAIN_CACHED%==0 if exist qtkeychain-0.14.3-qt5-msvc2019_x64.zip set QTKEYCHAIN_DOWNLOADED=1
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="1" echo "Downloaded prebuilt Qt5 QtKeychain"
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="1" 7z x qtkeychain-0.14.3-qt5-msvc2019_x64.zip
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" echo "Could not download prebuilt Qt5 QtKeychain, will build from source"
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" mkdir %RUNNER_WORKSPACE%\qtkeychain_qt5_src
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" git clone https://github.com/frankosterfeld/qtkeychain.git %RUNNER_WORKSPACE%\qtkeychain_qt5_src
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" cd %RUNNER_WORKSPACE%\qtkeychain_qt5_src
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" git checkout 0.14.3
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" mkdir build
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" cd build
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt5\Qt\5.15.2\win64_msvc2019_x64"
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\qtkeychain_qt5" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" -DBUILD_TRANSLATION=ON ..
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" cmake --build . --target all
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" cmake --build . --target install
shell: cmd
if: ${{ matrix.qt_version == '5.15.2' }}
- name: Cache qtkeychain Qt6
id: cache_qtkeychain_qt6
env:
QTKEYCHAIN_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/qtkeychain_qt6'
key: qtkeychain-qt6-${{ env.QTKEYCHAIN_CACHE_VERSION }}
if: ${{ matrix.qt_version == '6.7.3' }}
- name: Download or build qtkeychain Qt6
id: download_qtkeychain_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if not exist %RUNNER_WORKSPACE%\qtkeychain_qt6 (set QTKEYCHAIN_CACHED=0) else (set QTKEYCHAIN_CACHED=1)
echo "QTKEYCHAIN_CACHED=%QTKEYCHAIN_CACHED%"
if %QTKEYCHAIN_CACHED%==0 mkdir %RUNNER_WORKSPACE%\qtkeychain_qt6
if %QTKEYCHAIN_CACHED%==0 curl -fsSL https://github.com/d1vanov/quentier-dependencies-windows/releases/download/continuous/qtkeychain-0.14.3-qt6-msvc2019_x64.zip -o %RUNNER_WORKSPACE%\qtkeychain_qt6\qtkeychain-0.14.3-qt6-msvc2019_x64.zip
if %QTKEYCHAIN_CACHED%==0 cd %RUNNER_WORKSPACE%\qtkeychain_qt6
if %QTKEYCHAIN_CACHED%==0 set QTKEYCHAIN_DOWNLOADED=0
if %QTKEYCHAIN_CACHED%==0 if exist qtkeychain-0.14.3-qt5-msvc2019_x64.zip set QTKEYCHAIN_DOWNLOADED=1
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="1" echo "Downloaded prebuilt Qt6 QtKeychain"
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="1" 7z x qtkeychain-0.14.3-qt6-msvc2019_x64.zip
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" echo "Could not download prebuilt Qt6 QtKeychain, will build from source"
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" mkdir %RUNNER_WORKSPACE%\qtkeychain_qt6_src
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" git clone https://github.com/frankosterfeld/qtkeychain.git %RUNNER_WORKSPACE%\qtkeychain_qt6_src
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" cd %RUNNER_WORKSPACE%\qtkeychain_qt6_src
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" git checkout 0.14.3
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" mkdir build
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" cd build
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt6\Qt\6.7.3\win64_msvc2019_x64"
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\qtkeychain_qt5" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" -DBUILD_TRANSLATION=ON -DBUILD_WITH_QT6=ON ..
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" cmake --build . --target all
if %QTKEYCHAIN_CACHED%==0 if "%QTKEYCHAIN_DOWNLOADED%"=="0" cmake --build . --target install
shell: cmd
if: ${{ matrix.qt_version == '6.7.3' }}
- name: Cache tidy-html5
id: cache_tidy_html5
env:
TIDY_HTML5_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/tidy_html5'
key: tidy-html5-${{ env.TIDY_HTML5_CACHE_VERSION }}
- name: Download tidy-html5
id: download_tidy_html5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if not exist %RUNNER_WORKSPACE%\tidy_html5 (set DOWNLOAD_TIDY_HTML5=1) else (set DOWNLOAD_TIDY_HTML5=0)
if %DOWNLOAD_TIDY_HTML5%==1 mkdir %RUNNER_WORKSPACE%\tidy_html5
if %DOWNLOAD_TIDY_HTML5%==1 curl -fsSL https://github.com/d1vanov/quentier-dependencies-windows/releases/download/continuous/tidy-html5-5.6.0-msvc2019_x64.zip -o %RUNNER_WORKSPACE%\tidy_html5\tidy-html5-5.6.0-msvc2019_x64.zip
if %DOWNLOAD_TIDY_HTML5%==1 cd %RUNNER_WORKSPACE%\tidy_html5
if %DOWNLOAD_TIDY_HTML5%==1 7z x tidy-html5-5.6.0-msvc2019_x64.zip
shell: cmd
- name: Cache libquentier master Qt5
id: cache_libquentier_master_qt5
env:
LIBQUENTIER_CACHE_VERSION: '2'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_win_master_qt5'
key: libquentier-win-master-qt5-${{ env.LIBQUENTIER_CACHE_VERSION }}
if: ${{ matrix.qt_version == '5.15.2' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
- name: Download or build libquentier master Qt5
id: download_or_build_libquentier_master_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\libquentier_win_master_qt5\include (set LIBQUENTIER_CACHED=1) else (set LIBQUENTIER_CACHED=0)
echo "LIBQUENTIER_CACHED=%LIBQUENTIER_CACHED%"
if %LIBQUENTIER_CACHED%==0 mkdir %RUNNER_WORKSPACE%\libquentier_win_master_qt5
if %LIBQUENTIER_CACHED%==0 cmd.exe /c curl -fsSL https://github.com/d1vanov/libquentier/releases/download/continuous-master/libquentier_windows_qt5.zip -o %RUNNER_WORKSPACE%\libquentier_win_master_qt5\libquentier_windows_qt5.zip
if %LIBQUENTIER_CACHED%==0 cd %RUNNER_WORKSPACE%\libquentier_win_master_qt5
if %LIBQUENTIER_CACHED%==0 set LIBQUENTIER_DOWNLOADED=0
if %LIBQUENTIER_CACHED%==0 if exist libquentier_windows_qt5.zip set LIBQUENTIER_DOWNLOADED=1
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="1" echo "Downloaded prebuilt Qt5 libquentier from master branch"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="1" 7z x libquentier_windows_qt5.zip
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" echo "Could not download prebuilt Qt5 libquentier from master branch, will build from source"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" mkdir %RUNNER_WORKSPACE%\libquentier_win_master_qt5_src
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" git clone https://github.com/d1vanov/libquentier.git %RUNNER_WORKSPACE%\libquentier_win_master_qt5_src
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cd %RUNNER_WORKSPACE%\libquentier_win_master_qt5_src
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" git checkout master
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" mkdir build
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cd build
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt5\Qt\5.15.2\win64_msvc2019_x64"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\libiconv\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\libxml2\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\libhunspell\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\openssl\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\qtkeychain_qt5\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\tidy_html5\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\qevercloud_win_master_qt5\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\libiconv\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\libxml2\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\libhunspell\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\openssl\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\qtkeychain_qt5\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\tidy_html5\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\qevercloud_win_master_qt5\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\libiconv\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\libxml2\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\libhunspell\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\openssl\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\qtkeychain_qt5\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\tidy_html5\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\qevercloud_win_master_qt5\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\libquentier_win_master_qt5" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" -DQEverCloud-qt5_DIR="%RUNNER_WORKSPACE%\qevercloud_win_master_qt5\lib\cmake\QEverCloud-qt5" -DBOOST_ROOT="%RUNNER_WORKSPACE%\boost\boost_1_86_0" -DTIDY_HTML5_ROOT="%RUNNER_WORKSPACE%\tidy_html5" -DOPENSSL_ROOT_DIR="%RUNNER_WORKSPACE%\openssl" ..
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target lupdate
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target lrelease
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target all
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target install
if: ${{ matrix.qt_version == '5.15.2' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
shell: cmd
- name: Cache libquentier development Qt5
id: cache_libquentier_development_qt5
env:
LIBQUENTIER_CACHE_VERSION: '6'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_win_development_qt5'
key: libquentier-win-development-qt5-${{ env.LIBQUENTIER_CACHE_VERSION }}
if: ${{ matrix.qt_version == '5.15.2' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
- name: Download or build libquentier development Qt5
id: download_or_build_libquentier_development_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\libquentier_win_development_qt5\include (set LIBQUENTIER_CACHED=1) else (set LIBQUENTIER_CACHED=0)
echo "LIBQUENTIER_CACHED=%LIBQUENTIER_CACHED%"
if %LIBQUENTIER_CACHED%==0 mkdir %RUNNER_WORKSPACE%\libquentier_win_development_qt5
if %LIBQUENTIER_CACHED%==0 cmd.exe /c curl -fsSL https://github.com/d1vanov/libquentier/releases/download/continuous-development/libquentier_windows_qt5.zip -o %RUNNER_WORKSPACE%\libquentier_win_development_qt5\libquentier_windows_qt5.zip
if %LIBQUENTIER_CACHED%==0 cd %RUNNER_WORKSPACE%\libquentier_win_development_qt5
if %LIBQUENTIER_CACHED%==0 set LIBQUENTIER_DOWNLOADED=0
if %LIBQUENTIER_CACHED%==0 if exist libquentier_windows_qt5.zip set LIBQUENTIER_DOWNLOADED=1
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="1" echo "Downloaded prebuilt Qt5 libquentier from development branch"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="1" 7z x libquentier_windows_qt5.zip
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" echo "Could not download prebuilt Qt5 libquentier from development branch, will build from source"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" mkdir %RUNNER_WORKSPACE%\libquentier_win_development_qt5_src
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" git clone https://github.com/d1vanov/libquentier.git %RUNNER_WORKSPACE%\libquentier_win_development_qt5_src
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cd %RUNNER_WORKSPACE%\libquentier_win_development_qt5_src
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" git checkout development
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" mkdir build
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cd build
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt5\Qt\5.15.2\win64_msvc2019_x64"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\libiconv\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\libxml2\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\libhunspell\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\openssl\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\qtkeychain_qt5\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\tidy_html5\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\qevercloud_win_development_qt5\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\libiconv\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\libxml2\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\libhunspell\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\openssl\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\qtkeychain_qt5\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\tidy_html5\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\qevercloud_win_development_qt5\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\libiconv\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\libxml2\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\libhunspell\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\openssl\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\qtkeychain_qt5\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\tidy_html5\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\qevercloud_win_development_qt5\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\libquentier_win_development_qt5" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" -DQEverCloud-qt5_DIR="%RUNNER_WORKSPACE%\qevercloud_win_development_qt5\lib\cmake\QEverCloud-qt5" -DBOOST_ROOT="%RUNNER_WORKSPACE%\boost\boost_1_86_0" -DTIDY_HTML5_ROOT="%RUNNER_WORKSPACE%\tidy_html5" -DOPENSSL_ROOT_DIR="%RUNNER_WORKSPACE%\openssl" ..
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target lupdate
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target lrelease
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target all
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target install
if: ${{ matrix.qt_version == '5.15.2' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
shell: cmd
- name: Cache libquentier integration Qt5
id: cache_libquentier_integration_qt5
env:
LIBQUENTIER_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_win_integration_qt6'
key: libquentier-win-integration-qt5-${{ env.LIBQUENTIER_CACHE_VERSION }}
if: ${{ matrix.qt_version == '5.15.2' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
- name: Build libquentier integration Qt5
id: build_libquentier_integration_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\libquentier_win_integration_qt5\include (set LIBQUENTIER_CACHED=1) else (set LIBQUENTIER_CACHED=0)
echo "LIBQUENTIER_CACHED=%LIBQUENTIER_CACHED%"
if %LIBQUENTIER_CACHED%==0 mkdir %RUNNER_WORKSPACE%\libquentier_win_integration_qt5_src
if %LIBQUENTIER_CACHED%==0 git clone https://github.com/d1vanov/libquentier.git %RUNNER_WORKSPACE%\libquentier_win_integration_qt5_src
if %LIBQUENTIER_CACHED%==0 cd %RUNNER_WORKSPACE%\libquentier_win_integration_qt5_src
if %LIBQUENTIER_CACHED%==0 git checkout feature-new-release-integration
if %LIBQUENTIER_CACHED%==0 mkdir build
if %LIBQUENTIER_CACHED%==0 cd build
if %LIBQUENTIER_CACHED%==0 set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt5\Qt\5.15.2\win64_msvc2019_x64"
if %LIBQUENTIER_CACHED%==0 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\libiconv\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\libxml2\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\libhunspell\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\openssl\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\qtkeychain_qt5\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\tidy_html5\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\qevercloud_win_integration_qt5\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\libiconv\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\libxml2\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\libhunspell\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\openssl\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\qtkeychain_qt5\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\tidy_html5\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\qevercloud_win_integration_qt5\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\libiconv\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\libxml2\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\libhunspell\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\openssl\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\qtkeychain_qt5\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\tidy_html5\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\qevercloud_win_integration_qt5\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\libquentier_win_integration_qt5" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" -DQEverCloud-qt5_DIR="%RUNNER_WORKSPACE%\qevercloud_win_integration_qt5\lib\cmake\QEverCloud-qt5" -DBOOST_ROOT="%RUNNER_WORKSPACE%\boost\boost_1_86_0" -DTIDY_HTML5_ROOT="%RUNNER_WORKSPACE%\tidy_html5" -DOPENSSL_ROOT_DIR="%RUNNER_WORKSPACE%\openssl" ..
if %LIBQUENTIER_CACHED%==0 cmake --build . --target lupdate
if %LIBQUENTIER_CACHED%==0 cmake --build . --target lrelease
if %LIBQUENTIER_CACHED%==0 cmake --build . --target all
if %LIBQUENTIER_CACHED%==0 cmake --build . --target install
if: ${{ matrix.qt_version == '5.15.2' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
shell: cmd
- name: Cache libquentier master Qt6
id: cache_libquentier_master_qt6
env:
LIBQUENTIER_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_win_master_qt6'
key: libquentier-win-master-qt6-${{ env.LIBQUENTIER_CACHE_VERSION }}
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
- name: Download or build libquentier master Qt6
id: download_or_build_libquentier_master_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\libquentier_win_master_qt6\include (set LIBQUENTIER_CACHED=1) else (set LIBQUENTIER_CACHED=0)
echo "LIBQUENTIER_CACHED=%LIBQUENTIER_CACHED%"
if %LIBQUENTIER_CACHED%==0 mkdir %RUNNER_WORKSPACE%\libquentier_win_master_qt6
if %LIBQUENTIER_CACHED%==0 cmd.exe /c curl -fsSL https://github.com/d1vanov/libquentier/releases/download/continuous-master/libquentier_windows_qt6.zip -o %RUNNER_WORKSPACE%\libquentier_win_master_qt6\libquentier_windows_qt6.zip
if %LIBQUENTIER_CACHED%==0 cd %RUNNER_WORKSPACE%\libquentier_win_master_qt6
if %LIBQUENTIER_CACHED%==0 set LIBQUENTIER_DOWNLOADED=0
if %LIBQUENTIER_CACHED%==0 if exist libquentier_windows_qt6.zip set LIBQUENTIER_DOWNLOADED=1
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="1" echo "Downloaded prebuilt Qt6 libquentier from master branch"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="1" 7z x libquentier_windows_qt6.zip
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" echo "Could not download prebuilt Qt6 libquentier from master branch, will build from source"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" mkdir %RUNNER_WORKSPACE%\libquentier_win_master_qt6_src
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" git clone https://github.com/d1vanov/libquentier.git %RUNNER_WORKSPACE%\libquentier_win_master_qt6_src
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cd %RUNNER_WORKSPACE%\libquentier_win_master_qt6_src
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" git checkout master
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" mkdir build
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cd build
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt6\Qt\6.7.3\win64_msvc2019_x64"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\libiconv\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\libxml2\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\libhunspell\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\openssl\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\qtkeychain_qt6\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\tidy_html5\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\qevercloud_win_master_qt6\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\libiconv\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\libxml2\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\libhunspell\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\openssl\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\qtkeychain_qt6\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\tidy_html5\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\qevercloud_win_master_qt6\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\libiconv\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\libxml2\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\libhunspell\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\openssl\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\qtkeychain_qt6\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\tidy_html5\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\qevercloud_win_master_qt6\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake -G "NMake Makefiles" -DBUILD_WITH_QT6=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\libquentier_win_master_qt6" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" -DQEverCloud-qt6_DIR="%RUNNER_WORKSPACE%\qevercloud_win_master_qt6\lib\cmake\QEverCloud-qt6" -DBOOST_ROOT="%RUNNER_WORKSPACE%\boost\boost_1_86_0" -DTIDY_HTML5_ROOT="%RUNNER_WORKSPACE%\tidy_html5" -DOPENSSL_ROOT_DIR="%RUNNER_WORKSPACE%\openssl" ..
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target lupdate
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target lrelease
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target all
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target install
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref != 'development' && github.base_ref != 'integration-0.6.0')) }}
shell: cmd
- name: Cache libquentier development Qt6
id: cache_libquentier_development_qt6
env:
LIBQUENTIER_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_win_development_qt6'
key: libquentier-win-development-qt6-${{ env.LIBQUENTIER_CACHE_VERSION }}
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
- name: Download or build libquentier development Qt6
id: download_or_build_libquentier_development_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\libquentier_win_development_qt6\include (set LIBQUENTIER_CACHED=1) else (set LIBQUENTIER_CACHED=0)
echo "LIBQUENTIER_CACHED=%LIBQUENTIER_CACHED%"
if %LIBQUENTIER_CACHED%==0 mkdir %RUNNER_WORKSPACE%\libquentier_win_development_qt6
if %LIBQUENTIER_CACHED%==0 cmd.exe /c curl -fsSL https://github.com/d1vanov/libquentier/releases/download/continuous-development/libquentier_windows_qt6.zip -o %RUNNER_WORKSPACE%\libquentier_win_development_qt6\libquentier_windows_qt6.zip
if %LIBQUENTIER_CACHED%==0 cd %RUNNER_WORKSPACE%\libquentier_win_development_qt6
if %LIBQUENTIER_CACHED%==0 set LIBQUENTIER_DOWNLOADED=0
if %LIBQUENTIER_CACHED%==0 if exist libquentier_windows_qt6.zip set LIBQUENTIER_DOWNLOADED=1
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="1" echo "Downloaded prebuilt Qt6 libquentier from development branch"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="1" 7z x libquentier_windows_qt6.zip
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" echo "Could not download prebuilt Qt6 libquentier from development branch, will build from source"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" mkdir %RUNNER_WORKSPACE%\libquentier_win_development_qt6_src
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" git clone https://github.com/d1vanov/libquentier.git %RUNNER_WORKSPACE%\libquentier_win_development_qt6_src
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cd %RUNNER_WORKSPACE%\libquentier_win_development_qt6_src
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" git checkout development
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" mkdir build
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cd build
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt6\Qt\6.7.3\win64_msvc2019_x64"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\libiconv\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\libxml2\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\libhunspell\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\openssl\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\qtkeychain_qt6\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\tidy_html5\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set PATH=%RUNNER_WORKSPACE%\qevercloud_win_development_qt6\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\libiconv\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\libxml2\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\libhunspell\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\openssl\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\qtkeychain_qt6\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\tidy_html5\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set LIB=%RUNNER_WORKSPACE%\qevercloud_win_development_qt6\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\libiconv\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\libxml2\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\libhunspell\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\openssl\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\qtkeychain_qt6\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\tidy_html5\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" set INCLUDE=%RUNNER_WORKSPACE%\qevercloud_win_development_qt6\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake -G "NMake Makefiles" -DBUILD_WITH_QT6=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\libquentier_win_development_qt6" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" -DQEverCloud-qt6_DIR="%RUNNER_WORKSPACE%\qevercloud_win_development_qt6\lib\cmake\QEverCloud-qt6" -DBOOST_ROOT="%RUNNER_WORKSPACE%\boost\boost_1_86_0" -DTIDY_HTML5_ROOT="%RUNNER_WORKSPACE%\tidy_html5" -DOPENSSL_ROOT_DIR="%RUNNER_WORKSPACE%\openssl" ..
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target lupdate
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target lrelease
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target all
if %LIBQUENTIER_CACHED%==0 if "%LIBQUENTIER_DOWNLOADED%"=="0" cmake --build . --target install
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/development') || (github.event_name == 'pull_request' && github.base_ref == 'development')) }}
shell: cmd
- name: Cache libquentier integration Qt6
id: cache_libquentier_integration_qt6
env:
LIBQUENTIER_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/libquentier_win_integration_qt6'
key: libquentier-win-integration-qt6-${{ env.LIBQUENTIER_CACHE_VERSION }}
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
- name: Build libquentier integration Qt6
id: build_libquentier_integration_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if exist %RUNNER_WORKSPACE%\libquentier_win_integration_qt6\include (set LIBQUENTIER_CACHED=1) else (set LIBQUENTIER_CACHED=0)
echo "LIBQUENTIER_CACHED=%LIBQUENTIER_CACHED%"
if %LIBQUENTIER_CACHED%==0 mkdir %RUNNER_WORKSPACE%\libquentier_win_integration_qt6_src
if %LIBQUENTIER_CACHED%==0 git clone https://github.com/d1vanov/libquentier.git %RUNNER_WORKSPACE%\libquentier_win_integration_qt6_src
if %LIBQUENTIER_CACHED%==0 cd %RUNNER_WORKSPACE%\libquentier_win_integration_qt6_src
if %LIBQUENTIER_CACHED%==0 git checkout feature-new-release-integration
if %LIBQUENTIER_CACHED%==0 mkdir build
if %LIBQUENTIER_CACHED%==0 cd build
if %LIBQUENTIER_CACHED%==0 set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt6\Qt\6.7.3\win64_msvc2019_x64"
if %LIBQUENTIER_CACHED%==0 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\libiconv\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\libxml2\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\libhunspell\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\openssl\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\qtkeychain_qt6\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\tidy_html5\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set PATH=%RUNNER_WORKSPACE%\qevercloud_win_integration_qt6\bin;%PATH%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\libiconv\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\libxml2\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\libhunspell\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\openssl\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\qtkeychain_qt6\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\tidy_html5\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set LIB=%RUNNER_WORKSPACE%\qevercloud_win_integration_qt6\lib;%LIB%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\libiconv\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\libxml2\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\libhunspell\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\openssl\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\qtkeychain_qt6\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\tidy_html5\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 set INCLUDE=%RUNNER_WORKSPACE%\qevercloud_win_integration_qt6\include;%INCLUDE%
if %LIBQUENTIER_CACHED%==0 cmake -G "NMake Makefiles" -DBUILD_WITH_QT6=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%RUNNER_WORKSPACE%\libquentier_win_integration_qt6" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" -DQEverCloud-qt6_DIR="%RUNNER_WORKSPACE%\qevercloud_win_integration_qt6\lib\cmake\QEverCloud-qt6" -DBOOST_ROOT="%RUNNER_WORKSPACE%\boost\boost_1_86_0" -DTIDY_HTML5_ROOT="%RUNNER_WORKSPACE%\tidy_html5" -DOPENSSL_ROOT_DIR="%RUNNER_WORKSPACE%\openssl" ..
if %LIBQUENTIER_CACHED%==0 cmake --build . --target lupdate
if %LIBQUENTIER_CACHED%==0 cmake --build . --target lrelease
if %LIBQUENTIER_CACHED%==0 cmake --build . --target all
if %LIBQUENTIER_CACHED%==0 cmake --build . --target install
if: ${{ matrix.qt_version == '6.7.3' && ((github.event_name == 'push' && github.ref == 'refs/heads/integration-0.6.0') || (github.event_name == 'pull_request' && github.base_ref == 'integration-0.6.0')) }}
shell: cmd
- name: Cache Google breakpad
id: cache_google_breakpad
env:
GOOGLE_BREAKPAD_CACHE_VERSION: '1'
uses: actions/cache@v4
with:
path: '${{ runner.workspace }}/breakpad'
key: breakpad-${{ env.GOOGLE_BREAKPAD_CACHE_VERSION }}
- name: Download Google breakpad
id: download_breakpad
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
run: |
if not exist %RUNNER_WORKSPACE%\breakpad (set DOWNLOAD_BREAKPAD=1) else (set DOWNLOAD_BREAKPAD=0)
if %DOWNLOAD_BREAKPAD%==1 mkdir %RUNNER_WORKSPACE%\breakpad
if %DOWNLOAD_BREAKPAD%==1 curl -fsSL https://github.com/d1vanov/quentier-dependencies-windows/releases/download/continuous/breakpad-msvc2019_x64.zip -o %RUNNER_WORKSPACE%\breakpad\breakpad-msvc2019_x64.zip
if %DOWNLOAD_BREAKPAD%==1 cd %RUNNER_WORKSPACE%\breakpad
if %DOWNLOAD_BREAKPAD%==1 7z x breakpad-msvc2019_x64.zip
shell: cmd
- name: Build, test and install Qt5
id: build_test_install_qt5
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
GITHUB_EVENT_NAME: ${{ github.event_name }}
GITHUB_REF: ${{ github.ref }}
GITHUB_BASE_REF: ${{ github.base_ref }}
run: |
set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt5\Qt\5.15.2\win64_msvc2019_x64"
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
set PATH=%RUNNER_WORKSPACE%\libiconv\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\libxml2\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\libhunspell\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\openssl\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\qtkeychain_qt5\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\tidy_html5\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\breakpad\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\zlib\bin;%PATH%
set LIB=%RUNNER_WORKSPACE%\libiconv\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\libxml2\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\libhunspell\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\openssl\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\qtkeychain_qt5\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\tidy_html5\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\breakpad\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\zlib\lib;%LIB%
set INCLUDE=%RUNNER_WORKSPACE%\libiconv\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\libxml2\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\libhunspell\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\openssl\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\qtkeychain_qt5\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\tidy_html5\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\breakpad\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\zlib\include;%INCLUDE%
set BRANCH_NAME=master
if "%GITHUB_EVENT_NAME%"=="push" if "%GITHUB_REF%"=="refs/heads/development" set BRANCH_NAME=development
if "%GITHUB_EVENT_NAME%"=="pull_request" if "%GITHUB_BASE_REF%"=="development" set BRANCH_NAME=development
if "%GITHUB_EVENT_NAME%"=="push" if "%GITHUB_REF%"=="refs/heads/integration-0.6.0" set BRANCH_NAME=integration-0.6.0
if "%GITHUB_EVENT_NAME%"=="pull_request" if "%GITHUB_BASE_REF%"=="integration-0.6.0" set BRANCH_NAME=integration-0.6.0
if "%BRANCH_NAME%"=="master" set QEVERCLOUD_DIR=%RUNNER_WORKSPACE%\qevercloud_win_master_qt5
if "%BRANCH_NAME%"=="development" set QEVERCLOUD_DIR=%RUNNER_WORKSPACE%\qevercloud_win_development_qt5
if "%BRANCH_NAME%"=="integration-0.6.0" set QEVERCLOUD_DIR=%RUNNER_WORKSPACE%\qevercloud_win_integration_qt5
set INCLUDE=%QEVERCLOUD_DIR%\include;%INCLUDE%
set LIB=%QEVERCLOUD_DIR%\lib;%LIB%
set PATH=%QEVERCLOUD_DIR%\bin;%PATH%
if "%BRANCH_NAME%"=="master" set LIBQUENTIER_DIR=%RUNNER_WORKSPACE%\libquentier_win_master_qt5
if "%BRANCH_NAME%"=="development" set LIBQUENTIER_DIR=%RUNNER_WORKSPACE%\libquentier_win_development_qt5
if "%BRANCH_NAME%"=="integration-0.6.0" set LIBQUENTIER_DIR=%RUNNER_WORKSPACE%\libquentier_win_integration_qt5
set INCLUDE=%LIBQUENTIER_DIR%\include;%INCLUDE%
set LIB=%LIBQUENTIER_DIR%\lib;%LIB%
set PATH=%LIBQUENTIER_DIR%\bin;%PATH%
if "%BRANCH_NAME%"=="master" set DEFAULT_UPDATE_CHANNEL="master"
if "%BRANCH_NAME%"=="development" set DEFAULT_UPDATE_CHANNEL="development"
if "%BRANCH_NAME%"=="integration-0.6.0" set DEFAULT_UPDATE_CHANNEL="integration"
echo "BRANCH_NAME=%BRANCH_NAME%, QEVERCLOUD_DIR=%QEVERCLOUD_DIR%, LIBQUENTIER_DIR=%LIBQUENTIER_DIR%"
cd %GITHUB_WORKSPACE%
md build
cd build
md bin
md bin\quentier
copy %RUNNER_WORKSPACE%\breakpad\bin\common.pdb bin\quentier\common.pdb
copy %RUNNER_WORKSPACE%\breakpad\bin\crash_generation_client.pdb bin\quentier\crash_generation_client.pdb
copy %RUNNER_WORKSPACE%\breakpad\bin\crash_generation_server.pdb bin\quentier\crash_generation_server.pdb
copy %RUNNER_WORKSPACE%\breakpad\bin\exception_handler.pdb bin\quentier\exception_handler.pdb
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="%GITHUB_WORKSPACE%\build\installdir" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" -DQEverCloud-qt5_DIR="%QEVERCLOUD_DIR%\lib\cmake\QEverCloud-qt5" -DLibquentier-qt5_DIR="%LIBQUENTIER_DIR%\lib\cmake\Libquentier-qt5" -DBOOST_ROOT="%RUNNER_WORKSPACE%\boost\boost_1_86_0" -DBREAKPAD_ROOT="%RUNNER_WORKSPACE%\breakpad" -DINCLUDE_UPDATE_INFO=YES -DDEFAULT_UPDATE_CHANNEL="%DEFAULT_UPDATE_CHANNEL%" -DDEFAULT_UPDATE_PROVIDER="GITHUB" -DZLIB_LIBRARY="%RUNNER_WORKSPACE%\zlib\lib\libz.lib" -DNSIS_MAKE="C:/Program Files (x86)/NSIS/makensis.exe" -DTIDY_HTML5_ROOT="%RUNNER_WORKSPACE%\tidy_html5" -DLIBQUENTIER_BREAKPAD_SYMS="%LIBQUENTIER_DIR%\bin\libqt5quentier.syms" -DOPENSSL_ROOT_DIR="%RUNNER_WORKSPACE%\openssl" ..
cmake --build . --target all
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target check
cmake --build . --target install
if: ${{ matrix.qt_version == '5.15.2' }}
shell: cmd
- name: Build, test and install Qt6
id: build_test_install_qt6
env:
RUNNER_WORKSPACE: ${{ runner.workspace }}
GITHUB_EVENT_NAME: ${{ github.event_name }}
GITHUB_REF: ${{ github.ref }}
GITHUB_BASE_REF: ${{ github.base_ref }}
run: |
set CMAKE_PREFIX_PATH="%RUNNER_WORKSPACE%\Qt6\Qt\c6.7.3\win64_msvc2019_x64"
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
set PATH=%RUNNER_WORKSPACE%\libiconv\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\libxml2\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\libhunspell\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\openssl\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\qtkeychain_qt6\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\tidy_html5\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\breakpad\bin;%PATH%
set PATH=%RUNNER_WORKSPACE%\zlib\bin;%PATH%
set LIB=%RUNNER_WORKSPACE%\libiconv\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\libxml2\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\libhunspell\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\openssl\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\qtkeychain_qt6\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\tidy_html5\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\breakpad\lib;%LIB%
set LIB=%RUNNER_WORKSPACE%\zlib\lib;%LIB%
set INCLUDE=%RUNNER_WORKSPACE%\libiconv\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\libxml2\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\libhunspell\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\openssl\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\qtkeychain_qt6\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\tidy_html5\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\breakpad\include;%INCLUDE%
set INCLUDE=%RUNNER_WORKSPACE%\zlib\include;%INCLUDE%
set BRANCH_NAME=master
if "%GITHUB_EVENT_NAME%"=="push" if "%GITHUB_REF%"=="refs/heads/development" set BRANCH_NAME=development
if "%GITHUB_EVENT_NAME%"=="pull_request" if "%GITHUB_BASE_REF%"=="development" set BRANCH_NAME=development
if "%GITHUB_EVENT_NAME%"=="push" if "%GITHUB_REF%"=="refs/heads/integration-0.6.0" set BRANCH_NAME=integration-0.6.0
if "%GITHUB_EVENT_NAME%"=="pull_request" if "%GITHUB_BASE_REF%"=="integration-0.6.0" set BRANCH_NAME=integration-0.6.0
if "%BRANCH_NAME%"=="master" set QEVERCLOUD_DIR=%RUNNER_WORKSPACE%\qevercloud_win_master_qt6
if "%BRANCH_NAME%"=="development" set QEVERCLOUD_DIR=%RUNNER_WORKSPACE%\qevercloud_win_development_qt6
if "%BRANCH_NAME%"=="integration-0.6.0" set QEVERCLOUD_DIR=%RUNNER_WORKSPACE%\qevercloud_win_integration_qt6
set INCLUDE=%QEVERCLOUD_DIR%\include;%INCLUDE%
set LIB=%QEVERCLOUD_DIR%\lib;%LIB%
set PATH=%QEVERCLOUD_DIR%\bin;%PATH%
if "%BRANCH_NAME%"=="master" set LIBQUENTIER_DIR=%RUNNER_WORKSPACE%\libquentier_win_master_qt6
if "%BRANCH_NAME%"=="development" set LIBQUENTIER_DIR=%RUNNER_WORKSPACE%\libquentier_win_development_qt6
if "%BRANCH_NAME%"=="integration-0.6.0" set LIBQUENTIER_DIR=%RUNNER_WORKSPACE%\libquentier_win_integration_qt6
set INCLUDE=%LIBQUENTIER_DIR%\include;%INCLUDE%
set LIB=%LIBQUENTIER_DIR%\lib;%LIB%
set PATH=%LIBQUENTIER_DIR%\bin;%PATH%
if "%BRANCH_NAME%"=="master" set DEFAULT_UPDATE_CHANNEL="master"
if "%BRANCH_NAME%"=="development" set DEFAULT_UPDATE_CHANNEL="development"
if "%BRANCH_NAME%"=="integration-0.6.0" set DEFAULT_UPDATE_CHANNEL="integration"
echo "BRANCH_NAME=%BRANCH_NAME%, QEVERCLOUD_DIR=%QEVERCLOUD_DIR%, LIBQUENTIER_DIR=%LIBQUENTIER_DIR%"
cd %GITHUB_WORKSPACE%
md build
cd build
md bin
md bin\quentier
copy %RUNNER_WORKSPACE%\breakpad\bin\common.pdb bin\quentier\common.pdb
copy %RUNNER_WORKSPACE%\breakpad\bin\crash_generation_client.pdb bin\quentier\crash_generation_client.pdb
copy %RUNNER_WORKSPACE%\breakpad\bin\crash_generation_server.pdb bin\quentier\crash_generation_server.pdb
copy %RUNNER_WORKSPACE%\breakpad\bin\exception_handler.pdb bin\quentier\exception_handler.pdb
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_WITH_QT6=ON -DCMAKE_INSTALL_PREFIX="%GITHUB_WORKSPACE%\build\installdir" -DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" -DQEverCloud-qt6_DIR="%QEVERCLOUD_DIR%\lib\cmake\QEverCloud-qt6" -DLibquentier-qt6_DIR="%LIBQUENTIER_DIR%\lib\cmake\Libquentier-qt6" -DBOOST_ROOT="%RUNNER_WORKSPACE%\boost\boost_1_86_0" -DBREAKPAD_ROOT="%RUNNER_WORKSPACE%\breakpad" -DINCLUDE_UPDATE_INFO=YES -DDEFAULT_UPDATE_CHANNEL="%DEFAULT_UPDATE_CHANNEL%" -DDEFAULT_UPDATE_PROVIDER="GITHUB" -DZLIB_LIBRARY="%RUNNER_WORKSPACE%\zlib\lib\libz.lib" -DNSIS_MAKE="C:/Program Files (x86)/NSIS/makensis.exe" -DTIDY_HTML5_ROOT="%RUNNER_WORKSPACE%\tidy_html5" -DLIBQUENTIER_BREAKPAD_SYMS="%LIBQUENTIER_DIR%\bin\libqt5quentier.syms" -DOPENSSL_ROOT_DIR="%RUNNER_WORKSPACE%\openssl" ..
cmake --build . --target all
cmake --build . --target lupdate
cmake --build . --target lrelease
cmake --build . --target check
cmake --build . --target install
if: ${{ matrix.qt_version == '6.7.3' }}
shell: cmd
- name: Create portable installation archive Qt5
id: create_portable_installation_archive_qt5
run: |
cd %GITHUB_WORKSPACE%
move "build\bin\quentier\SetupQuentier 0.6.0 Qt 5.15.2 MSVC2019 x64.exe" .
7z a -tzip -mx=9 -mfb=128 -mpass=10 Quentier-windows-portable-qt5-x64.zip build\installdir\*
if: ${{ matrix.qt_version == '5.15.2' }}
shell: cmd
- name: Create portable installation archive Qt6
id: create_portable_installation_archive_qt6
run: |
cd %GITHUB_WORKSPACE%
move "build\bin\quentier\SetupQuentier 0.6.0 Qt 6.7.3 MSVC2019 x64.exe" .
7z a -tzip -mx=9 -mfb=128 -mpass=10 Quentier-windows-portable-qt6-x64.zip build\installdir\*
if: ${{ matrix.qt_version == '6.7.3' }}
shell: cmd
- name: Upload Qt5 setup package
id: upload_setup_package_qt5
uses: actions/upload-artifact@v4
with:
name: quentier_windows_qt5_setup
path: '${{ github.workspace }}\SetupQuentier 0.6.0 Qt 5.15.2 MSVC2019 x64.exe'
if: ${{ matrix.qt_version == '5.15.2' }}
- name: Upload Qt5 portable package
id: upload_portable_package_qt5
uses: actions/upload-artifact@v4
with:
name: quentier_windows_qt5_portable
path: '${{ github.workspace }}\Quentier-windows-portable-qt5-x64.zip'
if: ${{ matrix.qt_version == '5.15.2' }}
- name: Upload Qt6 setup package
id: upload_setup_package_qt6
uses: actions/upload-artifact@v4
with:
name: quentier_windows_qt6_setup
path: '${{ github.workspace }}\SetupQuentier 0.6.0 Qt 6.7.3 MSVC2019 x64.exe'
if: ${{ matrix.qt_version == '6.7.3' }}
- name: Upload Qt6 portable package
id: upload_portable_package_qt6
uses: actions/upload-artifact@v4
with:
name: quentier_windows_qt6_portable
path: '${{ github.workspace }}\Quentier-windows-portable-qt6-x64.zip'
if: ${{ matrix.qt_version == '6.7.3' }}
create_new_release:
if: ${{ github.event_name == 'push' && !contains(github.event.head_commit.message, '[skip ci]') }}
runs-on: ubuntu-latest
needs: [build_linux, build_macos, build_windows]
steps:
- name: Install dependencies
id: install_deps
run: |
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 23F3D4EA75716059
type -p curl >/dev/null || sudo apt install curl -y
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
sudo apt update
sudo apt install -qq gh
sudo apt install -qq jq
sudo apt install -qq p7zip
- name: Delete previous continuous release
id: delete_previous_continuous_release
if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/development' || github.ref == 'refs/heads/integration-0.6.0' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
export BRANCH_NAME=$(echo $GITHUB_REF | sed 's/.*\/\(.*\)$/\1/')
gh api /repos/d1vanov/quentier/releases/tags/continuous-${BRANCH_NAME} > /tmp/gh_get_release.json && exit_status=$? || exit_status=$?
if [ "${exit_status}" = 0 ]; then
export COMMIT_SHA=$(cat /tmp/gh_get_release.json | jq '.target_commitish')
if ! [ "${COMMIT_SHA}" = "${GITHUB_SHA}" ]; then
export PREVIOUS_CONTINUOUS_RELEASE_DELETED=0
for i in {1..10}
do
echo "Trying to delete previous continuous release continuous-${BRANCH_NAME}"
gh release delete continuous-${BRANCH_NAME} -y -R d1vanov/quentier;
curl -X DELETE -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/d1vanov/quentier/git/refs/tags/continuous-${BRANCH_NAME};
gh api /repos/d1vanov/quentier/releases/tags/continuous-${BRANCH_NAME} > /tmp/gh_get_release.json && exit_status=$? || exit_status=$?
if [ "${exit_status}" != 0 ]; then
echo "It appears that previous continuous release is deleted now"
export PREVIOUS_CONTINUOUS_RELEASE_DELETED=1
break
fi
echo "Was able to receive information about the attempted to be deleted previous continuous release, waiting for 5 seconds before the next attempt"
sleep 5
done
if [ "$PREVIOUS_CONTINUOUS_RELEASE_DELETED" != "1" ]; then
echo "Failed to delete previous continuous release after several attempts!"
fi
fi
fi
shell: bash
- name: Create new continuous master release
id: create_new_continuous_master_release
if: ${{ github.ref == 'refs/heads/master' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create continuous-master --draft=false --prerelease --title "Continuous build (continuous-master)" --target $GITHUB_SHA -R d1vanov/quentier
- name: Create new continuous development release
id: create_new_continuous_development_release
if: ${{ github.ref == 'refs/heads/development' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create continuous-development --draft=false --prerelease --title "Continuous build (continuous-development)" --target $GITHUB_SHA -R d1vanov/quentier
- name: Create new continuous integration release
id: create_new_continuous_integration_release
if: ${{ github.ref == 'refs/heads/integration-0.6.0' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create continuous-integration --draft=false --prerelease --title "Temporary experimental integration release, do not use! (continuous-integration)" --target $GITHUB_SHA -R d1vanov/quentier
- name: Create new tagged release
id: create_new_tagged_release
if: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REF: ${{ github.ref }}
GITHUB_REF_NAME: ${{ github.ref_name }}
run: |
gh release create "$GITHUB_REF" --title "Release build ($GITHUB_REF_NAME)" --target $GITHUB_SHA -R d1vanov/quentier
- name: Download linux artifacts
id: download_linux_artifacts
uses: actions/download-artifact@v4
with:
name: quentier_linux
path: '${{ github.workspace }}/artifacts'
- name: Download macOS artifact
id: download_macos_artifact
uses: actions/download-artifact@v4
with:
name: quentier_macos
path: '${{ github.workspace }}/artifacts'
- name: Download Windows Qt5 setup package
id: download_windows_qt5_setup_package
uses: actions/download-artifact@v4
with:
name: quentier_windows_qt5_setup
path: '${{ github.workspace }}/artifacts'
- name: Download Windows Qt5 portable package
id: download_windows_qt5_portable_package
uses: actions/download-artifact@v4
with:
name: quentier_windows_qt5_portable
path: '${{ github.workspace }}/artifacts'
- name: Download Windows Qt6 setup package
id: download_windows_qt6_setup_package
uses: actions/download-artifact@v4
with:
name: quentier_windows_qt6_setup
path: '${{ github.workspace }}/artifacts'
- name: Download Windows Qt6 portable package
id: download_windows_qt6_portable_package
uses: actions/download-artifact@v4
with:
name: quentier_windows_qt6_portable
path: '${{ github.workspace }}/artifacts'
- name: Upload Linux artifacts to continuous master release
id: upload_linux_artifacts_to_continuous_master_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for i in 0..3
do
export UPLOADED=0
gh release upload --clobber continuous-master $GITHUB_WORKSPACE/artifacts/Quentier*.AppImage* -R d1vanov/quentier && export UPLOADED=1 || true
if [ "$UPLOADED" = "1" ]; then
break
fi
done
if [ "$UPLOADED" != "1" ]; then
echo "Failed to upload artifacts to release"
exit 1
fi
if: ${{ github.ref == 'refs/heads/master' }}
shell: bash
- name: Upload Linux artifacts to continuous development release
id: upload_linux_artifacts_to_continuous_development_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for i in 0..3
do
export UPLOADED=0
gh release upload --clobber continuous-development $GITHUB_WORKSPACE/artifacts/Quentier*.AppImage* -R d1vanov/quentier && export UPLOADED=1 || true
if [ "$UPLOADED" = "1" ]; then
break
fi
done
if [ "$UPLOADED" != "1" ]; then
echo "Failed to upload artifact to release"
exit 1
fi
if: ${{ github.ref == 'refs/heads/development' }}
shell: bash
- name: Upload Linux artifacts to continuous integration release
id: upload_linux_artifacts_to_continuous_integration_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for i in 0..3
do
export UPLOADED=0
gh release upload --clobber continuous-integration $GITHUB_WORKSPACE/artifacts/Quentier*.AppImage* -R d1vanov/quentier && export UPLOADED=1 || true
if [ "$UPLOADED" = "1" ]; then
break
fi
done
if [ "$UPLOADED" != "1" ]; then
echo "Failed to upload artifact to release"
exit 1
fi
if: ${{ github.ref == 'refs/heads/integration-0.6.0' }}
shell: bash
- name: Upload macOS artifact to continuous master release
id: upload_macos_artifact_to_continuous_master_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for i in 0..3
do
export UPLOADED=0
gh release upload --clobber continuous-master $GITHUB_WORKSPACE/artifacts/Quentier_mac_x86_64.zip -R d1vanov/quentier && export UPLOADED=1 || true
if [ "$UPLOADED" = "1" ]; then
break
fi
done
if [ "$UPLOADED" != "1" ]; then
echo "Failed to upload artifact to release"
exit 1
fi
if: ${{ github.ref == 'refs/heads/master' }}
shell: bash
- name: Upload macOS artifact to continuous development release
id: upload_macos_artifact_to_continuous_development_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for i in 0..3
do
export UPLOADED=0
gh release upload --clobber continuous-development $GITHUB_WORKSPACE/artifacts/Quentier_mac_x86_64.zip -R d1vanov/quentier && export UPLOADED=1 || true
if [ "$UPLOADED" = "1" ]; then
break
fi
done
if [ "$UPLOADED" != "1" ]; then
echo "Failed to upload artifact to release"
exit 1
fi
if: ${{ github.ref == 'refs/heads/development' }}
shell: bash
- name: Upload macOS artifact to continuous integration release
id: upload_macos_artifact_to_continuous_integration_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for i in 0..3
do
export UPLOADED=0
gh release upload --clobber continuous-integration $GITHUB_WORKSPACE/artifacts/Quentier_mac_x86_64.zip -R d1vanov/quentier && export UPLOADED=1 || true
if [ "$UPLOADED" = "1" ]; then
break
fi
done
if [ "$UPLOADED" != "1" ]; then
echo "Failed to upload artifact to release"
exit 1
fi
if: ${{ github.ref == 'refs/heads/integration-0.6.0' }}
shell: bash
- name: Upload Windows artifacts to continuous master release
id: upload_windows_artifacts_to_continuous_master_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for i in 0..3
do
export UPLOADED=0
gh release upload --clobber continuous-master $GITHUB_WORKSPACE/artifacts/Setup*.exe $GITHUB_WORKSPACE/artifacts/Quentier-windows-portable-qt5-x64.zip $GITHUB_WORKSPACE/artifacts/Quentier-windows-portable-qt6-x64.zip -R d1vanov/quentier && export UPLOADED=1 || true
if [ "$UPLOADED" = "1" ]; then
break
fi
done
if [ "$UPLOADED" != "1" ]; then
echo "Failed to upload artifacts to release"
exit 1
fi
if: ${{ github.ref == 'refs/heads/master' }}
shell: bash
- name: Upload Windows artifacts to continuous development release
id: upload_windows_artifacts_to_continuous_development_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for i in 0..3
do
export UPLOADED=0
gh release upload --clobber continuous-development $GITHUB_WORKSPACE/artifacts/Setup*.exe $GITHUB_WORKSPACE/artifacts/Quentier-windows-portable-qt5-x64.zip $GITHUB_WORKSPACE/artifacts/Quentier-windows-portable-qt6-x64.zip -R d1vanov/quentier && export UPLOADED=1 || true
if [ "$UPLOADED" = "1" ]; then
break
fi
done
if [ "$UPLOADED" != "1" ]; then
echo "Failed to upload artifacts to release"
exit 1
fi
if: ${{ github.ref == 'refs/heads/development' }}
shell: bash
- name: Upload Windows artifacts to continuous integration release
id: upload_windows_artifacts_to_continuous_integration_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for i in 0..3
do
export UPLOADED=0
gh release upload --clobber continuous-integration $GITHUB_WORKSPACE/artifacts/Setup*.exe $GITHUB_WORKSPACE/artifacts/Quentier-windows-portable-qt5-x64.zip $GITHUB_WORKSPACE/artifacts/Quentier-windows-portable-qt6-x64.zip -R d1vanov/quentier && export UPLOADED=1 || true
if [ "$UPLOADED" = "1" ]; then
break
fi
done
if [ "$UPLOADED" != "1" ]; then
echo "Failed to upload artifacts to release"
exit 1
fi
if: ${{ github.ref == 'refs/heads/integration-0.6.0' }}
shell: bash
- name: Ensure continuous master release is not a draft
id: ensure_continuous_master_is_not_a_draft
if: ${{ github.ref == 'refs/heads/master' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REF: ${{ github.ref }}
run: |
gh release edit continuous-master --draft=false -R d1vanov/quentier
- name: Ensure continuous development release is not a draft
id: ensure_continuous_development_is_not_a_draft
if: ${{ github.ref == 'refs/heads/development' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REF: ${{ github.ref }}
run: |
gh release edit continuous-development --draft=false -R d1vanov/quentier
- name: Ensure continuous integration release is not a draft
id: ensure_continuous_integration_is_not_a_draft
if: ${{ github.ref == 'refs/heads/integration-0.6.0' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REF: ${{ github.ref }}
run: |
gh release edit continuous-integration --draft=false -R d1vanov/quentier
- name: Upload Linux artifact to tagged release
id: upload_linux_artifact_to_tagged_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
export TAG_NAME=$(echo $GITHUB_REF | sed 's/.*\/\(.*\)$/\1/')
for i in 0..3
do
export UPLOADED=0
gh release upload --clobber ${TAG_NAME} $GITHUB_WORKSPACE/artifacts/Quentier*.AppImage* -R d1vanov/quentier && export UPLOADED=1 || true
if [ "$UPLOADED" = "1" ]; then
break
fi
done
if [ "$UPLOADED" != "1" ]; then
echo "Failed to upload artifacts to release"
exit 1
fi
if: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0' }}
shell: bash
- name: Upload macOS artifact to tagged release
id: upload_macos_artifact_to_tagged_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
export TAG_NAME=$(echo $GITHUB_REF | sed 's/.*\/\(.*\)$/\1/')
for i in 0..3
do
export UPLOADED=0
gh release upload --clobber ${TAG_NAME} $GITHUB_WORKSPACE/artifacts/Quentier_mac_x86_64.zip -R d1vanov/libquentier && export UPLOADED=1 || true
if [ "$UPLOADED" = "1" ]; then
break
fi
done
if [ "$UPLOADED" != "1" ]; then
echo "Failed to upload artifact to release"
exit 1
fi
if: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0' }}
shell: bash
- name: Upload Windows artifacts to tagged release
id: upload_windows_artifacts_to_tagged_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
export TAG_NAME=$(echo $GITHUB_REF | sed 's/.*\/\(.*\)$/\1/')
mv $GITHUB_WORKSPACE/artifacts/libquentier_windows_x86.zip /tmp/libquentier.zip
for i in 0..3
do
export UPLOADED=0
gh release upload --clobber ${TAG_NAME} $GITHUB_WORKSPACE/artifacts/Setup*.exe $GITHUB_WORKSPACE/artifacts/Quentier-windows-portable-qt5-x64.zip $GITHUB_WORKSPACE/artifacts/Quentier-windows-portable-qt6-x64.zip -R d1vanov/libquentier && export UPLOADED=1 || true
if [ "$UPLOADED" = "1" ]; then
break
fi
done
if [ "$UPLOADED" != "1" ]; then
echo "Failed to upload artifacts to release"
exit 1
fi
if: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0'}}
shell: bash
- name: Ensure tagged release is not a draft
id: ensure_tagged_release_is_not_a_draft
if: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/integration-0.6.0'}}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REF_NAME: ${{ github.ref_name }}
run: |
gh release edit "$GITHUB_REF_NAME" --draft=false -R d1vanov/quentier