#2817 add: editor schema "Atom Mellow Dark" #2098
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build QOwnNotes | |
on: | |
push: | |
branches-ignore: | |
- release | |
tags-ignore: | |
- '*' | |
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-including-paths | |
# if [[ ${changed_file} = src* ]] || [[ ${changed_file} = tests* ]] || [[ ${changed_file} = build-systems/github/* ]] || [[ ${changed_file} = ".github/workflows/build-test.yml" ]] ; | |
paths: | |
- 'src/**' | |
- 'snap/**' | |
- 'tests/**' | |
- 'build-systems/github/**' | |
- '.github/workflows/build-test.yml' | |
pull_request: | |
paths: | |
- 'src/**' | |
- 'snap/**' | |
- 'tests/**' | |
workflow_dispatch: | |
# schedule: | |
# - cron: "0 0 */3 * *" | |
defaults: | |
run: | |
working-directory: src | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
continue-on-error: ${{ matrix.experimental }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-2019] | |
# Linux: https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/ | |
# macOS: https://download.qt.io/online/qtsdkrepository/mac_x64/desktop/ | |
# Windows: https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/ | |
qt-version: ['5.9.9', '5.13.2', '5.14.2', '5.15.2', '6.2.0', '6.4.2', '6.5.0'] | |
experimental: [false] | |
exclude: | |
# Failing SSL Tests | |
- os: ubuntu-latest | |
qt-version: '5.9.9' | |
# tests.exe not found | |
- os: windows-2019 | |
qt-version: '5.9.9' | |
# we want to do it with "experimental: true" | |
- os: windows-2019 | |
qt-version: '6.4.2' | |
experimental: false | |
# we want to do it with "experimental: true" | |
- os: windows-2019 | |
qt-version: '6.5.0' | |
experimental: false | |
# Qt installation times out too often | |
# - os: windows-2019 | |
# qt-version: '5.13.2' | |
# win64_mingw73 not found | |
# - os: windows-2019 | |
# qt-version: '5.15.0' | |
# # qt.conf not found (https://github.com/jurplel/install-qt-action/issues/54) | |
# - os: windows-2019 | |
# qt-version: '5.15.1' | |
# botan 32bit error | |
include: | |
# - os: ubuntu-latest | |
# qt-version: '6.3.0' | |
# experimental: true | |
# - os: macos-latest | |
# qt-version: '6.3.0' | |
# experimental: true | |
- os: windows-2019 | |
qt-version: '6.4.2' | |
experimental: true | |
- os: windows-2019 | |
qt-version: '6.5.0' | |
experimental: true | |
# Snapcraft | |
- os: ubuntu-20.04 | |
qt-version: '5.15.2' | |
experimental: false | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
# | |
# Install Qt | |
# | |
- name: Cache Qt | |
id: cache-qt | |
uses: actions/cache@v3 | |
with: | |
path: ../Qt | |
key: ${{ matrix.os }}-QtCache-${{ matrix.qt-version }}-2 | |
# https://github.com/jurplel/install-qt-action | |
- if: contains( matrix.os, 'windows') && ( matrix.qt-version == '5.9.9' ) | |
name: Install Qt 5.9 on Windows | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt-version }} | |
arch: win32_mingw53 | |
cache: ${{ steps.cache-qt.outputs.cache-hit }} | |
aqtversion: '==0.9.4' | |
- if: contains( matrix.os, 'windows') && ( ( matrix.qt-version == '5.13.2' ) || ( matrix.qt-version == '5.14.2' ) ) | |
name: Install Qt on Windows | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt-version }} | |
arch: win64_mingw73 | |
cache: ${{ steps.cache-qt.outputs.cache-hit }} | |
- if: contains( matrix.os, 'windows') && matrix.qt-version == '5.15.2' | |
name: Install Qt 5.15.2 on Windows | |
uses: jurplel/install-qt-action@v3 | |
with: | |
aqtversion: '==2.0.0' | |
version: ${{ matrix.qt-version }} | |
arch: win64_mingw81 | |
cache: ${{ steps.cache-qt.outputs.cache-hit }} | |
- if: contains( matrix.os, 'windows') && matrix.qt-version == '6.2.0' | |
name: Install Qt Qt 6.2.0 on Windows | |
uses: jurplel/install-qt-action@v3 | |
with: | |
aqtversion: '==2.0.0' | |
version: ${{ matrix.qt-version }} | |
arch: win64_mingw81 | |
modules: qtwebsockets qt5compat | |
cache: ${{ steps.cache-qt.outputs.cache-hit }} | |
- if: contains( matrix.os, 'windows') && startsWith( matrix.qt-version, '6.' ) && matrix.qt-version != '6.2.0' | |
name: Install Qt 6 on Windows | |
uses: jurplel/install-qt-action@v3 | |
with: | |
aqtversion: '==2.1.*' | |
version: ${{ matrix.qt-version }} | |
arch: win64_mingw | |
modules: qtwebsockets qt5compat | |
cache: ${{ steps.cache-qt.outputs.cache-hit }} | |
- if: false == contains( matrix.os, 'windows') && false == startsWith( matrix.qt-version, '6.' ) | |
name: Install Qt < 6 on Linux/macOS | |
uses: jurplel/install-qt-action@v3 | |
with: | |
aqtversion: '==2.0.0' | |
version: ${{ matrix.qt-version }} | |
cache: ${{ steps.cache-qt.outputs.cache-hit }} | |
- if: false == contains( matrix.os, 'windows') && startsWith( matrix.qt-version, '6.' ) | |
name: Install Qt 6 on Linux/macOS | |
uses: jurplel/install-qt-action@v3 | |
with: | |
aqtversion: '==2.0.0' | |
version: ${{ matrix.qt-version }} | |
modules: qtwebsockets qt5compat | |
cache: ${{ steps.cache-qt.outputs.cache-hit }} | |
# | |
# Do tests | |
# | |
- if: contains( matrix.os, 'ubuntu-latest') | |
name: Do Linux tests | |
run: | | |
cd ../tests && qmake CONFIG+=debug CONFIG+=DEV_MODE DEFINES+=INTEGRATION_TESTS && make -s -j 8 | |
../bin/tests/tests -platform minimal -txt | |
- if: contains( matrix.os, 'macos') | |
name: Do macOS tests | |
run: | | |
cd ../tests && qmake CONFIG+=debug CONFIG+=DEV_MODE DEFINES+=INTEGRATION_TESTS && make -s -j 8 | |
../bin/tests/tests.app/Contents/MacOS/tests -platform minimal -txt | |
- if: contains( matrix.os, 'windows') && (startsWith( matrix.qt-version, '5.' ) || matrix.qt-version == '6.2.0') | |
name: Do Qt5 / Qt 6.2.0 Windows tests | |
run: | | |
cd ..\tests | |
qmake DEFINES+=INTEGRATION_TESTS | |
make | |
copy ..\build-systems\github\windows\libcrypto-1_1-x64.dll . | |
copy ..\build-systems\github\windows\libssl-1_1-x64.dll . | |
copy ..\bin\tests\tests.exe . | |
# echo set | |
# gci env:* | sort-object name | |
# echo path | |
# echo echo $env:PATH | |
# cd ..\bin\tests | |
# echo test1 | |
# .\tests.exe -txt | |
# echo windeployqt | |
windeployqt --debug tests.exe | |
# echo test2 | |
.\tests.exe -txt | |
- if: contains( matrix.os, 'windows') && startsWith( matrix.qt-version, '6.' ) && matrix.qt-version != '6.2.0' | |
name: Do Qt 6.3+ Windows tests | |
run: | | |
cd ..\tests | |
qmake6 DEFINES+=INTEGRATION_TESTS | |
make | |
copy ..\build-systems\github\windows\libcrypto-1_1-x64.dll . | |
copy ..\build-systems\github\windows\libssl-1_1-x64.dll . | |
copy ..\bin\tests\tests.exe . | |
windeployqt --debug tests.exe | |
.\tests.exe -txt | |
# | |
# Build QOwnNotes | |
# | |
- if: true && !(contains( matrix.os, 'windows') && ( matrix.qt-version == '5.15.2' )) && !contains( matrix.os, 'ubuntu-20') | |
name: Build QOwnNotes | |
run: | | |
lrelease QOwnNotes.pro && qmake CONFIG+=debug CONFIG+=DEV_MODE && make -j 8 | |
# - if: contains( matrix.os, 'ubuntu-20') | |
# name: Build QOwnNotes Ubuntu 20.04 | |
# run: | | |
# lrelease QOwnNotes.pro && qmake CONFIG+=release && make -j 8 | |
- if: contains( matrix.os, 'ubuntu-20') | |
name: Build for Snapcraft | |
uses: snapcore/action-build@v1 | |
# | |
# Build QOwnNotes Windows Release and store it as artifact | |
# | |
- if: contains( matrix.os, 'windows') && ( matrix.qt-version == '5.15.2' ) | |
name: Build QOwnNotes Windows Release | |
run: '& ..\build-systems\github\windows\build-zip.ps1' | |
- if: contains( matrix.os, 'windows') && ( matrix.qt-version == '5.15.2' ) | |
uses: actions/upload-artifact@v3 | |
with: | |
name: QOwnNotes-Windows | |
path: QOwnNotes.zip |