mirror of
https://github.com/betagouv/mon-entreprise
synced 2025-02-08 23:25:02 +00:00
046076f32d
Et éviter de créer de la confusion si une prochaine commande compile devait venir pour la compilation des règles publicodes
127 lines
3.2 KiB
YAML
127 lines
3.2 KiB
YAML
version: 2.1
|
|
commands:
|
|
install:
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
keys:
|
|
- v1-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
|
- v1-deps-{{ .Branch }}
|
|
- v1-deps
|
|
- run: yarn install --frozen-lockfile
|
|
- save_cache:
|
|
key: v1-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
|
paths:
|
|
- ~/.cache
|
|
cypress:
|
|
parameters:
|
|
language:
|
|
type: enum
|
|
enum: [fr, en]
|
|
default: fr
|
|
integration_folder:
|
|
type: enum
|
|
enum: [mon-entreprise, external, publi.codes]
|
|
default: mon-entreprise
|
|
base_url:
|
|
type: string
|
|
default: https://mon-entreprise.fr
|
|
steps:
|
|
- run: |
|
|
cd mon-entreprise
|
|
CYPRESS_baseUrl=<< parameters.base_url >> yarn run cypress run --record --key 21660df5-36a5-4c49-b23d-801799b0c759 --env language=<< parameters.language >> --config integrationFolder=cypress/integration/<< parameters.integration_folder >>
|
|
|
|
jobs:
|
|
lint:
|
|
docker:
|
|
- image: node:12.16.1-buster
|
|
steps:
|
|
- install
|
|
- run: |
|
|
yarn lint:eslintrc
|
|
yarn lint:eslint --quiet
|
|
yarn lint:prettier
|
|
type-check:
|
|
docker:
|
|
- image: node:12.16.1-buster
|
|
steps:
|
|
- install
|
|
- run: yarn test:type
|
|
i18n-check:
|
|
docker:
|
|
- image: node:12.16.1-buster
|
|
steps:
|
|
- install
|
|
- run: |
|
|
cd mon-entreprise
|
|
yarn run i18n:rules:check
|
|
yarn run i18n:ui:check
|
|
|
|
unit-test:
|
|
docker:
|
|
- image: node:12.16.1-buster
|
|
steps:
|
|
- install
|
|
- run: git config --global core.quotepath false
|
|
- run: yarn test
|
|
- run: yarn test:regressions
|
|
|
|
end-to-end-test:
|
|
docker:
|
|
- image: cypress/base:12.16.1
|
|
environment:
|
|
TERM: xterm
|
|
resource_class: medium+
|
|
steps:
|
|
- install
|
|
- run: yarn workspace mon-entreprise build:dev
|
|
- run:
|
|
command: yarn workspace mon-entreprise serve:dev
|
|
background: true
|
|
- cypress:
|
|
base_url: http://localhost:5000
|
|
- cypress:
|
|
base_url: http://localhost:5001
|
|
language: en
|
|
- cypress:
|
|
base_url: http://localhost:5002
|
|
integration_folder: publi.codes
|
|
|
|
production-end-to-end-test:
|
|
docker:
|
|
- image: cypress/base:12.16.1
|
|
environment:
|
|
TERM: xterm
|
|
resource_class: medium+
|
|
parallelism: 3
|
|
steps:
|
|
- install
|
|
- cypress:
|
|
base_url: https://mon-entreprise.fr
|
|
- cypress:
|
|
base_url: https://mycompanyinfrance.fr
|
|
language: en
|
|
- cypress:
|
|
integration_folder: external
|
|
- cypress:
|
|
base_url: https://publi.codes
|
|
integration_folder: publi.codes
|
|
- run:
|
|
name: Send email if test failed
|
|
when: on_fail
|
|
command: >
|
|
curl -H 'Content-Type: application/json' --request POST -d '{"success": false}' https://hooks.zapier.com/hooks/catch/3746650/qsp818/;
|
|
|
|
workflows:
|
|
version: 2
|
|
test:
|
|
jobs:
|
|
- lint
|
|
- type-check
|
|
- i18n-check
|
|
- unit-test
|
|
- end-to-end-test
|
|
- production-end-to-end-test:
|
|
filters:
|
|
branches:
|
|
only: master
|