Skip to content

Commit b434380

Browse files
committed
Merge develop for v1.5.0
2 parents fa31539 + 910dda5 commit b434380

File tree

132 files changed

+1460
-1007
lines changed

Some content is hidden

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

132 files changed

+1460
-1007
lines changed

.github/ubuntu/all-apt-prereqs.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#!/bin/bash
2+
13
set -e
24

35
sudo apt-get update -qq
@@ -8,5 +10,9 @@ sudo env DEBIAN_FRONTEND=noninteractive apt-get install -qq \
810
default-jre \
911
firebird-dev firebird3.0-utils \
1012
mysql-client default-libmysqlclient-dev \
11-
libarchive-tools
13+
libarchive-tools \
14+
libaio1t64
1215
cat t/odbc/odbcinst.ini | sudo tee -a /etc/odbcinst.ini
16+
17+
# instantclient still wants libaio.so.1. https://askubuntu.com/a/1514001
18+
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1

.github/ubuntu/exasol.sh

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,12 @@ fi
1313
mkdir -p /opt/exasol
1414

1515
# Download and unpack Exasol ODBC Driver & EXAplus.
16-
# https://www.exasol.com/portal/display/DOWNLOAD/
17-
curl -sSLO https://x-up.s3.amazonaws.com/7.x/7.1.17/EXASOL_ODBC-7.1.17.tar.gz
18-
curl -sSLO https://x-up.s3.amazonaws.com/7.x/7.1.17/EXAplus-7.1.17.tar.gz
19-
sudo tar -xzf EXASOL_ODBC-7.1.17.tar.gz -C /opt/exasol --strip-components 1
20-
sudo tar -xzf EXAplus-7.1.17.tar.gz -C /opt/exasol --strip-components 1
16+
curl -sSLO https://x-up.s3.amazonaws.com/7.x/24.2.0/Exasol_ODBC-24.2.0-Linux_x86_64.tar.gz
17+
curl -sSLO https://x-up.s3.amazonaws.com/7.x/24.2.1/EXAplus-24.2.1.tar.gz
18+
sudo tar -xzf Exasol_ODBC-24.2.0-Linux_x86_64.tar.gz -C /opt/exasol --strip-components 2
19+
sudo tar -xzf EXAplus-24.2.1.tar.gz -C /opt/exasol --strip-components 2
2120

2221
# Add to the path.
23-
if [[ ! -z "$GITHUB_PATH" ]]; then
24-
echo "/opt/exasol" >> $GITHUB_PATH
22+
if [[ -n "$GITHUB_PATH" ]]; then
23+
echo "/opt/exasol" >> "$GITHUB_PATH"
2524
fi

.github/ubuntu/firebird.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ if [ -z "$SKIP_DEPENDS" ]; then
99
fi
1010

1111
# Tell DBD::Firebird where to find the libraries.
12-
if [[ ! -z "$GITHUB_ENV" ]]; then
13-
echo "FIREBIRD_HOME=/usr" >> $GITHUB_ENV
12+
if [[ -n "$GITHUB_ENV" ]]; then
13+
echo "FIREBIRD_HOME=/usr" >> "$GITHUB_ENV"
1414
fi

.github/ubuntu/mysql.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ set -e
66
if [ -z "$SKIP_DEPENDS" ]; then
77
sudo apt-get update -qq
88
sudo apt-get remove -qq mysql-common # https://github.com/actions/virtual-environments/issues/5067#issuecomment-1038752575
9-
sudo env DEBIAN_FRONTEND=noninteractive apt-get install -qq mysql-client default-libmysqlclient-dev
9+
sudo env DEBIAN_FRONTEND=noninteractive apt-get install -qq mariadb-client libmariadbd-dev
1010
fi

.github/ubuntu/oracle.sh

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@
22

33
set -e
44

5-
version=21.9.0.0.0dbru
6-
icdr=219000
5+
version=23.6.0.24.10
6+
icdr=2360000
77

8-
# Install bsdtar, required to get --strip-components for a zip file.
8+
# Download dependencies.
99
if [ -z "$SKIP_DEPENDS" ]; then
10+
# Install libaio and bsdtar, required to get --strip-components for a zip file.
1011
sudo apt-get update -qq
11-
sudo env DEBIAN_FRONTEND=noninteractive apt-get install -qq libarchive-tools
12+
sudo env DEBIAN_FRONTEND=noninteractive apt-get install -qq libarchive-tools libaio1t64
13+
14+
# instantclient still wants libaio.so.1. https://askubuntu.com/a/1514001
15+
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
1216
fi
1317

1418
# Download Instant Client.
@@ -24,15 +28,15 @@ bsdtar -C /opt/instantclient --strip-components 1 -zxf "instantclient-basic-linu
2428
bsdtar -C /opt/instantclient --strip-components 1 -zxf "instantclient-sqlplus-linux.x64-${version}.zip"
2529
bsdtar -C /opt/instantclient --strip-components 1 -zxf "instantclient-sdk-linux.x64-${version}.zip"
2630

27-
if [[ ! -z "$GITHUB_PATH" ]]; then
28-
echo "/opt/instantclient" >> $GITHUB_PATH
31+
if [[ -n "$GITHUB_PATH" ]]; then
32+
echo "/opt/instantclient" >> "$GITHUB_PATH"
2933
fi
3034

31-
if [[ ! -z "$GITHUB_ENV" ]]; then
32-
echo "ORACLE_HOME=/opt/instantclient" >> $GITHUB_ENV
35+
if [[ -n "$GITHUB_ENV" ]]; then
36+
echo "ORACLE_HOME=/opt/instantclient" >> "$GITHUB_ENV"
3337
if [[ -z "$LD_LIBRARY_PATH" ]]; then
34-
echo "LD_LIBRARY_PATH=/opt/instantclient" >> $GITHUB_ENV
38+
echo "LD_LIBRARY_PATH=/opt/instantclient" >> "$GITHUB_ENV"
3539
else
36-
echo "LD_LIBRARY_PATH=/opt/instantclient:$LD_LIBRARY_PATH" >> $GITHUB_ENV
40+
echo "LD_LIBRARY_PATH=/opt/instantclient:$LD_LIBRARY_PATH" >> "$GITHUB_ENV"
3741
fi
3842
fi

.github/ubuntu/pg.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ curl -O https://salsa.debian.org/postgresql/postgresql-common/-/raw/master/pgdg/
99
sudo sh apt.postgresql.org.sh -i -t -v $PGVERSION
1010
sudo pg_createcluster --start $PGVERSION test -p 5432 --locale=C -- -A trust -E UTF8
1111

12-
if [[ ! -z "$GITHUB_PATH" ]]; then
13-
echo "/usr/lib/postgresql/$POSTGRES/bin" >> $GITHUB_PATH
12+
if [[ -n "$GITHUB_PATH" ]]; then
13+
echo "/usr/lib/postgresql/$POSTGRES/bin" >> "$GITHUB_PATH"
1414
fi

.github/ubuntu/snowflake.sh

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ fi
1111

1212
# https://docs.snowflake.net/manuals/release-notes/client-change-log-snowsql.html
1313
# https://sfc-repo.snowflakecomputing.com/index.html
14-
curl -sSLo snowsql.bash https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/1.2/linux_x86_64/snowsql-1.2.20-linux_x86_64.bash
15-
curl -sSLo snowdbc.tgz https://sfc-repo.snowflakecomputing.com/odbc/linux/2.24.2/snowflake_linux_x8664_odbc-2.24.2.tgz
14+
curl -sSLo snowsql.bash https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/1.2/linux_x86_64/snowsql-1.2.21-linux_x86_64.bash
15+
curl -sSLo snowdbc.tgz https://sfc-repo.snowflakecomputing.com/odbc/linux/latest/snowflake_linux_x8664_odbc-3.5.0.tgz
1616

1717
# Install and configure ODBC.
1818
mkdir -p /opt/snowflake
@@ -22,14 +22,14 @@ sudo mv /opt/snowflake/ErrorMessages/en-US /opt/snowflake/lib/
2222
# Install, update, and configure SnowSQL.
2323
sed -e '1,/^exit$/d' snowsql.bash | sudo tar -C /opt/snowflake -zxf -
2424
/opt/snowflake/snowsql -Uv
25-
echo "[options]\nnoup = true" > /opt/snowflake/config
25+
printf "[options]\nnoup = true\n" > /opt/snowflake/config
2626

2727
# Add to the path.
28-
if [[ ! -z "$GITHUB_PATH" ]]; then
29-
echo "/opt/snowflake" >> $GITHUB_PATH
28+
if [[ -n "$GITHUB_PATH" ]]; then
29+
echo "/opt/snowflake" >> "$GITHUB_PATH"
3030
fi
3131

3232
# Tell SnowSQL where to find the config.
33-
if [[ ! -z "$GITHUB_ENV" ]]; then
34-
echo "WORKSPACE=/opt/snowflake" >> $GITHUB_ENV
33+
if [[ -n "$GITHUB_ENV" ]]; then
34+
echo "WORKSPACE=/opt/snowflake" >> "$GITHUB_ENV"
3535
fi

.github/ubuntu/sqlite.sh

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@ SQLITE=${SQLITE:=${1:-3.40.1}}
66
echo "Instaling SQLite $SQLITE"
77

88
# Convert to the SQLITE_VERSION_NUMBER format https://sqlite.org/c3ref/c_source_id.html
9-
SQLITE=$(perl -e 'my @v = split /[.]/, shift; printf "%d%02d%02d%02d\n", @v[0..3]' $SQLITE)
9+
SQLITE=$(perl -e 'my @v = split /[.]/, shift; printf "%d%02d%02d%02d\n", @v[0..3]' "$SQLITE")
1010

1111
# Since 3.7.16.1, the URL includes the year in the path.
1212
# 3.18.2, 3.18.1, 3.9.3, and 3.7.11 missing.
1313
# https://sqlite.org/chronology.html
1414
# https://stackoverflow.com/a/37712117/79202
15-
if (( $SQLITE >= 3400200 )); then YEAR=2023
15+
if (( $SQLITE >= 3450000 )); then YEAR=2024
16+
elif (( $SQLITE >= 3400200 )); then YEAR=2023
1617
elif (( $SQLITE >= 3370200 )); then YEAR=2022
1718
elif (( $SQLITE >= 3340100 )); then YEAR=2021
1819
elif (( $SQLITE >= 3310000 )); then YEAR=2020
@@ -41,20 +42,20 @@ gcc -shared -o libsqlite3.so -fPIC sqlite3.o -ldl -lpthread
4142
# Hand-build DBD::SQLite against the version of SQLite just installed.
4243
DIST=$(cpanm --info DBD::SQLite) # ISHIGAKI/DBD-SQLite-1.70.tar.gz
4344
URL=https://cpan.metacpan.org/authors/id/${DIST:0:1}/${DIST:0:2}/$DIST
44-
curl -o dbd.tar.gz $URL
45+
curl -o dbd.tar.gz "$URL"
4546
tar zxvf dbd.tar.gz --strip-components 1
4647
perl -i -pe 's/^if\s*\(\s*0\s*\)\s\{/if (1) {/' Makefile.PL
4748
perl Makefile.PL SQLITE_INC=/opt/sqlite SQLITE_LIB=/opt/sqlite
4849
make && make install
4950

50-
if [[ ! -z "$GITHUB_PATH" ]]; then
51-
echo "/opt/sqlite" >> $GITHUB_PATH
51+
if [[ -n "$GITHUB_PATH" ]]; then
52+
echo "/opt/sqlite" >> "$GITHUB_PATH"
5253
fi
5354

54-
if [[ ! -z "$GITHUB_ENV" ]]; then
55+
if [[ -n "$GITHUB_ENV" ]]; then
5556
if [[ -z "$LD_LIBRARY_PATH" ]]; then
56-
echo "LD_LIBRARY_PATH=/opt/sqlite" >> $GITHUB_ENV
57+
echo "LD_LIBRARY_PATH=/opt/sqlite" >> "$GITHUB_ENV"
5758
else
58-
echo "LD_LIBRARY_PATH=/opt/sqlite:$LD_LIBRARY_PATH" >> $GITHUB_ENV
59+
echo "LD_LIBRARY_PATH=/opt/sqlite:$LD_LIBRARY_PATH" >> "$GITHUB_ENV"
5960
fi
6061
fi

.github/ubuntu/vertica.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ fi
1111
cat t/odbc/vertica.ini | sudo tee -a /etc/vertica.ini
1212

1313
# https://www.vertica.com/download/vertica/client-drivers/
14-
curl -sSLO https://www.vertica.com/client_drivers/12.0.x/12.0.3-0/vertica-client-12.0.3-0.x86_64.tar.gz
15-
sudo tar -xzf vertica-client-12.0.3-0.x86_64.tar.gz -C /
14+
curl -sSLO https://www.vertica.com/client_drivers/24.2.x/24.2.0-1/vertica-client-24.2.0-1.x86_64.tar.gz
15+
sudo tar -xzf vertica-client-24.2.0-1.x86_64.tar.gz -C /
1616

17-
if [[ ! -z "$GITHUB_PATH" ]]; then
18-
echo "/opt/vertica/bin" >> $GITHUB_PATH
17+
if [[ -n "$GITHUB_PATH" ]]; then
18+
echo "/opt/vertica/bin" >> "$GITHUB_PATH"
1919
fi

.github/workflows/coverage.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ jobs:
1818
ports: [ 8563 ]
1919
options: --privileged
2020
firebird:
21-
image: jacobalberty/firebird:latest
21+
image: ghcr.io/fdcastel/firebird:latest
2222
ports: [ 3050 ]
2323
env:
24-
ISC_PASSWORD: nix
24+
FIREBIRD_ROOT_PASSWORD: nix
2525
FIREBIRD_DATABASE: sqitchtest.db
2626
mysql:
2727
image: mysql:latest
@@ -44,9 +44,9 @@ jobs:
4444
image: vertica/vertica-ce:latest
4545
ports: [ 5433 ]
4646
steps:
47-
# https://github.com/orgs/community/discussions/25678#discussioncomment-5242449
47+
# https://github.com/orgs/community/discussions/25678#discussioncomment-9017167
4848
- name: Free Disk Space
49-
run: rm -rf /opt/hostedtoolcache
49+
run: find /opt -maxdepth 1 -mindepth 1 '!' -path ./containerd '!' -path ./actionarchivecache '!' -path ./runner '!' -path ./runner-cache -exec rm -rf '{}' ';'
5050
- name: Start CockroachDB
5151
run: docker run -d -p 26257:26257 cockroachdb/cockroach:latest start-single-node --insecure
5252
- uses: actions/checkout@v4
@@ -75,15 +75,15 @@ jobs:
7575
.github/ubuntu/snowflake.sh
7676
.github/ubuntu/vertica.sh
7777
- run: cpm install --verbose --show-build-log-on-failure --no-test --with-recommends --cpanfile dist/cpanfile
78-
- run: cpm install --verbose --show-build-log-on-failure --no-test --with-recommends DBI DBD::ODBC DBD::Firebird DBD::Oracle DBD::mysql DBD::Pg Devel::Cover Devel::Cover::Report::Coveralls
78+
- run: cpm install --verbose --show-build-log-on-failure --no-test --with-recommends DBI DBD::ODBC DBD::Firebird DBD::Oracle DBD::MariaDB DBD::Pg Devel::Cover Devel::Cover::Report::Coveralls
7979
- name: Run Tests
8080
env:
8181
PERL5LIB: "${{ github.workspace }}/local/lib/perl5"
8282
HARNESS_PERL_SWITCHES: -MDevel::Cover=-ignore,^(?:x?t|inc|bin|local)/
8383
LIVE_EXASOL_REQUIRED: true
84-
SQITCH_TEST_EXASOL_URI: db:exasol://sys:[email protected]:${{ job.services.exasol.ports[8563] }}/?Driver=Exasol;SSLCertificate=SSL_VERIFY_NONE
84+
SQITCH_TEST_EXASOL_URI: db:exasol://sys:[email protected]:${{ job.services.exasol.ports[8563] }}/?Driver=Exasol;SSLCERTIFICATE=SSL_VERIFY_NONE
8585
LIVE_FIREBIRD_REQUIRED: true
86-
SQITCH_TEST_FIREBIRD_URI: db:firebird://sysdba:[email protected]:${{ job.services.firebird.ports[3050] }}//firebird/data/sqitchtest.db
86+
SQITCH_TEST_FIREBIRD_URI: db:firebird://sysdba:[email protected]:${{ job.services.firebird.ports[3050] }}//var/lib/firebird/data/sqitchtest.db
8787
LIVE_MYSQL_REQUIRED: true
8888
SQITCH_TEST_MYSQL_URI: "db:mysql://[email protected]:${{ job.services.mysql.ports[3306] }}/information_schema"
8989
LIVE_ORACLE_REQUIRED: true

0 commit comments

Comments
 (0)