Skip to content

Commit

Permalink
Test against multiple versions of Postgres (#7176)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
cbaker6 committed Feb 11, 2021
1 parent 4a3815d commit 3f49d51
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 16 deletions.
20 changes: 16 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,20 @@ jobs:
CI: true
- run: bash <(curl -s https://codecov.io/bash)
check-postgres:
name: Postgresql
strategy:
matrix:
include:
- name: Postgres 10, Postgis 3.1
POSTGRES_IMAGE: postgis/postgis:10-3.1
- name: Postgres 11, Postgis 3.1
POSTGRES_IMAGE: postgis/postgis:11-3.1
- name: Postgres 12, Postgis 3.1
POSTGRES_IMAGE: postgis/postgis:12-3.1
- name: Postgres 12, Postgis 3.0
POSTGRES_IMAGE: postgis/postgis:12-3.0
- name: Postgres 13, Postgis 3.1
POSTGRES_IMAGE: postgis/postgis:13-3.1
name: ${{ matrix.name }}
timeout-minutes: 30
runs-on: ubuntu-18.04
services:
Expand All @@ -123,7 +136,7 @@ jobs:
ports:
- 6379:6379
postgres:
image: postgis/postgis:11-3.0
image: ${{ matrix.POSTGRES_IMAGE }}
env:
POSTGRES_PASSWORD: postgres
ports:
Expand All @@ -135,7 +148,6 @@ jobs:
--health-retries 5
env:
PARSE_SERVER_TEST_DB: postgres
POSTGRES_MAJOR_VERSION: 11
PARSE_SERVER_TEST_DATABASE_URI: postgres://postgres:postgres@localhost:5432/parse_server_postgres_adapter_test_database
steps:
- uses: actions/checkout@v2
Expand All @@ -156,4 +168,4 @@ jobs:
- run: npm run coverage
env:
CI: true
- run: bash <(curl -s https://codecov.io/bash)
- run: bash <(curl -s https://codecov.io/bash)
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ ___
- 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).
- 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).
- 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)
- 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).
- FIX: request.context for afterFind triggers. [#7078](https://github.com/parse-community/parse-server/pull/7078). Thanks to [dblythy](https://github.com/dblythy)
- FIX: Winston Logger interpolating stdout to console [#7114](https://github.com/parse-community/parse-server/pull/7114). Thanks to [dplewis](https://github.com/dplewis)

Expand Down
29 changes: 18 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,9 @@
<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>
<a href="https://community.parseplatform.org/"><img alt="Join the conversation" src="https://img.shields.io/discourse/https/community.parseplatform.org/topics.svg"></a>
<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>
</p>

<p align="center">
<img alt="MongoDB 3.6" src="https://img.shields.io/badge/mongodb-3.6-green.svg?logo=mongodb&style=flat">
<img alt="MongoDB 4.0" src="https://img.shields.io/badge/mongodb-4.0-green.svg?logo=mongodb&style=flat">
<img alt="MongoDB 4.2" src="https://img.shields.io/badge/mongodb-4.2-green.svg?logo=mongodb&style=flat">
<img alt="MongoDB 4.4" src="https://img.shields.io/badge/mongodb-4.4-green.svg?logo=mongodb&style=flat">
<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>
<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>
<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>
</p>

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

#### Node.js
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.
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.

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

#### MongoDB
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.
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.

| Version | Latest Patch Version | End-of-Life Date | Compatibility |
|-------------|----------------------|------------------|--------------------|
| MongoDB 3.6 | 3.6.21 | April 2021 | ✅ Fully compatible |
| MongoDB 4.0 | 4.0.22 | January 2022 | ✅ Fully compatible |
| MongoDB 4.2 | 4.2.12 | TBD | ✅ Fully compatible |
| MongoDB 4.4 | 4.4.3 | TBD | ✅ Fully compatible |


#### PostgreSQL
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.

| Version | PostGIS Version | End-of-Life Date | Compatibility |
|------------------|-----------------|------------------|--------------------|
| Postgres 10.x | 3.0.x, 3.1.x | November 2022 | ✅ Fully compatible |
| Postgres 11.x | 3.0.x, 3.1.x | November 2023 | ✅ Fully compatible |
| Postgres 12.x | 3.0.x, 3.1.x | November 2024 | ✅ Fully compatible |
| Postgres 13.x | 3.0.x, 3.1.x | November 2025 | ✅ Fully compatible |

### Locally
```bash
Expand Down
2 changes: 1 addition & 1 deletion scripts/before_script_postgres.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

set -e

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

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

0 comments on commit 3f49d51

Please sign in to comment.