1
0
Fork 0
mirror of https://github.com/betagouv/mon-entreprise synced 2025-02-08 23:25:02 +00:00
mon-entreprise/circle.yml
Johan Girod 046076f32d 🔥 renomme la commande 'compile' en 'build' pour être conforme aux normes
Et éviter de créer de la confusion si une prochaine commande compile devait venir pour la compilation des règles publicodes
2020-05-18 20:10:03 +02:00

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