Commit Graph

141 Commits

Author SHA1 Message Date
Vadim Zeitlin 9c21322c01 Rerun apt-get if it failed
We often get errors due to repositories being updated, so retry running
apt when this happens to see if it helps.
2026-01-14 23:37:40 +01:00
Vadim Zeitlin 85dea95da9 Fix typo in tar call syntax
This should have been part of d385619e (Include submodules in the
release, 2025-04-25).
2025-04-25 17:39:35 +02:00
Vadim Zeitlin d385619ed2 Include submodules in the release
Use "git submodule foreach" to include all submodules, even if we
currently have just a single one.
2025-04-25 17:33:40 +02:00
Vadim Zeitlin 928af614b2 Revert "CI: Don't use no longer existent WITH_BOOST option"
This reverts commit e255daad2c as this
build option has been added back now.
2025-04-09 16:25:08 +02:00
Vadim Zeitlin 4963406c41 Use git-archive to create release archives
Instead of copying the selected files and directories into the archive
manually, use git-archive to ensure that everything is in the archive.

And exclude the files and directories unwanted there by setting
export-ignore attribute for them.

Closes #1224.
2025-03-30 16:34:58 +02:00
Vadim Zeitlin fb04446e35 Convert most HTTP links to HTTPS
No real changes, but it's not very serious to use HTTP links in 2025.
2025-03-04 18:03:53 +01:00
Robert Adam 8b2cc353bc CI: test MariaDB 2025-02-27 19:15:55 +01:00
Robert Adam f230411c04 Adapt test inclusion regex to changed test names 2025-02-22 17:50:24 +01:00
Robert Adam 700813d1c8 Teach install_firebird about Ubuntu 24.04 2025-02-06 19:40:15 +01:00
Robert Adam ba4dd288c5 Use non-unity builds for shared libs to also CI test regular builds 2025-02-06 19:20:17 +01:00
Robert Adam 9d10b99ad7 Example CI: Install SOCI only after subdir-include example 2025-02-06 18:59:29 +01:00
Robert Adam 31324e06a3 CI: Also build example testing SOCI system installations 2025-01-26 19:58:59 +01:00
Robert Adam f9c540821f Merge remote-tracking branch 'upstream/master' into revamp-cmake 2025-01-26 19:03:27 +01:00
Vadim Zeitlin 0998eb587a Use default memory database for SOCI tests in the CI
There doesn't seem to be any reason to override the default and doing
this disables FK support which is enabled by default since 2a8abbe4
(Turn foreign keys on by default for SQLite tests, 2025-01-21).
2025-01-24 17:35:48 +01:00
Robert Adam c88da3b62c Merge remote-tracking branch 'upstream/master' into revamp-cmake 2025-01-03 16:05:52 +01:00
Vadim Zeitlin 5e9f200001 Read entire Oracle CLOB and not just its length in characters
We need to read the entire contents of the CLOB in Oracle backend and
not just the number of bytes corresponding to its length in characters
as returned by OCILobGetLength() because this may (and will) be strictly
less than its full size in bytes for any encoding using multiple bytes
per character, such as the de facto standard UTF-8.

Also make reading CLOBs more efficient by doing what Oracle
documentation suggests and using the LOB chunk size for reading.

Finally, add a unit test checking that using non-ASCII strings in UTF-8
(which had to be enabled for the CI) with CLOBs does work.

This commit is best viewed ignoring whitespace-only changes.
2024-11-20 00:35:15 +01:00
Vadim Zeitlin 80128a18d1 Enable UBSAN for all non-Ubuntu 18.04 CI builds
UBSAN gives nonsensical errors for the ODBC job running under Ubuntu
18.04, e.g. it complains that

src/core/session.cpp:246:16: runtime error: member call on address
0x607000000250 which does not point to an object of type
'session_backend'
1: 0x607000000250: note: object is of type 'soci::odbc_session_backend'

which doesn't make any sense because odbc_session_backend is an object
of type session_backend. But apparently something is broken in this
compiler version, so disable UBSAN for this job for now.
2024-10-16 17:11:43 +02:00
Vadim Zeitlin 689e349b84 Explicitly install postgresql@14 with brew
Installing just "postgresql" results in an annoying warning about the
formula having been renamed to "postgresql@14".
2024-10-16 16:00:00 +02:00
Vadim Zeitlin 698495c33b Install PostgreSQL ourselves in macOS CI workflow
It used to be part of macos-12 image but is not present in the later
ones for whatever reason.

Installing postgresql formula using brew already initializes the
database cluster but does it in a non-default directory, so adjust
PGDATA definition accordingly and remove "pg_ctl init" which is not
needed any longer.
2024-10-16 15:50:56 +02:00
Robert Adam e255daad2c CI: Don't use no longer existent WITH_BOOST option 2024-08-31 16:25:39 +02:00
Robert Adam acd1294108 Build Boost bindings by default on CI 2024-08-31 16:24:38 +02:00
Robert Adam 646f2feee3 Enable unity builds on CI 2024-08-31 16:24:38 +02:00
Robert Adam dd5e3dd972 Build shared and static libs separately 2024-08-31 16:24:36 +02:00
Robert Adam 207e17e052 Adapt ODBC test exclusion RegEx 2024-08-31 16:22:13 +02:00
Robert Adam 0e5c799acf CI: ODBC now also uses the default runner
Fixes #1005
2024-08-31 16:22:13 +02:00
Vadim Zeitlin 4a7b72ea53 Disable GitHub certificate check under Ubuntu 18.04
wget doesn't recognize it for some reason under this old OS, so just
disable it to be able to download mold there.
2023-12-11 17:21:18 +01:00
Vadim Zeitlin 957a4352df Don't pipe wget output to tar during mold installation
This hides any errors during download, making any issues difficult to
diagnose, so break the pipeline in parts in order to better see what is
going on.
2023-12-11 17:03:59 +01:00
Vadim Zeitlin 4119e7d209 Trace shell scripts when using GitHub Actions debug output
This should give more information when rerunning failed actions with
debug output enabled.
2023-12-11 16:46:12 +01:00
Vadim Zeitlin f6c8aa8203 Add missing "sudo" calls to mold installation step
Also install wget when running on minimal system without it.
2023-12-11 15:17:04 +01:00
Vadim Zeitlin 9f7722b477 Use mold for GitHub Actions builds 2023-12-07 22:00:08 +01:00
Vadim Zeitlin 249d1a4704 Fix CI install script to work on bare OS install too
Don't assume that sudo and lsb-release are always available, this is not
the case when using a Docker container image, for example.
2023-04-18 18:20:45 +02:00
Vadim Zeitlin 193ef4ddf8 Install PostgreSQL server in ODBC install script
It is needed and is not guaranteed to be already installed when running
inside a container.
2023-04-18 18:19:33 +02:00
Vadim Zeitlin d9b499a992 Don't install recommended packages
Try to speed up the installation process a bit by installing fewer
packages.
2023-04-18 18:19:30 +02:00
Vadim Zeitlin e7b5d1f4cd Ignore leaks from SQLDriverConnect() in Unix ODBC tests
Switching to Debian UnixODBC packages exposed memory leaks in
SQLDriverConnect() that we don't seem to be able to do anything about.
2023-02-23 15:38:02 +01:00
Vadim Zeitlin bb8ca5481d Also install debug symbols for Unix ODBC package 2023-02-23 15:38:02 +01:00
Vadim Zeitlin e82fdcdfeb Work around a problem with incompatible unixodbc-dev package
The package already installed on the system results in build errors when
trying to use it:

In file included from /usr/include/sql.h:19:0,
                 from /usr/include/sqlext.h:43,
                 from /home/runner/work/soci/soci/include/soci/odbc/soci-odbc.h:25,
                 from /home/runner/work/soci/soci/src/backends/odbc/factory.cpp:9:
/usr/include/sqltypes.h:56:10: fatal error: unixodbc.h: No such file or directory
 #include "unixodbc.h"
          ^~~~~~~~~~~~

so remove it before installing the Debian version.

See https://github.com/microsoft/linux-package-repositories/issues/36
2023-02-23 15:38:02 +01:00
Vadim Zeitlin c5adff3925 Add CI build using C++17
This is needed at least to run C++17-only tests.

See #1001.
2022-10-28 00:09:44 +02:00
Vadim Zeitlin 1fd22cf9b1 Remove Microsoft apt repositories before apt-updating
If nothing else, this should speed up the process a little, but it might
also fix spurious errors that we get in CodeQL builds all the time now.
2022-10-27 23:43:13 +02:00
Vadim Zeitlin e99534f372 Add run_apt function for running apt-get with "quiet" options
Set Dpkg::Use-Pty=0 to avoid more useless output and use this function
in all CI scripts instead of specifying the same apt-get options in all
of them.
2022-10-27 23:26:31 +02:00
Vadim Zeitlin 88e6ca2853 Use /bin/sh for common.sh instead of bash
This script must be sourced from all the other ones, including
install.sh which is used to install bash under FreeBSD, so it can't rely
on bash being already available.
2022-10-27 23:26:31 +02:00
Vadim Zeitlin 0fb07e8aca Use Firebird 3.0 under Ubuntu Jammy too 2022-10-27 23:25:50 +02:00
Vadim Zeitlin fc3ec8089d Give the name of the unknown Ubuntu release in the error message
No real changes, just make things a bit more clear.
2022-10-27 23:25:50 +02:00
Vadim Zeitlin fc365a9cc8 Set up MySQL to allow CREATE FUNCTION in the CI builds
This is necessary with MySQL 8.
2022-10-27 23:25:50 +02:00
Vadim Zeitlin 9ecda7e5af Remove SOCI_CI_PACKAGES and always install CMake under Linux
It doesn't make much sense to configure this outside of the installation
script when we can already just install it from the script itself.

No real changes.
2022-10-27 18:27:01 +02:00
Vadim Zeitlin c1a4b7606f Require C++14 in CMake makefiles
Remove SOCI_CXX11 option which doesn't make sense any longer.
2022-09-18 17:28:57 +02:00
Vadim Zeitlin 98b55bf86c Merge branch 'dont-use-dynamic-cast'
Don't use dynamic cast to avoid ELF visibility problems with libc++.

See #975.
2022-09-17 22:46:19 +02:00
Vadim Zeitlin 0914905949 Fail if there are no tests in the CI builds
This can happen if a backend is unexpectedly not detected and we want to
fail the CI build in this case instead of silently ignoring the problem.
2022-09-17 22:02:09 +02:00
Vadim Zeitlin 2748194f76 Initialize PostgreSQL database under Mac
Otherwise the CI build fails to start the database.
2022-09-14 17:08:27 +02:00
Vadim Zeitlin fdd704b6c1 Revert "Turn off visibility support for FreeBSD CI builds"
This reverts commit 23e57e3f18 which is
not needed any longer now that the problem with using ELF visibility
with libc++ was fixed.
2022-06-22 16:10:03 +02:00
Vadim Zeitlin 23e57e3f18 Turn off visibility support for FreeBSD CI builds
Using visibility with clang (which is the default FreeBSD compiler)
doesn't work currently, see #913.
2022-06-22 12:29:13 +02:00