Revert "Add github actions to build qmlls binaries"

This reverts commit 1f426268ad973f36e1a0265ffcfc05bccb453a86.

Reason for revert: After all, it seems to be cleaner to have a separate
repository that only contains the workflow. Also, its confusing for a
user to see that the qt5 repos only has builds of one tool instead
of the entire Qt library, and if we do add releases on github then it
would get really confusing to mix qmlls and Qt library releases together
on the same repo.

Change-Id: I17ccb1036f17fa80efab3509b8f9d2a245755958
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
This commit is contained in:
Sami Shalayel 2024-10-01 12:42:20 +00:00
parent 21e8dd696b
commit c6dc61e30c

View File

@ -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