aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/main.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/main.yml')
-rw-r--r--.github/workflows/main.yml115
1 files changed, 109 insertions, 6 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 953f19949..6d0bfad56 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -62,17 +62,20 @@ jobs:
- {
name: 'Build on Linux (clang_tidy)',
script: './scripts/run-analyzer.sh',
+ image: 'focal',
options: 'profile:qt-clang_64 modules.cpp.compilerWrapper:ccache',
cacheid: 'clang',
}
- {
name: 'Build on Linux (CMake)',
script: './scripts/build-qbs-with-cmake.sh',
+ image: 'focal-qt6',
cacheid: 'cmake',
}
- {
name: 'Build on Linux (QMake)',
script: './scripts/build-qbs-with-qmake.sh',
+ image: 'focal',
options: 'CONFIG+=ccache',
cacheid: 'qmake',
}
@@ -81,6 +84,8 @@ jobs:
QTEST_FUNCTION_TIMEOUT: 9000000
steps:
- uses: actions/checkout@v1
+ with:
+ submodules: true
- name: Create .ccache dir
run: mkdir -p ~/.ccache
- name: prepare timestamp
@@ -93,13 +98,13 @@ jobs:
key: ${{ runner.os }}-${{ matrix.config.cacheid }}-ccache-${{ steps.get-timestamp.outputs.timestamp }}
restore-keys: ${{ runner.os }}-${{ matrix.config.cacheid }}-ccache-
- name: Pull the Focal Image
- run: docker-compose pull focal
+ run: docker-compose pull ${{ matrix.config.image }}
- name: Print ccache stats
- run: docker-compose run focal ccache -s
+ run: docker-compose run ${{ matrix.config.image }} ccache -s
- name: Build Qbs
- run: docker-compose run focal ${{ matrix.config.script }}
+ run: docker-compose run ${{ matrix.config.image }} ${{ matrix.config.script }}
- name: Print ccache stats
- run: docker-compose run focal ccache -s
+ run: docker-compose run ${{ matrix.config.image }} ccache -s
build-macos:
name: Build on macOS
@@ -137,8 +142,6 @@ jobs:
toolchain: clang_64
- name: Install Qt Creator
uses: ./.github/actions/download-qtc
- with:
- version: 4.13.2
- name: Setup Qbs
run: |
qbs setup-toolchains --detect
@@ -165,6 +168,7 @@ jobs:
env:
BUILD_OPTIONS: |
modules.cpp.compilerWrapper:clcache
+ modules.qbs.debugInformation:true
modules.qbsbuildconfig.enableAddressSanitizer:false
modules.qbsbuildconfig.enableBundledQt:true
products.qbs_archive.targetName:qbs-windows-${{ github.run_id }}
@@ -218,6 +222,71 @@ jobs:
name: qbs-windows-${{ github.run_id }}.zip
path: release/qbs-windows-${{ github.run_id }}.zip
+ build-windows-mingw:
+ name: Build on Windows (MinGW)
+ runs-on: windows-latest
+ timeout-minutes: 60
+ env:
+ BUILD_OPTIONS: |
+ modules.cpp.compilerWrapper:ccache
+ modules.qbsbuildconfig.enableAddressSanitizer:false
+ modules.qbsbuildconfig.enableBundledQt:true
+ products.qbs_archive.targetName:qbs-windows-mingw-${{ github.run_id }}
+ products.qbs_archive.includeTests:true,
+ QT_ASSUME_STDERR_HAS_CONSOLE: 1
+ WITH_TESTS: 0
+ CCACHE_DIR: ${{ github.workspace }}\ccache
+ steps:
+ - uses: actions/checkout@v1
+ - name: prepare timestamp
+ id: get-timestamp
+ run: echo ::set-output name=timestamp::$(date -u +"%Y-%m-%dT%H:%M:%SZ")
+ shell: bash
+ - name: ccache cache files
+ uses: actions/cache@v2
+ with:
+ path: ${{ github.workspace }}/ccache
+ key: ${{ runner.os }}-mingw-ccache-${{ steps.get-timestamp.outputs.timestamp }}
+ restore-keys: ${{ runner.os }}-mingw-ccache-
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v2
+ with:
+ python-version: 3.8
+ - name: Install required packages
+ run: |
+ choco install ccache
+ python -m pip install --upgrade pip
+ pip install beautifulsoup4 lxml
+ - name: Install Qt
+ uses: ./.github/actions/download-qt
+ with:
+ toolchain: win64_mingw81
+ - name: Install Qt Creator
+ uses: ./.github/actions/download-qtc
+ - name: Install MinGW
+ uses: ./.github/actions/download-mingw
+ - name: Setup Qbs
+ run: |
+ qbs setup-toolchains --detect
+ qbs setup-toolchains --type mingw $(which g++).exe mingw-qt
+ qbs setup-qt $(which qmake).exe qt
+ qbs config profiles.qt.baseProfile mingw-qt
+ qbs config defaultProfile qt
+ qbs config --list
+ shell: bash
+ - name: Print ccache stats
+ run: ccache -s
+ - name: Build Qbs
+ run: scripts/build-qbs-with-qbs.sh
+ shell: bash
+ - name: Print ccache stats
+ run: ccache -s
+ - name: Upload artifacts
+ uses: 'actions/upload-artifact@v2'
+ with:
+ name: qbs-windows-mingw-${{ github.run_id }}.zip
+ path: release/qbs-windows-mingw-${{ github.run_id }}.zip
+
test-linux:
name: ${{ matrix.config.name }}
runs-on: ubuntu-latest
@@ -264,6 +333,12 @@ jobs:
script: './scripts/test-qt-for-android.sh',
}
- {
+ name: 'Run Android tests (Qt 6.0.0)',
+ image: 'focal-android-600',
+ profile: '',
+ script: './scripts/test-qt-for-android.sh',
+ }
+ - {
name: 'Run Linux tests (Qt 4.8.7)',
image: 'focal-qt4',
profile: '',
@@ -328,9 +403,11 @@ jobs:
runs-on: [self-hosted, windows, x64]
timeout-minutes: 30
needs: build-windows
+ if: ${{ github.actor == 'rweickelt' }}
env:
QBS_TEST_SOURCE_ROOT: 'tests'
QT_ASSUME_STDERR_HAS_CONSOLE: 1
+ QTEST_FUNCTION_TIMEOUT: 9000000
steps:
- uses: actions/checkout@v1
- name: Download artifact
@@ -455,6 +532,21 @@ jobs:
- name: rx-elf-gcc-8_3_0_202004-GNURX
run: QBS_AUTOTEST_PROFILE=rx-elf-gcc-8_3_0_202004-GNURX scripts/test-baremetal.sh release/install-root/bin
shell: bash
+ - name: cosmic-4_3_11-arm
+ run: QBS_AUTOTEST_PROFILE=cosmic-4_3_11-arm scripts/test-baremetal.sh release/install-root/bin
+ shell: bash
+ - name: cosmic-4_5_2-stm8
+ run: QBS_AUTOTEST_PROFILE=cosmic-4_5_2-stm8 scripts/test-baremetal.sh release/install-root/bin
+ shell: bash
+ - name: cosmic-4_6_3-hcs8
+ run: QBS_AUTOTEST_PROFILE=cosmic-4_6_3-hcs8 scripts/test-baremetal.sh release/install-root/bin
+ shell: bash
+ - name: cosmic-4_8_11-hcs12
+ run: QBS_AUTOTEST_PROFILE=cosmic-4_8_11-hcs12 scripts/test-baremetal.sh release/install-root/bin
+ shell: bash
+ - name: cosmic-4_1_0-m68k
+ run: QBS_AUTOTEST_PROFILE=cosmic-4_1_0-m68k scripts/test-baremetal.sh release/install-root/bin
+ shell: bash
test-macos:
name: ${{ matrix.config.name }}
@@ -590,6 +682,14 @@ jobs:
qtVersion: '5.15.2',
script: './scripts/test-qbs.sh',
}
+ - {
+ name: 'Run Windows tests (MinGW)',
+ target: 'desktop',
+ toolchain: 'win64_mingw81',
+ testProfile: 'mingw-qt',
+ qtVersion: '5.15.2',
+ script: './scripts/test-qbs.sh',
+ }
env:
QTEST_FUNCTION_TIMEOUT: 9000000
QBS_AUTOTEST_PROFILE: 'qt'
@@ -617,9 +717,12 @@ jobs:
with:
toolchain: ${{ matrix.config.toolchain }}
version: ${{ matrix.config.qtVersion }}
+ - name: Install MinGW
+ uses: ./.github/actions/download-mingw
- name: Setup Qbs
run: |
qbs setup-toolchains --detect
+ qbs setup-toolchains --type mingw $(which g++).exe mingw-qt
qbs setup-qt $(which qmake).exe qt
qbs config profiles.qt.baseProfile ${{ matrix.config.testProfile }}
qbs config defaultProfile qt