Skip to content

fix misplaced LineOffset and LineGapWidth (#3840) #6486

fix misplaced LineOffset and LineGapWidth (#3840)

fix misplaced LineOffset and LineGapWidth (#3840) #6486

Workflow file for this run

name: qt-ci
on:
workflow_dispatch:
push:
branches:
- main
- qt-*.*.x
tags:
- "qt-**"
paths:
- CMakeLists.txt
- ".github/actions/qt5-build/**"
- ".github/actions/qt6-build/**"
- ".github/workflows/qt-ci.yml"
- "bin/**"
- "expression-test/**"
- "include/**"
- "metrics/**"
- "platform/default/**"
- "platform/qt/**"
- "render-test/**"
- "scripts/**"
- "src/**"
- "test/**"
- "vendor/**"
- ".gitmodules"
- "!**/*.md"
pull_request:
branches:
- "*"
paths:
- CMakeLists.txt
- ".github/actions/qt5-build/**"
- ".github/actions/qt6-build/**"
- ".github/workflows/qt-ci.yml"
- "bin/**"
- "expression-test/**"
- "include/**"
- "metrics/**"
- "platform/default/**"
- "platform/qt/**"
- "render-test/**"
- "scripts/**"
- "src/**"
- "test/**"
- "vendor/**"
- ".gitmodules"
- "!**/*.md"
concurrency:
# cancel jobs on PRs only
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
build:
strategy:
matrix:
include:
- name: Linux_GCC14
os: ubuntu-24.04
build_type: RelWithDebInfo
qt_version: 6.9.1
qt_target: desktop
compiler: "gcc-14"
- name: macOS
os: macos-14
build_type: RelWithDebInfo
qt_version: 6.9.1
qt_target: desktop
deployment_target: 12.0
deployment_arch: "x86_64;arm64"
compiler: ""
- name: macOS_LLVM
os: macos-14
build_type: RelWithDebInfo
qt_version: 6.9.1
qt_target: desktop
deployment_target: 12.0
deployment_arch: "arm64"
compiler: "llvm"
- name: win64_msvc2022
os: windows-2022
build_type: "RelWithDebInfo"
compiler_type: x64
qt_version: 6.9.1
qt_target: desktop
qt_arch: win64_msvc2022_64
qt_tools: ""
runs-on: ${{ matrix.os }}
env:
BUILD_TYPE: ${{ matrix.build_type }}
COMPILER_TYPE: ${{ matrix.compiler_type }}
DEPLOYMENT_TARGET: ${{ matrix.deployment_target }}
DEPLOYMENT_ARCH: ${{ matrix.deployment_arch }}
QT_VERSION: ${{ matrix.qt_version }}
steps:
- if: runner.os == 'Windows'
run: git config --global core.longpaths true
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4
with:
path: source
submodules: recursive
persist-credentials: false
- name: Install test dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install \
libxkbcommon-x11-0 \
libxcb-cursor0 \
libxcb-icccm4 \
libxcb-image0 \
libxcb-keysyms1 \
libxcb-randr0 \
libxcb-render-util0 \
libxcb-xinerama0 \
libxcb-xfixes0 \
libegl1 \
fonts-noto-cjk
- name: Install compiler (Linux)
id: install_compiler
if: runner.os == 'Linux'
uses: rlalik/setup-cpp-compiler@e312c52f6d9664049d97c75ab084c895d9733c0c # master
with:
compiler: ${{ matrix.compiler }}
- name: Setup compiler (Linux)
if: runner.os == 'Linux'
env:
CC: ${{ steps.install_compiler.outputs.cc }}
CXX: ${{ steps.install_compiler.outputs.cxx }}
run: |
{
echo "CC=$CC"
echo "CXX=$CXX"
} >> "$GITHUB_ENV"
- name: Setup compiler (macOS)
if: runner.os == 'macOS' && matrix.compiler != ''
env:
MLN_COMPILER: ${{ matrix.compiler }}
run: |
# https://github.com/actions/runner-images/issues/8838#issuecomment-1817486924
brew link --overwrite python@3.12
brew install "$MLN_COMPILER"
echo "/opt/homebrew/opt/${MLN_COMPILER}/bin" >> "$GITHUB_PATH"
{
echo "CC=/opt/homebrew/opt/${MLN_COMPILER}/bin/clang"
echo "CXX=/opt/homebrew/opt/${MLN_COMPILER}/bin/clang++"
echo "LDFLAGS=\"-L/opt/homebrew/opt/${MLN_COMPILER}/lib\""
echo "CPPFLAGS=\"-I/opt/homebrew/opt/${MLN_COMPILER}/include\""
} >> "$GITHUB_ENV"
- name: Setup Xcode
if: runner.os == 'macOS'
uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # v1.6.0
with:
xcode-version: latest-stable
- name: Setup MSVC
if: matrix.qt_arch == 'win64_msvc2022_64'
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with:
arch: ${{ matrix.compiler_type }}
- name: Setup ninja
uses: seanmiddleditch/gha-setup-ninja@3b1f8f94a2f8254bd26914c4ab9474d4f0015f67 # v6
- name: Download Qt
uses: jurplel/install-qt-action@d325aaf2a8baeeda41ad0b5d39f84a6af9bcf005 # v4.3.0
with:
aqtversion: ==3.1.*
version: ${{ env.QT_VERSION }}
dir: ${{ github.workspace }}
target: ${{ matrix.qt_target }}
arch: ${{ matrix.qt_arch }}
tools: ${{ matrix.qt_tools }}
extra: --base https://mirrors.ocf.berkeley.edu/qt/
- name: Set up ccache
uses: hendrikmuhs/ccache-action@bfa03e1de4d7f7c3e80ad9109feedd05c4f5a716 # v1.2.19
with:
key: Qt_${{ matrix.name }}_${{ matrix.qt_version }}
max-size: 200M
- name: Build maplibre-native (macOS)
if: runner.os == 'macOS' && matrix.qt_target == 'desktop'
run: |
mkdir build && cd build
cmake ../source/ \
-G Ninja \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-DCMAKE_C_COMPILER_LAUNCHER="ccache" \
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \
-DCMAKE_OSX_DEPLOYMENT_TARGET="${DEPLOYMENT_TARGET}" \
-DCMAKE_OSX_ARCHITECTURES="${DEPLOYMENT_ARCH}" \
-DMLN_WITH_QT=ON \
-DMLN_WITH_OPENGL=ON
ninja
- name: Build maplibre-native (Linux, Qt6)
if: runner.os == 'Linux'
run: |
mkdir build && cd build
qt-cmake ../source/ \
-G Ninja \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-DCMAKE_C_COMPILER_LAUNCHER="ccache" \
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \
-DMLN_WITH_QT=ON \
-DMLN_WITH_OPENGL=ON
ninja
- name: Build maplibre-native (Linux, Qt6, internal libraries)
if: runner.os == 'Linux'
run: |
mkdir build-internal && cd build-internal
qt-cmake ../source/ \
-G Ninja \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-DCMAKE_C_COMPILER_LAUNCHER="ccache" \
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \
-DMLN_WITH_QT=ON \
-DMLN_QT_WITH_INTERNAL_ICU=ON \
-DMLN_QT_WITH_INTERNAL_SQLITE=ON \
-DMLN_WITH_OPENGL=ON
ninja
- name: Run tests (Linux)
if: runner.os == 'Linux'
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1.0.1
with:
run: ctest --output-on-failure
working-directory: build
- name: Build maplibre-native (Windows)
if: runner.os == 'Windows'
shell: bash
run: |
export PATH="$IQTA_TOOLS/$COMPILER_TYPE/bin:$PATH"
echo "$PATH"
mkdir build && cd build
cmake.exe ../source/ \
-G"Ninja Multi-Config" \
-DCMAKE_CONFIGURATION_TYPES="${BUILD_TYPE}" \
-DCMAKE_C_COMPILER_LAUNCHER="ccache.exe" \
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache.exe" \
-DMLN_WITH_QT=ON \
-DMLN_WITH_OPENGL=ON
ninja.exe