Skip to content

Commit 9b1bac9

Browse files
committed
Bring back a self build sqlite version for ubuntu as the distro provided version is broken
https://bugs.launchpad.net/ubuntu/+source/sqlite3/+bug/2087772
1 parent 0b625bc commit 9b1bac9

File tree

1 file changed

+37
-3
lines changed

1 file changed

+37
-3
lines changed

.github/workflows/ci.yml

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,41 @@ jobs:
7979
- name: Install sqlite (Linux)
8080
if: runner.os == 'Linux' && matrix.backend == 'sqlite'
8181
run: |
82-
sudo apt-get update
83-
sudo apt-get install -y libsqlite3-dev
82+
# ubuntu's libsqlite3 version is currently broken
83+
# https://bugs.launchpad.net/ubuntu/+source/sqlite3/+bug/2087772
84+
# That results in segfaults in our tests :(
85+
sudo apt-get remove libsqlite3-dev
86+
curl -fsS --retry 3 -o sqlite-autoconf-3400100.tar.gz https://www.sqlite.org/2022/sqlite-autoconf-3400100.tar.gz
87+
tar zxf sqlite-autoconf-3400100.tar.gz
88+
cd sqlite-autoconf-3400100
89+
CFLAGS="$CFLAGS -O2 -fno-strict-aliasing \
90+
-DSQLITE_DEFAULT_FOREIGN_KEYS=1 \
91+
-DSQLITE_SECURE_DELETE \
92+
-DSQLITE_ENABLE_COLUMN_METADATA \
93+
-DSQLITE_ENABLE_FTS3_PARENTHESIS \
94+
-DSQLITE_ENABLE_RTREE=1 \
95+
-DSQLITE_SOUNDEX=1 \
96+
-DSQLITE_ENABLE_UNLOCK_NOTIFY \
97+
-DSQLITE_OMIT_LOOKASIDE=1 \
98+
-DSQLITE_ENABLE_DBSTAT_VTAB \
99+
-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 \
100+
-DSQLITE_ENABLE_LOAD_EXTENSION \
101+
-DSQLITE_ENABLE_JSON1 \
102+
-DSQLITE_LIKE_DOESNT_MATCH_BLOBS \
103+
-DSQLITE_THREADSAFE=1 \
104+
-DSQLITE_ENABLE_FTS3_TOKENIZER=1 \
105+
-DSQLITE_MAX_SCHEMA_RETRY=25 \
106+
-DSQLITE_ENABLE_PREUPDATE_HOOK \
107+
-DSQLITE_ENABLE_SESSION \
108+
-DSQLITE_ENABLE_STMTVTAB \
109+
-DSQLITE_MAX_VARIABLE_NUMBER=250000" \
110+
./configure --prefix=/usr \
111+
--enable-threadsafe \
112+
--enable-dynamic-extensions \
113+
--libdir=/usr/lib/x86_64-linux-gnu \
114+
--libexecdir=/usr/lib/x86_64-linux-gnu/sqlite3
115+
sudo make
116+
sudo make install
84117
echo "SQLITE_DATABASE_URL=/tmp/test.db" >> $GITHUB_ENV
85118
86119
- name: Install mysql (Linux)
@@ -485,9 +518,10 @@ jobs:
485518
key: mysql_bundled-cargo-${{ hashFiles('**/Cargo.toml') }}
486519
- name: Install Mysql (Linux)
487520
run: |
488-
sudo systemctl start mysql.service
489521
sudo apt-get update
490522
sudo apt-get -y install libmysqlclient-dev llvm
523+
sudo systemctl start mysql.service
524+
sleep 5
491525
mysql -e "create database diesel_test; create database diesel_unit_test; grant all on \`diesel_%\`.* to 'root'@'localhost';" -uroot -proot
492526
echo "MYSQL_DATABASE_URL=mysql://root:[email protected]/diesel_test" >> $GITHUB_ENV
493527
echo "MYSQL_EXAMPLE_DATABASE_URL=mysql://root:[email protected]/diesel_example" >> $GITHUB_ENV

0 commit comments

Comments
 (0)