Skip to content

Commit 465e00e

Browse files
authored
Merge branch 'qgis:master' into master
2 parents 03fb961 + 220abf7 commit 465e00e

File tree

4,924 files changed

+823311
-686684
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,924 files changed

+823311
-686684
lines changed

.ci/ogc/build.sh

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ cmake -GNinja \
3737
-DWITH_SERVER_PLUGINS=ON \
3838
-DWITH_ORACLE=OFF \
3939
-DWITH_PDAL=OFF \
40+
-DWITH_QTPRINTER=OFF \
4041
-DDISABLE_DEPRECATED=ON \
4142
-DCXX_EXTRA_FLAGS="${CLANG_WARNINGS}" \
4243
-DCMAKE_C_COMPILER=/bin/clang \

.ci/run_tests.sh

+3-7
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,11 @@
22

33
set -e
44

5-
# check for docker-compose and docker availability
5+
# check for docker availability
66
command -v docker > /dev/null || {
77
echo "Please install docker" >&2
88
exit 1
99
}
10-
command -v docker-compose > /dev/null || {
11-
echo "Please install docker-compose" >&2
12-
exit 1
13-
}
1410

1511
IMAGE_BUILD_DEPS=qgis/qgis3-build-deps:latest
1612
UPDATE_IMAGES=yes
@@ -115,7 +111,7 @@ if test "$(docker images -q qgis3-build-deps-binary-image)" = ""; then
115111
fi
116112

117113
if test "${INTERACTIVE}" = "no"; then
118-
echo "--=[ Running tests via docker-compose"
114+
echo "--=[ Running tests via docker compose"
119115
COMMAND=${QGIS_WORKSPACE_MOUNTPOINT}/.docker/docker-qgis-test.sh
120116
COMMAND_ARGS="${TESTS_TO_RUN}"
121117
else
@@ -129,7 +125,7 @@ mkdir -p /tmp/minio_tests/test-bucket && chmod -R 777 /tmp/minio_tests
129125
# Create an empty webdav folder with appropriate permissions so www user can write inside it
130126
mkdir -p /tmp/webdav_tests && chmod 777 /tmp/webdav_tests
131127

132-
docker-compose \
128+
docker compose \
133129
-f .docker/docker-compose-testing.yml \
134130
run \
135131
-w "${QGIS_WORKSPACE_MOUNTPOINT}" \

.ci/test_blocklist_qt5.txt

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
# black list
2-
PyQgsPalLabelingServer
32
qgis_composerutils
43
PyQgsAppStartup
54
test_gui_queryresultwidget

.ci/test_blocklist_qt6.txt

+3-218
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
11
# Qt6 blocklist
2-
test_core_authconfig
32
test_core_compositionconverter
4-
test_core_dxfexport
53
test_core_expression
64
test_core_labelingengine
75
test_core_layoutpicture
6+
# test_core_ogcutils runs fine locally on Fedora:rawhide but not on CI
87
test_core_ogcutils
98
test_core_vectortilelayer
109
test_gui_processinggui
11-
test_gui_querybuilder
1210
test_app_advanceddigitizing
1311
test_app_vertextool
1412

1513
# Crashes -- also disabled on qt5 builds!
1614
test_gui_queryresultwidget
1715

1816
# block list
19-
PyQgsPalLabelingServer
2017
qgis_composerutils
2118
PyQgsAppStartup
2219

@@ -41,257 +38,45 @@ PyQgsProviderConnectionMssql
4138
PyQgsStyleStorageMssql
4239

4340
# To be fixed
44-
PyQgsAFSProvider
45-
PyQgsAggregateMappingWidget
46-
PyQgsAnimatedMarkerSymbolLayer
47-
PyQgsArcGisRestUtils
4841
PyQgsPythonProvider
49-
PyQgsAggregateCalculator
5042
PyQgsAnnotation
51-
PyQgsAnnotationLayer
52-
PyQgsAnnotationLineItem
53-
PyQgsAnnotationMarkerItem
54-
PyQgsAnnotationPolygonItem
55-
PyQgsAttributeForm
56-
PyQgsAttributeTableModel
5743
PyQgsAuthenticationSystem
58-
PyQgsBatchGeocodeAlgorithm
5944
PyQgsBlockingProcess
60-
PyQgsBookmarkModel
61-
PyQgsCategorizedSymbolRenderer
6245
PyQgsCodeEditor
63-
PyQgsColorRamp
64-
PyQgsColorRampLegendNode
65-
PyQgsCombinedStyleModel
66-
PyQgsConditionalStyle
67-
PyQgsConnectionRegistry
68-
PyQgsXmlUtils
69-
PyQgsDateTimeStatisticalSummary
7046
PyQgsDelimitedTextProvider
7147
PyQgsEditWidgets
7248
PyQgsElevationProfileCanvas
73-
PyQgsEmbeddedSymbolRenderer
74-
PyQgsExifTools
75-
PyQgsExpression
76-
PyQgsFeature
77-
PyQgsFeatureSink
78-
PyQgsFieldComboBoxTest
79-
PyQgsFieldFormattersTest
8049
PyQgsProject
81-
PyQgsProjectBadLayers
82-
PyQgsProjectStyleSettings
83-
PyQgsFeatureIterator
84-
PyQgsFeatureRequest
85-
PyQgsFieldDomain
86-
PyQgsFieldDomainWidget
87-
PyQgsField
88-
PyQgsFields
89-
PyQgsFieldModel
90-
PyQgsFieldMappingWidget
9150
PyQgsFloatingWidget
92-
PyQgsGdalProvider
93-
PyQgsGeometryGeneratorSymbolLayer
94-
PyQgsGeometryTest
95-
PyQgsGpsLogger
96-
PyQgsHighlight
97-
PyQgsJsonUtils
98-
PyQgsLabelObstacleSettings
99-
PyQgsLabelSettingsWidget
100-
PyQgsLabelThinningSettings
101-
PyQgsLayerMetadata
102-
PyQgsLayerMetadataProviderPython
103-
PyQgsLayerMetadataProviderOgr
104-
PyQgsLayerMetadataResultsModel
105-
PyQgsLayerTreeView
106-
PyQgsLayoutAtlas
107-
PyQgsLayoutElevationProfile
108-
PyQgsLayoutExporter
109-
PyQgsLayoutManagerModel
110-
PyQgsLayoutPageCollection
111-
PyQgsLayoutView
112-
PyQgsLayoutGuide
11351
PyQgsLayoutHtml
114-
PyQgsLayoutItem
115-
PyQgsLayoutLegend
116-
PyQgsLayoutMap
117-
PyQgsLayoutMapGrid
118-
PyQgsLayoutMapOverview
119-
PyQgsLayoutMarker
120-
PyQgsLayoutPolygon
121-
PyQgsLayoutPolyline
122-
PyQgsLayoutShape
12352
PyQgsLineSymbolLayers
124-
PyQgsLocator
12553
PyQgsMapBoxGlStyleConverter
126-
PyQgsMapLayerModel
127-
PyQgsMapLayerUtils
128-
PyQgsMarkerLineSymbolLayer
129-
PyQgsMetadataBase
13054
PyQgsMemoryProvider
131-
PyQgsMeshLayerProfileGenerator
13255
PyQgsNetworkAccessManager
133-
PyQgsOgcUtils
134-
PyQgsOGRProviderGpkg
135-
PyQgsOGRProviderSqlite
136-
PyQgsPalLabelingBase
137-
PyQgsPalLabelingCanvas
138-
PyQgsPalLabelingLayout
13956
PyQgsPalLabelingPlacement
14057
PyQgsPlot
141-
PyQgsPointCloudAttributeComboBox
142-
PyQgsPointCloudAttributeModel
143-
PyQgsPointCloudClassifiedRenderer
144-
PyQgsPointCloudLayerProfileGenerator
145-
PyQgsPointCloudRgbRenderer
146-
PyQgsPointDisplacementRenderer
147-
PyQgsProcessExecutablePt1
148-
PyQgsProcessExecutablePt2
149-
PyQgsProcessingInPlace
150-
PyQgsProcessingAlgRunner
151-
PyQgsProcessingParameters
152-
PyQgsProcessingPackageLayersAlgorithm
153-
PyQgsProjectMetadata
154-
PyQgsProjectUtils
155-
PyQgsProviderConnectionModel
156-
PyQgsProviderConnectionGpkg
157-
PyQgsProviderConnectionSpatialite
158-
PyQgsSensorManager
159-
PyQgsSensorModel
160-
PyQgsStyleStorageSpatialite
161-
PyQgsStyleStorageGpkg
162-
PyQgsProviderSublayerDetails
163-
PyQgsProviderSublayerModel
164-
PyQgsRangeWidgets
16558
PyQgsRasterAttributeTable
166-
PyQgsRasterAttributeTableModel
167-
PyQgsRasterFileWriter
168-
PyQgsRasterLayer
169-
PyQgsRasterLayerProfileGenerator
17059
PyQgsRasterLayerRenderer
171-
PyQgsRasterPipe
172-
PyQgsProviderUtils
173-
PyQgsRenderContext
174-
PyQgsSingleSymbolRenderer
17560
PyQgsShapefileProvider
176-
PyQgsSvgCache
177-
PyQgsTabfileProvider
17861
PyQgsTextRenderer
179-
PyQgsOGRProvider
180-
PyQgsSimpleLineSymbolLayer
18162
PyQgsSpatialiteProvider
182-
PyQgsSymbolLayer
183-
PyQgsRasterRendererCreateSld
184-
PyQgsSymbolLayerCreateSld
18563
PyQgsSymbolLayerReadSld
186-
PyQgsArrowSymbolLayer
187-
PyQgsSymbolExpressionVariables
188-
PyQgsStringUtils
189-
PyQgsStyleModel
190-
PyQgsSubsetStringEditorProviderRegistry
191-
PyQgsTemporalUtils
192-
PyQgsTextDocument
193-
PyQgsTextFormatWidget
194-
PyQgsValidityChecks
195-
PyQgsValidityResultsWidget
196-
PyQgsVectorFieldMarkerSymbolLayer
197-
PyQgsVectorFileWriter
198-
PyQgsVectorLayer
199-
PyQgsVectorLayerElevationProperties
20064
PyQgsVectorLayerCache
20165
PyQgsVectorLayerEditBuffer
20266
PyQgsVectorLayerEditUtils
203-
PyQgsVectorLayerProfileGenerator
204-
PyQgsVectorLayerSelectedFeatureSource
205-
PyQgsVectorLayerShapefile
206-
PyQgsVectorLayerTemporalProperties
207-
PyQgsVectorLayerUtils
208-
PyQgsZonalStatistics
209-
PyQgsVirtualLayerProvider
210-
PyQgsVirtualLayerDefinition
21167
PyQgsLayerDefinition
212-
PyQgsWFSProvider
213-
PyQgsOapifProvider
214-
PyQgsDBManagerGpkg
215-
PyQgsDBManagerSpatialite
216-
PyQgsFileDownloader
21768
PyQgsSettings
21869
PyQgsSettingsEntry
219-
PyQgsSettingsTreeNode
220-
PyQgsAuxiliaryStorage
221-
PyQgsFieldValidator
222-
PyQgsDBManagerSQLWindow
22370
PyQgsSelectiveMasking
224-
PyQgsRasterAttributeTableWidget
22571
PyQgsServerApi
22672
PyQgsServerWMSGetFeatureInfo
22773
PyQgsServerWMSGetMap
228-
PyQgsServerWMSGetLegendGraphic
229-
PyQgsServerWMSGetPrint
230-
PyQgsServerWMSGetPrintExtra
231-
PyQgsServerWMSGetPrintOutputs
232-
PyQgsServerWMSGetPrintAtlas
233-
PyQgsServerWMSDimension
234-
PyQgsServerSettings
235-
PyQgsServerAccessControlWMSGetlegendgraphic
23674
PyQgsServerAccessControlWFSTransactional
237-
PyQgsServerCacheManager
23875
PyQgsServerWFS
239-
PyQgsServerWFST
240-
PyQgsAuthManagerPasswordOWSTest
241-
PyQgsServerServices
242-
PyQgsArcGisPortalUtils
243-
PyQgsBinaryWidget
244-
PyQgsClassificationMethod
245-
PyQgsGeocoderLocatorFilter
246-
PyQgsNominatimGeocoder
247-
PyQgsGoogleMapsGeocoder
248-
PyQgsGpxProvider
249-
PyQgsHistoryProviderRegistry
250-
PyQgsLegendPatchShape
251-
PyQgsMapCanvas
252-
PyQgsMapCanvasAnnotationItem
253-
PyQgsMergedFeatureRenderer
254-
PyQgsMeshLayerElevationProperties
255-
PyQgsNumericFormat
256-
PyQgsPointCloudDataProvider
257-
PyQgsPointCloudExtentRenderer
258-
PyQgsPointClusterRenderer
259-
PyQgsTableCell
260-
PyQgsSearchWidgetWrapper
261-
PyQgsSimpleFillSymbolLayer
262-
PyQgsSymbol
263-
PyQgsTiles
264-
PyQgsRelationEditorWidgetRegistry
265-
PyQgsVectorTile
266-
PyQgsVtpk
267-
ProcessingGeneralTest
268-
ProcessingGuiTest
269-
ProcessingModelerTest
270-
ProcessingProjectProviderTest
271-
ProcessingParametersTest
272-
ProcessingGenericAlgorithmsTest
273-
ProcessingQgisAlgorithmsTestPt1
27476
ProcessingQgisAlgorithmsTestPt2
27577
ProcessingQgisAlgorithmsTestPt3
27678
ProcessingQgisAlgorithmsTestPt4
277-
ProcessingQgisAlgorithmsTestPt5
278-
ProcessingGdalAlgorithmsGeneralTest
279-
ProcessingGdalAlgorithmsRasterTest
28079
ProcessingGdalAlgorithmsVectorTest
281-
ProcessingCheckValidityAlgorithmTest
282-
ProcessingGrass7AlgorithmsImageryTest
283-
ProcessingGrass7AlgorithmsRasterTestPt1
284-
ProcessingGrass7AlgorithmsRasterTestPt2
285-
ProcessingGrass7AlgorithmsVectorTest
286-
ProcessingOtbAlgorithmsTest
287-
PyPythonRepr
288-
TestQgsRandomMarkerSymbolLayer
289-
ProcessingToolsTest
290-
PyQgsCesium3dTilesLayer
291-
PyQgsCoordinateReferenceSystemModel
80+
ProcessingGrassAlgorithmsImageryTest
81+
# PyQgsProviderRegistry runs fine locally on Fedora:rawhide but not on CI
29282
PyQgsProviderRegistry
293-
PyQgsTiledSceneLayer
294-
PyQgsTiledSceneTile
295-
ProcessingScriptUtilsTest
296-
PyQgsColorScheme
297-
PyQgsSearchWidgetToolButton

.docker/docker-qgis-build.sh

+5-9
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,11 @@ pushd ${CTEST_BUILD_DIR} > /dev/null
3535
echo "${bold}Running cmake...${endbold}"
3636
echo "::group::cmake"
3737

38-
if [[ -f "/usr/lib64/ccache/clang" ]]; then
39-
export CC=/usr/lib64/ccache/clang
40-
export CXX=/usr/lib64/ccache/clang++
41-
else
42-
export CC=/usr/lib/ccache/clang
43-
export CXX=/usr/lib/ccache/clang++
44-
fi
45-
4638
BUILD_TYPE=Release
4739

40+
export CC=/usr/bin/clang
41+
export CXX=/usr/bin/clang++
42+
4843
if [[ "${WITH_CLAZY}" = "ON" ]]; then
4944
# In release mode, all variables in QgsDebugMsg would be considered unused
5045
BUILD_TYPE=Debug
@@ -75,7 +70,7 @@ fi
7570
cmake \
7671
-GNinja \
7772
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
78-
-DUSE_CCACHE=OFF \
73+
-DUSE_CCACHE=ON \
7974
-DBUILD_WITH_QT6=${BUILD_WITH_QT6} \
8075
-DWITH_DESKTOP=ON \
8176
-DWITH_ANALYSIS=ON \
@@ -110,6 +105,7 @@ cmake \
110105
-DWITH_QTWEBKIT=${WITH_QT5} \
111106
-DWITH_QTWEBENGINE=${WITH_QTWEBENGINE} \
112107
-DWITH_OAUTH2_PLUGIN=${WITH_QT5} \
108+
-DWITH_PDF4QT=${WITH_PDF4QT} \
113109
-DORACLE_INCLUDEDIR=/instantclient_19_9/sdk/include/ \
114110
-DORACLE_LIBDIR=/instantclient_19_9/ \
115111
-DDISABLE_DEPRECATED=ON \

.docker/docker-qgis-test.sh

+2
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,8 @@ echo "::group::Print disk space before running tests"
278278
df -h
279279
echo "::endgroup::"
280280

281+
export QTWEBENGINE_DISABLE_SANDBOX=1
282+
281283
python3 ${SRCDIR}/.ci/ctest2ci.py xvfb-run ctest -V $CTEST_OPTIONS -E "${EXCLUDE_TESTS}" -S ${SRCDIR}/.ci/config_test.ctest --output-on-failure
282284

283285
echo "::group::Print disk space after running tests"

.docker/qgis3-qt5-build-deps.dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ RUN apt-get update \
7373
python3-pyqt5.qtwebkit \
7474
python3-pyqt5.qtpositioning \
7575
python3-pyqt5.qtmultimedia \
76+
python3-pyqt5.qtserialport \
7677
python3-sip \
7778
python3-termcolor \
7879
python3-yaml \
@@ -151,7 +152,7 @@ RUN apt-get update \
151152

152153
# HANA: client side
153154
# Install hdbsql tool
154-
RUN curl -j -k -L -H "Cookie: eula_3_1_agreed=tools.hana.ondemand.com/developer-license-3_1.txt" https://tools.hana.ondemand.com/additional/hanaclient-latest-linux-x64.tar.gz --output hanaclient-latest-linux-x64.tar.gz \
155+
RUN curl -j -k -L -H "Cookie: eula_3_2_agreed=tools.hana.ondemand.com/developer-license-3_2.txt" https://tools.hana.ondemand.com/additional/hanaclient-latest-linux-x64.tar.gz --output hanaclient-latest-linux-x64.tar.gz \
155156
&& tar -xvf hanaclient-latest-linux-x64.tar.gz \
156157
&& mkdir /usr/sap \
157158
&& ./client/hdbinst -a client --sapmnt=/usr/sap \

0 commit comments

Comments
 (0)