Skip to content

Commit 8f56b8c

Browse files
charmanderbrianc
authored andcommitted
Add PostgreSQL 10 to CI (#1947)
* Exit with error code when create-test-tables fails * Add PostgreSQL 10 to CI and change to Ubuntu 18.04 so building OpenSSL isn’t necessary, and move old PostgreSQL version tests to the latest Node LTS. * Add Node 13 to CI * Preserve create-test-tables’s compatibility with PostgreSQL <9.4
1 parent 30f67bb commit 8f56b8c

File tree

5 files changed

+66
-122
lines changed

5 files changed

+66
-122
lines changed

Diff for: .travis.yml

+35-29
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,56 @@
11
language: node_js
2-
sudo: true
3-
dist: trusty
2+
dist: bionic
43

54
before_script:
65
- node script/create-test-tables.js pg://[email protected]:5432/postgres
7-
8-
before_install:
9-
- if [ $TRAVIS_OS_NAME == "linux" ]; then
10-
if [[ $(node -v) =~ v[1-9][0-9] ]]; then
11-
source ./ci_scripts/build.sh;
12-
fi
13-
fi
14-
6+
157
env:
168
- CC=clang CXX=clang++ npm_config_clang=1 PGUSER=postgres PGDATABASE=postgres
179

10+
node_js:
11+
- lts/dubnium
12+
- lts/erbium
13+
- 13
14+
15+
addons:
16+
postgresql: "10"
17+
1818
matrix:
1919
include:
20-
- node_js: "lts/boron"
21-
addons:
22-
postgresql: "9.6"
23-
- node_js: "lts/argon"
24-
addons:
25-
postgresql: "9.6"
26-
- node_js: "10"
20+
# different Node versions on PostgreSQL 9.5 that require precise
21+
- node_js: lts/argon
2722
addons:
28-
postgresql: "9.6"
29-
- node_js: "12"
30-
addons:
31-
postgresql: "9.6"
32-
- node_js: "lts/carbon"
23+
postgresql: "9.5"
24+
dist: precise
25+
- node_js: lts/boron
3326
addons:
34-
postgresql: "9.1"
27+
postgresql: "9.5"
3528
dist: precise
36-
- node_js: "lts/carbon"
29+
- node_js: lts/carbon
3730
addons:
38-
postgresql: "9.2"
39-
- node_js: "lts/carbon"
31+
postgresql: "9.5"
32+
dist: precise
33+
34+
# different PostgreSQL versions on Node LTS
35+
- node_js: lts/erbium
4036
addons:
4137
postgresql: "9.3"
42-
- node_js: "lts/carbon"
38+
- node_js: lts/erbium
4339
addons:
4440
postgresql: "9.4"
45-
- node_js: "lts/carbon"
41+
- node_js: lts/erbium
4642
addons:
4743
postgresql: "9.5"
48-
- node_js: "lts/carbon"
44+
- node_js: lts/erbium
4945
addons:
5046
postgresql: "9.6"
47+
48+
# PostgreSQL 9.1 and 9.2 only work on precise
49+
- node_js: lts/carbon
50+
addons:
51+
postgresql: "9.1"
52+
dist: precise
53+
- node_js: lts/carbon
54+
addons:
55+
postgresql: "9.2"
56+
dist: precise

Diff for: ci_scripts/build.sh

-9
This file was deleted.

Diff for: ci_scripts/install_libpq.sh

-38
This file was deleted.

Diff for: ci_scripts/install_openssl.sh

-35
This file was deleted.

Diff for: script/create-test-tables.js

+31-11
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,35 @@ var con = new pg.Client({
3838
password: args.password,
3939
database: args.database
4040
})
41-
con.connect()
42-
var query = con.query('drop table if exists person')
43-
con.query('create table person(id serial, name varchar(10), age integer)', (err, res) => {
44-
console.log('Created table person')
45-
console.log('Filling it with people')
46-
})
47-
people.map(function (person) {
48-
return con.query(new pg.Query("insert into person(name, age) values('" + person.name + "', '" + person.age + "')"))
49-
}).pop().on('end', function () {
50-
console.log('Inserted 26 people')
51-
con.end()
41+
42+
con.connect((err) => {
43+
if (err) {
44+
throw err
45+
}
46+
47+
con.query(
48+
'DROP TABLE IF EXISTS person;'
49+
+ ' CREATE TABLE person (id serial, name varchar(10), age integer)',
50+
(err) => {
51+
if (err) {
52+
throw err
53+
}
54+
55+
console.log('Created table person')
56+
console.log('Filling it with people')
57+
58+
con.query(
59+
'INSERT INTO person (name, age) VALUES'
60+
+ people
61+
.map((person) => ` ('${person.name}', ${person.age})`)
62+
.join(','),
63+
(err, result) => {
64+
if (err) {
65+
throw err
66+
}
67+
68+
console.log(`Inserted ${result.rowCount} people`)
69+
con.end()
70+
})
71+
})
5272
})

0 commit comments

Comments
 (0)