-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI: upgrade to ubuntu 24.04 #59797
base: master
Are you sure you want to change the base?
CI: upgrade to ubuntu 24.04 #59797
Conversation
🪟 Windows buildsDownload Windows builds of this PR for testing. 🪟 Windows Qt6 buildsDownload Windows Qt6 builds of this PR for testing. |
Tests failed for Qt 5One or more tests failed using the build from commit 726213f symbol_layersymbol_layerTest failed at testSimpleLineWithOffset at tests/src/python/test_qgslinesymbollayers.py:72 Rendered image did not match tests/testdata/control_images/symbol_layer/expected_simpleline_offset/expected_simpleline_offset.png (found 342 pixels different) The full test report (included comparison of rendered vs expected images) can be found here. Further documentation on the QGIS test infrastructure can be found in the Developer's Guide. |
@t0b3 render test fixes are in #59814 The offset line test is failing because of a bug in recent GEOS versions -- libgeos/geos#1037 I have no idea what is happening with the Oracle test 😆 |
1745c3b
to
679c662
Compare
0254b26
to
f55c8bb
Compare
@nyalldawson your results of the just triggered rerun https://cdash.orfeo-toolbox.org/viewTest.php?onlyfailed&buildid=27614 |
3d0913c
to
1b73859
Compare
We are getting really close now 😃 only a few test fail now
Test results submitted to: https://tinyurl.com/28llwwqx |
This is an odd one, which I'm struggling to fix. I can't work out if it's a regression in newer GDAL or QGIS is misusing GDAL API (which used to work, but now doesn't). What happens is :
In older GDAL versions it seems that the oFDefn member of QgsOgrLayer was updated to reflect the fields after the ROLLBACK command, but that's no longer the case. So my question is -- is this all abuse of GDAL API? Should we NOT be using the existing feature definition from before the transaction commands and should we re-fetch it anew? Or is this a GDAL regression and the existing feature definition should always reflect the actual state after the ROLLBACK command? |
That would be surprising. I'd say that no OGR driver works properly regarding rolling back changes of the layer definition. The underlying database will obviously rollback a ALTER TABLE ... ADD COLUMN, but the OGR driver itself doesn't pay attention to this. One could argue this is a bug of GDAL, but I'd be surprised this has worked in the past and no longer works. The BeginTransaction() / CommitTransaction() / RollbackTransaction() in OGR has been thought mostly about the INSERT / UPDATE / DELETE and not structural changes to the layer |
@rouault hmm... Could it be that the gdal delete attribute API used to update the feature definition even when the field didn't exist, and now it doesn't and aborts earlier? |
the implementation of OGRGeoPackageTableLayer::DeleteField() hasn't significantly changed since at least 3.4, but my assumption is that with the update to 24.04, we now take the code path sqlite >= 3.35.5 at https://github.com/OSGeo/gdal/blob/03bd0363fe1702c18051309af1c534e96b131236/ogr/ogrsf_frmts/gpkg/ogrgeopackagetablelayer.cpp#L6448 , and that code path will fail if the column doesn't exist at the SQLite code path, whereas the code path sqlite < 3.35.5 will be tolerant to the column not existing |
I'm not sure how practical this is on QGIS side, but I'd suggest that the QGIS OGR provider sets a boolean if CreateField / AlterFieldDefn / DeleteFieldDefn have been called within a transaction, and at rollback time, it closes and reopen the OGR dataset |
This functionality is broken on newer GDAL versions, due to incorrect assumptions at time of development. See qgis#59797 (comment) Parties interested in seeing this test resurrected are welcome to submit fixes.
Is there any impact of #59901 ...? EDIT: ok, obviously nothing changed 👍 |
upgrade CI runner for qt5 build and tests to ubuntu-24.04 (latest LTS)