Skip to content

Feat/form brown bear #2118

Feat/form brown bear

Feat/form brown bear #2118

Workflow file for this run

# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Node.js CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
sqlite:
runs-on: ubuntu-latest
strategy:
matrix:
redis-version: [3, latest]
steps:
- name: Install imagemagick and HEIF support
run: |
sudo apt-get update
sudo apt-get install -y imagemagick libheif-examples
- uses: actions/checkout@v6
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
- name: Start Redis ${{ matrix.redis-version }}
uses: zhulik/redis-action@1.1.0
with:
redis version: ${{ matrix.redis-version }}
- run: npm ci
- run: npm run test:sqlite
env:
CI: true
postgres:
runs-on: ubuntu-latest
strategy:
matrix:
redis-version: [3, latest]
postgresql-version: [17.3-alpine, latest]
steps:
- name: Install HEIF support
run: |
sudo apt-get update
sudo apt-get install -y libheif-examples
- uses: actions/checkout@v6
- name: Start Postgres ${{ matrix.postgresql-version }}
uses: harmon758/postgresql-action@v1
with:
postgresql version: ${{ matrix.postgresql-version }}
postgresql db: testdb
postgresql user: testuser
postgresql password: testpass
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
- name: Start Redis ${{ matrix.redis-version }}
uses: zhulik/redis-action@1.1.0
with:
redis version: ${{ matrix.redis-version }}
- run: npm ci
- run: npm run test:pg
env:
CI: true
TEST_DATABASE_URL: 'postgres://testuser:testpass@localhost/testdb'
dbschema:
runs-on: ubuntu-latest
strategy:
matrix:
redis-version: [3]
postgresql-version: [17.3-alpine]
steps:
# Step to install PostgreSQL 17 client tools and HEIF support
- name: Add PostgreSQL 17 repository
run: |
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install -y postgresql-client-17 libheif-examples
# Ensure PostgreSQL 17 binaries are used by exporting the correct PATH
- name: Check version of pg_dump
run: |
export PATH="/usr/lib/postgresql/17/bin:$PATH"
pg_dump -V
- uses: actions/checkout@v6
- name: Start Postgres ${{ matrix.postgresql-version }}
uses: harmon758/postgresql-action@v1
with:
postgresql version: ${{ matrix.postgresql-version }}
postgresql db: testdb
postgresql user: testuser
postgresql password: testpass
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
- name: Start Redis ${{ matrix.redis-version }}
uses: zhulik/redis-action@1.1.0
with:
redis version: ${{ matrix.redis-version }}
- run: npm ci
- run: npm run test:dbschema
env:
CI: true
TEST_DATABASE_URL: 'postgres://testuser:testpass@localhost/testdb'