Skip to content

Develop

Develop #1283

Workflow file for this run

name: Install, build, lint and tests
on: pull_request
jobs:
package-dedupe:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: package.json
- name: Check for duplicate dependencies (fix w/ "yarn dedupe")
run: yarn dedupe --check
lint-and-typecheck-typescript:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: package.json
- name: Install packages
run: yarn --immutable
- name: Run the TS linter
run: yarn lint:typescript
- name: Run the typescript
run: yarn typecheck:typescript
lint-css:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: package.json
- name: Install packages
run: yarn --immutable
- name: Run the CSS linter
run: yarn lint:scss
tests-typescript:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:13.7-alpine # Conserver la même version avec le fichier docker-compose.yaml
env:
POSTGRES_DB: helios
POSTGRES_PASSWORD: h3li0s
POSTGRES_PORT: 5432
POSTGRES_USER: helios
ports:
- 5433:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
strategy:
matrix:
side: ['back', 'front']
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: package.json
- name: Install packages
run: yarn --immutable
- name: Run the tests
env:
DATABASE_URL: postgres://helios:h3li0s@localhost:5433/helios
run: yarn test:typescript:${{ matrix.side }}
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: package.json
- name: Install packages
env:
YARN_NODE_LINKER: pnp
run: yarn --immutable
- name: Build the app
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
YARN_NODE_LINKER: pnp
run: yarn build
python:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:13.7-alpine # Conserver la même version avec le fichier docker-compose.yaml
env:
POSTGRES_DB: helios
POSTGRES_PASSWORD: h3li0s
POSTGRES_PORT: 5432
POSTGRES_USER: helios
ports:
- 5433:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: package.json
- name: Install packages
run: yarn --immutable
- name: Run the migrations
env:
NODE_ENV: test
run: yarn migrations:up
- name: Install pipenv
run: pipx install pipenv
- uses: actions/setup-python@v4
with:
cache: pipenv
python-version: 3.10.8 # Conserver la même version que celle dans Pipfile
- name: Install dependencies
run: pipenv install --dev --deploy
- name: Lint
run: pipenv run lint
- name: Type check
run: pipenv run typecheck
- name: Create the DIAMANT public key
env:
DIAMANT_PRIVATE_KEY: ${{ secrets.DIAMANT_PRIVATE_KEY }}
run: echo "$DIAMANT_PRIVATE_KEY" | gpg --import
- name: Test
run: pipenv run test_coverage