Skip to content

feat(ci): added node_modules cache in github actions #6216

feat(ci): added node_modules cache in github actions

feat(ci): added node_modules cache in github actions #6216

Workflow file for this run

# This workflow will do a clean installation of node dependencies, cache/restore them, 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]
env:
BASE_URL: "https://vae.gouv.fr"
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.x]
defaults:
run:
working-directory: ./packages/reva-api
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Api node_modules cache
id: api-node_modules-cache
uses: actions/cache@v4
with:
path: ./packages/reva-api/node_modules
key: node_modules-${{ hashFiles('**/package-lock.json') }}
- name: Installing dependencies
if: steps.api-node_modules-cache.outputs.cache-hit != 'true'
run: npm ci
- name: Building
run: npm run build --if-present
integration-tests:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.x]
defaults:
run:
working-directory: ./packages/reva-api
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Api node_modules cache
id: api-node_modules-cache
uses: actions/cache@v4
with:
path: ./packages/reva-api/node_modules
key: node_modules-${{ hashFiles('**/package-lock.json') }}
- name: Installing dependencies
if: steps.api-node_modules-cache.outputs.cache-hit != 'true'
run: npm ci
- name: Setup Postgres database
uses: Daniel-Marynicz/postgresql-action@master
with:
postgres_image_tag: 13-alpine
app_user: reva
app_user_password: password
app_db: reva-test
exposed_postgres_port: 5444
postgres_extensions: uuid-ossp unaccent pg_trgm plpgsql cube earthdistance
- name: Launch tests
run: npm run test