diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/docs.yml | 6 | ||||
-rw-r--r-- | .github/workflows/main.yml | 106 | ||||
-rw-r--r-- | .github/workflows/release.yml | 55 |
3 files changed, 104 insertions, 63 deletions
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 248baf5f7..d820a03aa 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -27,10 +27,10 @@ jobs: WITH_TESTS: 0 steps: - uses: actions/checkout@v1 - - name: Pull the Focal Image - run: docker-compose pull focal + - name: Pull the Docker Image + run: docker-compose pull jammy - name: Build Qbs Docs - run: docker-compose run focal ${{ matrix.config.script }} + run: docker-compose run jammy ${{ matrix.config.script }} - name: Upload artifacts uses: 'actions/upload-artifact@v2' with: diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 20e936d8d..f91be2695 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,13 +36,14 @@ jobs: run: mkdir -p ~/.ccache - name: prepare timestamp id: get-timestamp - run: echo ::set-output name=timestamp::$(date -u +"%Y-%m-%dT%H:%M:%SZ") + run: echo "timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_OUTPUT + shell: bash - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.ccache key: ${{ runner.os }}-${{ matrix.config.cacheid }}-ccache-${{ steps.get-timestamp.outputs.timestamp }} - restore-keys: ${{ runner.os }}-${{ matrix.config.cacheid }}-ccache- + restore-keys: ${{ runner.os }}-${{ matrix.config.cacheid }}-ccache - name: Pull the Docker Image run: docker-compose pull ${{ matrix.config.image }} - name: Print ccache stats @@ -52,7 +53,7 @@ jobs: - name: Print ccache stats run: docker-compose run ${{ matrix.config.image }} ccache -s - name: Upload artifacts - uses: 'actions/upload-artifact@v2' + uses: 'actions/upload-artifact@v4' with: name: qbs-${{ matrix.config.suffix }}-${{ github.run_id }}.tar.gz path: release/qbs-${{ matrix.config.suffix }}-${{ github.run_id }}.tar.gz @@ -116,13 +117,14 @@ jobs: run: mkdir -p ~/.ccache - name: prepare timestamp id: get-timestamp - run: echo ::set-output name=timestamp::$(date -u +"%Y-%m-%dT%H:%M:%SZ") + run: echo "timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_OUTPUT + shell: bash - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.ccache key: ${{ runner.os }}-${{ matrix.config.cacheid }}-ccache-${{ steps.get-timestamp.outputs.timestamp }} - restore-keys: ${{ runner.os }}-${{ matrix.config.cacheid }}-ccache- + restore-keys: ${{ runner.os }}-${{ matrix.config.cacheid }}-ccache - name: Pull the Docker Image run: docker-compose pull ${{ matrix.config.image }} - name: Print ccache stats @@ -167,13 +169,14 @@ jobs: run: mkdir -p ~/.ccache - name: prepare timestamp id: get-timestamp - run: echo ::set-output name=timestamp::$(date -u +"%Y-%m-%dT%H:%M:%SZ") + run: echo "timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_OUTPUT + shell: bash - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.ccache - key: ${{ runner.os }}-ccache-${{ steps.get-timestamp.outputs.timestamp }} - restore-keys: ${{ runner.os }}-ccache- + key: ${{ runner.os }}-clang-ccache-${{ steps.get-timestamp.outputs.timestamp }} + restore-keys: ${{ runner.os }}-clang-ccache - name: Install required packages run: | brew install ccache p7zip @@ -198,7 +201,7 @@ jobs: - name: Print ccache stats run: ccache -s - name: Upload artifacts - uses: 'actions/upload-artifact@v2' + uses: 'actions/upload-artifact@v4' with: name: qbs-macos-${{ github.run_id }}.tar.gz path: release/qbs-macos-${{ github.run_id }}.tar.gz @@ -221,16 +224,28 @@ jobs: - uses: actions/checkout@v1 - name: prepare timestamp id: get-timestamp - run: echo ::set-output name=timestamp::$(date -u +"%Y-%m-%dT%H:%M:%SZ") + run: echo "timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_OUTPUT shell: bash - name: clcache cache files - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/clcache key: ${{ runner.os }}-msvc-clcache-${{ steps.get-timestamp.outputs.timestamp }} - restore-keys: ${{ runner.os }}-msvc-clcache- - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + restore-keys: ${{ runner.os }}-msvc-clcache + - name: Install Conan + run: | + choco install conan + choco install ninja + echo "C:\\Program Files\\conan\\conan" >> $GITHUB_PATH + echo "C:\\ProgramData\\chocolatey\\lib\\ninja\\tools" >> $GITHUB_PATH + shell: bash + - name: Configure Conan + run: | + conan config install src/conan/ + ./scripts/setup-conan-profiles.sh + shell: bash + - name: Set up Python + uses: actions/setup-python@v5 with: python-version: 3.8 - name: Install required packages @@ -260,7 +275,7 @@ jobs: - name: Print clcache stats run: clcache -s - name: Upload artifacts - uses: 'actions/upload-artifact@v2' + uses: 'actions/upload-artifact@v4' with: name: qbs-windows-${{ github.run_id }}.zip path: release/qbs-windows-${{ github.run_id }}.zip @@ -283,16 +298,16 @@ jobs: - uses: actions/checkout@v1 - name: prepare timestamp id: get-timestamp - run: echo ::set-output name=timestamp::$(date -u +"%Y-%m-%dT%H:%M:%SZ") + run: echo "timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_OUTPUT shell: bash - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v4 with: - path: ${{ github.workspace }}/ccache + path: ~/.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 + restore-keys: ${{ runner.os }}-mingw-ccache + - name: Set up Python + uses: actions/setup-python@v5 with: python-version: 3.8 - name: Install required packages @@ -324,7 +339,7 @@ jobs: - name: Print ccache stats run: ccache -s - name: Upload artifacts - uses: 'actions/upload-artifact@v2' + uses: 'actions/upload-artifact@v4' with: name: qbs-windows-mingw-${{ github.run_id }}.zip path: release/qbs-windows-mingw-${{ github.run_id }}.zip @@ -423,7 +438,7 @@ jobs: steps: - uses: actions/checkout@v1 - name: Download artifact - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4 with: name: qbs-${{ matrix.config.suffix }}-${{ github.run_id }}.tar.gz path: ./ @@ -444,7 +459,7 @@ jobs: steps: - uses: actions/checkout@v1 - name: Download artifact - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4 with: name: qbs-linux-jammy-${{ github.run_id }}.tar.gz path: ./ @@ -483,7 +498,7 @@ jobs: steps: - uses: actions/checkout@v1 - name: Download artifact - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4 with: name: qbs-windows-${{ github.run_id }}.zip path: ./ @@ -700,14 +715,14 @@ jobs: target: 'desktop', toolchain: 'clang_64', xcodeVersion: '', - testProfile: 'xcode_13_4_1-macosx-x86_64', + testProfile: 'clang', qtVersion: '6.5.0', script: './scripts/test-qbs.sh', } steps: - uses: actions/checkout@v1 - name: Download artifact - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4 with: name: qbs-macos-${{ github.run_id }}.tar.gz path: ./ @@ -717,6 +732,13 @@ jobs: run: echo "./release/install-root/usr/local/bin" >> $GITHUB_PATH - name: Install required packages run: brew install capnp ccache grpc icoutils makensis protobuf p7zip + - name: Install Conan + if: matrix.config.toolchain == 'clang_64' + run: | + brew install ninja + brew install conan + conan config install src/conan/ + ./scripts/setup-conan-profiles.sh - name: Install Host Qt if: matrix.config.toolchain == 'ios' uses: ./.github/actions/download-qt @@ -810,7 +832,7 @@ jobs: steps: - uses: actions/checkout@v1 - name: Download artifact - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4 with: name: qbs-windows-${{ github.run_id }}.zip path: ./ @@ -832,6 +854,26 @@ jobs: version: ${{ matrix.config.qtVersion }} - name: Install MinGW uses: ./.github/actions/download-mingw + - name: Install Ninja + if: matrix.config.toolchain == 'win64_msvc2019_64' + run: | + choco install ninja + echo "C:\\ProgramData\\chocolatey\\lib\\ninja\\tools" >> $GITHUB_PATH + shell: bash + - name: Install Conan + if: matrix.config.toolchain == 'win64_msvc2019_64' + run: | + choco install conan + choco install ninja + echo "C:\\Program Files\\conan\\conan" >> $GITHUB_PATH + echo "C:\\ProgramData\\chocolatey\\lib\\ninja\\tools" >> $GITHUB_PATH + shell: bash + - name: Configure Conan + if: matrix.config.toolchain == 'win64_msvc2019_64' + run: | + conan config install src/conan/ + ./scripts/setup-conan-profiles.sh + shell: bash - name: Setup Qbs run: | qbs setup-toolchains --detect @@ -913,7 +955,7 @@ jobs: steps: - uses: actions/checkout@v1 - name: Download artifact - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4 with: name: qbs-windows-${{ github.run_id }}.zip path: ./ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 664af4768..168518385 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,30 +35,29 @@ jobs: - uses: actions/checkout@v1 - name: Create .ccache dir run: mkdir -p ~/.ccache - - name: test - run: echo ${{ github.ref }} - name: prepare timestamp id: get-timestamp - run: echo ::set-output name=timestamp::$(date -u +"%Y-%m-%dT%H:%M:%SZ") + run: echo "timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_OUTPUT + shell: bash - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.ccache 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 + restore-keys: ${{ runner.os }}-${{ matrix.config.cacheid }}-ccache + - name: Pull the Docker Image + run: docker-compose pull jammy-qt6 - name: Print ccache stats - run: docker-compose run focal ccache -s + run: docker-compose run jammy-qt6 ccache -s - name: Build Qbs - run: docker-compose run focal ${{ matrix.config.script }} + run: docker-compose run jammy-qt6 ${{ matrix.config.script }} - name: Print ccache stats - run: docker-compose run focal ccache -s + run: docker-compose run jammy-qt6 ccache -s - name: Get archive name id: get-archive-name - run: echo ::set-output name=archive-name::$(git describe) + run: echo "archive-name=$(git describe)" >> $GITHUB_OUTPUT - name: Upload artifacts - uses: 'actions/upload-artifact@v2' + uses: 'actions/upload-artifact@v4' with: name: qbs-linux-${{ github.run_id }}.tar.gz path: release/qbs-linux-${{ github.run_id }}.tar.gz @@ -83,13 +82,14 @@ jobs: run: mkdir -p ~/.ccache - name: prepare timestamp id: get-timestamp - run: echo ::set-output name=timestamp::$(date -u +"%Y-%m-%dT%H:%M:%SZ") + run: echo "timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_OUTPUT + shell: bash - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.ccache key: ${{ runner.os }}-release-ccache-${{ steps.get-timestamp.outputs.timestamp }} - restore-keys: ${{ runner.os }}-release-ccache- + restore-keys: ${{ runner.os }}-release-ccache - name: Install required packages run: | brew install ccache p7zip @@ -114,7 +114,7 @@ jobs: - name: Print ccache stats run: ccache -s - name: Upload artifacts - uses: 'actions/upload-artifact@v2' + uses: 'actions/upload-artifact@v4' with: name: qbs-macos-${{ github.run_id }}.tar.gz path: release/qbs-macos-${{ github.run_id }}.tar.gz @@ -134,14 +134,14 @@ jobs: shell: bash - name: prepare timestamp id: get-timestamp - run: echo ::set-output name=timestamp::$(date -u +"%Y-%m-%dT%H:%M:%SZ") + run: echo "timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_OUTPUT shell: bash - name: clcache cache files - uses: actions/cache@v2 + uses: actions/cache@v4 with: - path: ~/.ccache + path: ~/clcache key: ${{ runner.os }}-release-msvc-docker-clcache-${{ steps.get-timestamp.outputs.timestamp }} - restore-keys: ${{ runner.os }}-release-msvc-docker-clcache- + restore-keys: ${{ runner.os }}-release-msvc-docker-clcache - name: Pull the Windows Image run: docker-compose pull windows - name: Print clcache stats @@ -162,10 +162,9 @@ jobs: run: docker-compose run --rm windows clcache -s - name: Get archive name id: get-archive-name - run: echo ::set-output name=archive-name::$(git describe) - shell: bash + run: echo "archive-name=$(git describe)" >> $GITHUB_OUTPUT - name: Upload artifacts - uses: 'actions/upload-artifact@v2' + uses: 'actions/upload-artifact@v4' with: name: qbs-windows-${{ github.run_id }} path: | @@ -182,7 +181,7 @@ jobs: submodules: true - name: Get version name id: get-version-name - run: echo ::set-output name=version-name::$(cat VERSION) + run: echo "version-name=$(cat VERSION)" >> $GITHUB_OUTPUT - name: Create directories run: | mkdir release @@ -198,7 +197,7 @@ jobs: cd tmp/ tar czf ../release/qbs-src-${{ steps.get-version-name.outputs.version-name }}.tar.gz qbs-src-${{ steps.get-version-name.outputs.version-name }} - name: Download Linux artifacts - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4 with: name: qbs-linux-${{ github.run_id }}.tar.gz path: ./tmp @@ -209,7 +208,7 @@ jobs: cd tmp/ tar czf ../release/qbs-linux-x86_64-${{ steps.get-version-name.outputs.version-name }}.tar.gz qbs-linux-x86_64-${{ steps.get-version-name.outputs.version-name }} - name: Download Windows artifacts - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4 with: name: qbs-windows-${{ github.run_id }} path: ./tmp/release @@ -226,9 +225,9 @@ jobs: find . -type f -printf '%f\n' | grep -v .txt | xargs sha256sum > sha256sums.txt - name: Get archive name id: get-archive-name - run: echo ::set-output name=archive-name::$(git describe) + run: echo "archive-name=$(git describe)" >> $GITHUB_OUTPUT - name: Upload artifacts - uses: 'actions/upload-artifact@v2' + uses: 'actions/upload-artifact@v4' with: name: qbs-release-${{ steps.get-archive-name.outputs.archive-name }} path: | |