diff --git a/.github/workflows/build_qmlls.yaml b/.github/workflows/build_qmlls.yaml deleted file mode 100644 index 465c6cfb..00000000 --- a/.github/workflows/build_qmlls.yaml +++ /dev/null @@ -1,180 +0,0 @@ -name: Build qmlls - -on: - # release nightly on schedule - schedule: - - cron: '0 2 * * 1,3,5' - # also release nightly on manual trigger - workflow_dispatch: - # release "real" release when a qmlls tag is pushed to dev - push: - branches: - - 'dev' - tags: - - 'qmlls-*' - -defaults: - run: - shell: bash - -jobs: - build: - strategy: - fail-fast: false - matrix: - include: - - name: ubuntu - os: ubuntu-latest - deps: libgl-dev libglu-dev 'libxcb*-dev' libx11-xcb-dev libxkbcommon-x11-dev libb2-dev libdouble-conversion-dev - tools: ccache - install_cmd: sudo apt-get -y install - configure_flags: -xcb - - name: macos - os: macos-latest - deps: - tools: ccache - install_cmd: HOMEBREW_NO_INSTALL_CLEANUP=1 brew install - - name: windows - os: windows-latest - install_cmd: choco install - install_cmd_postfix: --yes --no-progress - tools: ccache - configure_flags: -no-feature-sql-psql -no-feature-sql-mysql -no-feature-sql-odbc - runs-on: ${{ matrix.os }} - - steps: - - uses: lukka/get-cmake@latest - - - name: prepare Linux - if: runner.os == 'Linux' - run: | - sudo apt-get update - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100 - - name: prepare macOS - if: runner.os == 'macOS' - run: echo noop - - name: prepare Windows - if: runner.os == 'Windows' - shell: cmd - run: | - call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat" - set >> "%GITHUB_ENV%" - - - uses: actions/checkout@v4 - with: - path: source - - - name: restore ccache - uses: actions/cache@v4 - with: - path: ${{ runner.temp }}/ccache - key: ccache-${{ matrix.os }} - - - name: install build dependencies - run: ${{ matrix.install_cmd }} ${{ matrix.deps }} ${{ matrix.install_cmd_postfix }} - if: matrix.deps != '' - - name: install compiler tools - run: ${{ matrix.install_cmd }} ${{ matrix.tools }} ${{ matrix.install_cmd_postfix }} - - name: configure ccache - run: | - ccache --set-config sloppiness=file_macro,time_macros - ccache --set-config cache_dir='${{ runner.temp }}'/ccache - ccache --set-config compression=true - ccache --set-config max_size=1G - - - name: initialize subrepositories - working-directory: source - run: ./init-repository --module-subset=qtdeclarative --mirror="https://code.qt.io/qt/" - - - name: set qtdeclarative to dev and set dependencies via dependencies.yaml - working-directory: source - run: cmake -DSYNC_TO_MODULE="qtdeclarative" -DSYNC_TO_BRANCH="dev" -P cmake/QtSynchronizeRepo.cmake - - - name: configure and build - run: | - mkdir build - cd build - ../source/configure -force-debug-info -ccache -no-pch -release -static \ - -force-bundled-libs -submodules qtdeclarative -nomake tests -nomake examples \ - -prefix '${{ runner.temp }}'/install_dir ${{ matrix.configure_flags }} - ninja qmlls - - - name: Get current SHA - id: vars - working-directory: source/qtdeclarative - run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - - - name: Create info file - run: | - echo -e "commit: ${{ steps.vars.outputs.sha_short }}\nbuild: $(date +"%Y-%m-%dT%H:%M:%SZ")" \ - > info.txt - - # workaround because -separate-debug-info is not supported in static builds - # note: msvc on windows separates the debug info, no need to strip by hand - - name: Stripping qmlls binary on linux - if: matrix.name == 'ubuntu' - run: | - objcopy --only-keep-debug ./build/qtbase/bin/qmlls ./build/qtbase/bin/qmlls.dbg - strip ./build/qtbase/bin/qmlls - objcopy --add-gnu-debuglink=./build/qtbase/bin/qmlls.dbg ./build/qtbase/bin/qmlls - - - name: Stripping qmlls binary on mac - if: matrix.name == 'macos' - run: | - dsymutil ./build/qtbase/bin/qmlls -o ./build/qtbase/bin/qmlls.dSYM - strip ./build/qtbase/bin/qmlls - - - name: Zip build files in archive - run: 7z a qmlls-${{ matrix.name }}-${{ steps.vars.outputs.sha_short }}.7z ./build/qtbase/bin/qmlls* info.txt - - - name: Upload archive - uses: actions/upload-artifact@v4 - with: - path: qmlls-${{ matrix.name }}-${{ steps.vars.outputs.sha_short }}.7z - name: qmlls-${{ matrix.name }}-${{ steps.vars.outputs.sha_short }}.7z - - release: - permissions: - contents: write - runs-on: ubuntu-latest - needs: build - - steps: - - uses: actions/checkout@v4 - with: - repository: qt/qtdeclarative - path: source - - - name: Get current SHA - id: vars - working-directory: source - run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - - - name: Download artifacts - id: downloaded_artifacts - uses: actions/download-artifact@v4 - with: - path: release - - - name: Create nightly release - if: ${{ ! contains(github.ref, 'tags/qmlls-') }} - uses: softprops/action-gh-release@v2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: qmlls-nightly-${{ steps.vars.outputs.sha_short }} - draft: false - prerelease: true - files: release/*/*.7z - - - name: Create release - if: ${{ contains(github.ref, 'tags/qmlls-') && !contains(github.ref, 'nightly') }} - uses: softprops/action-gh-release@v2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - # note: use default tag_name - draft: true - prerelease: false - files: release/*/*.7z