From f89169ccb8651613e5c97bd7db62a0d10e969e97 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Sat, 21 Nov 2020 14:25:16 +0100 Subject: Retire Travis CI Migrate Windows docker job to GitHub actions and remove .travis.yml Change-Id: I7f2ee5a6f27ded94a84550982c2c9fe404fe7475 Reviewed-by: Christian Kandeler --- .github/workflows/main.yml | 43 +++++++++++++++++++ .travis.yml | 103 --------------------------------------------- docker-compose.yml | 1 + qbs.qbs | 1 - 4 files changed, 44 insertions(+), 104 deletions(-) delete mode 100644 .travis.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c155ad26e..52ba5e372 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -218,6 +218,49 @@ jobs: name: qbs-windows-${{ github.run_id }}.zip path: release/qbs-windows-${{ github.run_id }}.zip + build-windows-with-docker: + name: Build on Windows (Docker) + runs-on: windows-latest + timeout-minutes: 45 + env: + WITH_TESTS: 0 + QT_ASSUME_STDERR_HAS_CONSOLE: 1 + CLCACHE_DIR: C:\.ccache + steps: + - uses: actions/checkout@v1 + - name: Create .ccache dir + run: mkdir -p ~/.ccache + shell: bash + - name: prepare timestamp + id: get-timestamp + run: echo ::set-output name=timestamp::$(date -u +"%Y-%m-%dT%H:%M:%SZ") + shell: bash + - name: clcache cache files + uses: actions/cache@v2 + with: + path: ~/.ccache + key: ${{ runner.os }}-msvc-docker-clcache-${{ steps.get-timestamp.outputs.timestamp }} + restore-keys: ${{ runner.os }}-msvc-docker-clcache- + - name: Pull the Windows Image + run: docker-compose pull windows + - name: Print clcache stats + run: docker-compose run --rm windows clcache -s + - name: Build Qbs + run: > + docker-compose run --rm windows qbs build + -p dist + qbs.buildVariant:release + modules.cpp.compilerWrapper:clcache + modules.qbsbuildconfig.enableBundledQt:true + modules.qbsbuildconfig.enableProjectFileUpdates:true + modules.qbsbuildconfig.enableUnitTests:true + modules.cpp.treatWarningsAsErrors:true + project.withDocumentation:true + config:release-64 profile:qt64 + config:release profile:qt + - name: Print clcache stats + run: docker-compose run --rm windows clcache -s + test-linux: name: ${{ matrix.config.name }} runs-on: ubuntu-latest diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index f085cb7ab..000000000 --- a/.travis.yml +++ /dev/null @@ -1,103 +0,0 @@ -# -# Required environment variables in the travis config -# -# DOCKER_USERNAME -# -language: cpp - -git: - submodules: false - -env: - global: - - QT_INSTALL_DIR=~/Qt - - QT_VERSION=5.15.0 - - QTCREATOR_VERSION=4.13.3 - - QTEST_FUNCTION_TIMEOUT=9000000 - -cache: - directories: - - ${QT_INSTALL_DIR} - - ~/.ccache - -stages: - - name: Build Qbs and and run autotests - -jobs: - include: - - &build-on-macos - stage: Build Qbs and and run autotests - name: With Qbs on macOS (xcode 11.5) - os: osx - osx_image: xcode11.5 - addons: - homebrew: - packages: - - capnp - - ccache - - grpc - - icoutils - - makensis - - protobuf - - python3 - - p7zip - update: true - env: - # Address sanitizer slows autotests down too much. - # We would hit the maximum build time on Travis. - BUILD_OPTIONS="modules.qbsbuildconfig.enableAddressSanitizer:false modules.cpp.compilerWrapper:ccache modules.qbs.debugInformation:true" - QMAKE_PATH=${QT_INSTALL_DIR}/${QT_VERSION}/clang_64/bin/qmake - PATH="${QT_INSTALL_DIR}/Qt Creator.app/Contents/MacOS:${PATH}" - QBS_BUILD_PROFILE=qt - before_install: - - ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version ${QT_VERSION} qtbase qtdeclarative qttools qtscript qtscxml - - ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version ${QTCREATOR_VERSION} qtcreator - # Hack to workaround the BinaryProbe bug - it prefers /usr/bin/python3 to the one found in PATH - # Older macs, however, do not have python3 in /usr/bin - - /usr/bin/python3 -m pip install --user beautifulsoup4 lxml || python3 -m pip install --user beautifulsoup4 lxml - before_script: - - ulimit -c unlimited -S # enable core dumps - script: - - ccache -s - - qbs setup-toolchains --detect - - qbs setup-qt ${QMAKE_PATH} qt - - qbs config profiles.qt.baseProfile xcode-macosx-x86_64 - - qbs config defaultProfile qt - - qbs config --list profiles - - scripts/build-qbs-with-qbs.sh - - ccache -s - # Find core dump and print traceback on failure - after_failure: - - | - for f in $(find /cores -maxdepth 1 -name 'core.*' -print); do - lldb --core $f --batch --one-line "bt" - done; - - - &build-on-windows-with-docker - stage: Build Qbs and and run autotests - name: With Qbs on Windows with Docker (Visual Studio 2017) - if: NOT branch =~ ^gerrit - os: windows - services: docker - env: - CLCACHE_DIR="${HOME}/.ccache" - before-install: - - curl -sLo "/c/Program Files/Docker/docker-compose.exe" https://github.com/docker/compose/releases/download/1.25.3/docker-compose-Windows-x86_64.exe - - docker-compose pull windows - before_script: - - docker-compose run --rm windows clcache -s - script: - - > - docker-compose run --rm windows qbs build - -p dist - qbs.buildVariant:release - modules.cpp.compilerWrapper:clcache - modules.qbsbuildconfig.enableBundledQt:true - modules.qbsbuildconfig.enableProjectFileUpdates:true - modules.qbsbuildconfig.enableUnitTests:true - modules.cpp.treatWarningsAsErrors:true - project.withDocumentation:true - config:release-64 profile:qt64 - config:release profile:qt - after_script: - - docker-compose run --rm windows clcache -s diff --git a/docker-compose.yml b/docker-compose.yml index 45424a35c..ef53a0fb0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,6 +9,7 @@ x-default-service: &linux - QBS_TEST_SOURCE_ROOT - WITH_ARCHIVE - WITH_TESTS + - CLCACHE_DIR volumes: - .:/qbs - ~/.ccache:/home/devel/.ccache diff --git a/qbs.qbs b/qbs.qbs index 36b5e2277..a53729e21 100644 --- a/qbs.qbs +++ b/qbs.qbs @@ -62,7 +62,6 @@ Project { Product { name: "continuous integration files" files: [ - ".travis.yml", ".clang-tidy", "docker-compose.yml", ".github/**/*.yml", -- cgit v1.2.3