Skip to content

Commit 3f49d51

Browse files
authored
Test against multiple versions of Postgres (#7176)
* Update ci.yml * Add Postgis 3.0 test * remove POSTGRES_MAJOR_VERSION from CI and script * update docs * nits * nit * Add postgres badges * Add Postgres to TOC * Shorten mongo and postgres descriptions * Add badge for node, update mongo/postgres badges * Add nodejs to TOC * fix node js TOC * Nit * more nits
1 parent 4a3815d commit 3f49d51

File tree

4 files changed

+36
-16
lines changed

4 files changed

+36
-16
lines changed

.github/workflows/ci.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,20 @@ jobs:
114114
CI: true
115115
- run: bash <(curl -s https://codecov.io/bash)
116116
check-postgres:
117-
name: Postgresql
117+
strategy:
118+
matrix:
119+
include:
120+
- name: Postgres 10, Postgis 3.1
121+
POSTGRES_IMAGE: postgis/postgis:10-3.1
122+
- name: Postgres 11, Postgis 3.1
123+
POSTGRES_IMAGE: postgis/postgis:11-3.1
124+
- name: Postgres 12, Postgis 3.1
125+
POSTGRES_IMAGE: postgis/postgis:12-3.1
126+
- name: Postgres 12, Postgis 3.0
127+
POSTGRES_IMAGE: postgis/postgis:12-3.0
128+
- name: Postgres 13, Postgis 3.1
129+
POSTGRES_IMAGE: postgis/postgis:13-3.1
130+
name: ${{ matrix.name }}
118131
timeout-minutes: 30
119132
runs-on: ubuntu-18.04
120133
services:
@@ -123,7 +136,7 @@ jobs:
123136
ports:
124137
- 6379:6379
125138
postgres:
126-
image: postgis/postgis:11-3.0
139+
image: ${{ matrix.POSTGRES_IMAGE }}
127140
env:
128141
POSTGRES_PASSWORD: postgres
129142
ports:
@@ -135,7 +148,6 @@ jobs:
135148
--health-retries 5
136149
env:
137150
PARSE_SERVER_TEST_DB: postgres
138-
POSTGRES_MAJOR_VERSION: 11
139151
PARSE_SERVER_TEST_DATABASE_URI: postgres://postgres:postgres@localhost:5432/parse_server_postgres_adapter_test_database
140152
steps:
141153
- uses: actions/checkout@v2
@@ -156,4 +168,4 @@ jobs:
156168
- run: npm run coverage
157169
env:
158170
CI: true
159-
- run: bash <(curl -s https://codecov.io/bash)
171+
- run: bash <(curl -s https://codecov.io/bash)

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ ___
1414
- IMPROVE: Parse Server is from now on continuously tested against all recent MongoDB versions that have not reached their end-of-life support date. Added MongoDB compatibility table to Parse Server docs. [7161](https://github.com/parse-community/parse-server/pull/7161). Thanks to [Manuel Trezza](https://github.com/mtrezza).
1515
- IMPROVE: Parse Server is from now on continuously tested against all recent Node.js versions that have not reached their end-of-life support date. [7161](https://github.com/parse-community/parse-server/pull/7177). Thanks to [Manuel Trezza](https://github.com/mtrezza).
1616
- IMPROVE: Optimize queries on classes with pointer permissions. [#7061](https://github.com/parse-community/parse-server/pull/7061). Thanks to [Pedro Diaz](https://github.com/pdiaz)
17+
- IMPROVE: Parse Server will from now on be continuously tested against all relevant Postgres versions (minor versions). Added Postgres compatibility table to Parse Server docs. [#7176](https://github.com/parse-community/parse-server/pull/7176). Thanks to [Corey Baker](https://github.com/cbaker6).
1718
- FIX: request.context for afterFind triggers. [#7078](https://github.com/parse-community/parse-server/pull/7078). Thanks to [dblythy](https://github.com/dblythy)
1819
- FIX: Winston Logger interpolating stdout to console [#7114](https://github.com/parse-community/parse-server/pull/7114). Thanks to [dplewis](https://github.com/dplewis)
1920

README.md

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,9 @@
1717
<a href="https://www.npmjs.com/package/parse-server"><img alt="npm version" src="https://img.shields.io/npm/v/parse-server.svg?style=flat"></a>
1818
<a href="https://community.parseplatform.org/"><img alt="Join the conversation" src="https://img.shields.io/discourse/https/community.parseplatform.org/topics.svg"></a>
1919
<a href="https://snyk.io/test/github/parse-community/parse-server"><img alt="Snyk badge" src="https://snyk.io/test/github/parse-community/parse-server/badge.svg"></a>
20-
</p>
21-
22-
<p align="center">
23-
<img alt="MongoDB 3.6" src="https://img.shields.io/badge/mongodb-3.6-green.svg?logo=mongodb&style=flat">
24-
<img alt="MongoDB 4.0" src="https://img.shields.io/badge/mongodb-4.0-green.svg?logo=mongodb&style=flat">
25-
<img alt="MongoDB 4.2" src="https://img.shields.io/badge/mongodb-4.2-green.svg?logo=mongodb&style=flat">
26-
<img alt="MongoDB 4.4" src="https://img.shields.io/badge/mongodb-4.4-green.svg?logo=mongodb&style=flat">
20+
<a href="https://nodejs.org/"><img alt="Node.js 10,12,14,15" src="https://img.shields.io/badge/nodejs-10,_12,_14,_15-green.svg?logo=node.js&style=flat"></a>
21+
<a href="https://www.mongodb.com/"><img alt="MongoDB 3.6,4.0,4.2,4.4" src="https://img.shields.io/badge/mongodb-3.6,_4.0,_4.2,_4.4-green.svg?logo=mongodb&style=flat"></a>
22+
<a href="https://www.postgresql.org"> <img alt="PostgreSQL 10,11,12,13" src="https://img.shields.io/badge/postgresql-10,_11,_12,_13-green.svg?logo=postgresql&style=flat"></a>
2723
</p>
2824

2925
<h2 align="center">Our Sponsors</h2>
@@ -48,7 +44,9 @@ The full documentation for Parse Server is available in the [wiki](https://githu
4844
- [Getting Started](#getting-started)
4945
- [Running Parse Server](#running-parse-server)
5046
- [Compatibility](#compatibility)
51-
- [MongoDB Support](#mongodb-support)
47+
- [Node.js](#nodejs-support)
48+
- [MongoDB](#mongodb-support)
49+
- [PostgreSQL](#postgresql-support)
5250
- [Locally](#locally)
5351
- [Docker Container](#docker-container)
5452
- [Saving an Object](#saving-an-object)
@@ -104,7 +102,7 @@ Before you start make sure you have installed:
104102
### Compatibility
105103

106104
#### Node.js
107-
Parse Server is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the [Node.js Long Term Support plan](https://github.com/nodejs/Release) and only test against versions that are officially supported and have not reached their end-of-life date yet.
105+
Parse Server is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the [Node.js Long Term Support plan](https://github.com/nodejs/Release) and only test against versions that are officially supported and have not reached their end-of-life date.
108106

109107
| Version | Latest Patch Version | End-of-Life Date | Compatibility |
110108
|------------|----------------------|------------------|--------------------|
@@ -114,15 +112,24 @@ Parse Server is continuously tested with the most recent releases of Node.js to
114112
| Node.js 15 | 15.8.0 | June 2021 | ✅ Fully compatible |
115113

116114
#### MongoDB
117-
Parse Server is continuously tested with the most recent releases of MongoDB to ensure compatibility. We follow the [MongoDB support schedule](https://www.mongodb.com/support-policy) and only test against versions that are officially supported and have not reached their end-of-life date yet.
115+
Parse Server is continuously tested with the most recent releases of MongoDB to ensure compatibility. We follow the [MongoDB support schedule](https://www.mongodb.com/support-policy) and only test against versions that are officially supported and have not reached their end-of-life date.
118116

119117
| Version | Latest Patch Version | End-of-Life Date | Compatibility |
120118
|-------------|----------------------|------------------|--------------------|
121119
| MongoDB 3.6 | 3.6.21 | April 2021 | ✅ Fully compatible |
122120
| MongoDB 4.0 | 4.0.22 | January 2022 | ✅ Fully compatible |
123121
| MongoDB 4.2 | 4.2.12 | TBD | ✅ Fully compatible |
124122
| MongoDB 4.4 | 4.4.3 | TBD | ✅ Fully compatible |
125-
123+
124+
#### PostgreSQL
125+
Parse Server is continuously tested with the most recent releases of PostgreSQL and PostGIS to ensure compatibility. We follow the [PostGIS docker tags](https://registry.hub.docker.com/r/postgis/postgis/tags?page=1&ordering=last_updated) and only test against versions that are officially supported and have not reached their end-of-life date.
126+
127+
| Version | PostGIS Version | End-of-Life Date | Compatibility |
128+
|------------------|-----------------|------------------|--------------------|
129+
| Postgres 10.x | 3.0.x, 3.1.x | November 2022 | ✅ Fully compatible |
130+
| Postgres 11.x | 3.0.x, 3.1.x | November 2023 | ✅ Fully compatible |
131+
| Postgres 12.x | 3.0.x, 3.1.x | November 2024 | ✅ Fully compatible |
132+
| Postgres 13.x | 3.0.x, 3.1.x | November 2025 | ✅ Fully compatible |
126133

127134
### Locally
128135
```bash

scripts/before_script_postgres.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
set -e
44

5-
echo "[SCRIPT] Before Script :: Setup Parse DB for Postgres ${POSTGRES_MAJOR_VERSION}"
5+
echo "[SCRIPT] Before Script :: Setup Parse DB for Postgres"
66

77
PGPASSWORD=postgres psql -v ON_ERROR_STOP=1 -h localhost -U postgres <<-EOSQL
88
CREATE DATABASE parse_server_postgres_adapter_test_database;

0 commit comments

Comments
 (0)