mon-entreprise/circle.yml

139 lines
4.1 KiB
YAML
Raw Normal View History

version: 2.1
commands:
install:
steps:
- checkout
- restore_cache:
keys:
- v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
- v1-deps-{{ .Branch }}
- v1-deps
- run: yarn install --frozen-lockfile
- save_cache:
key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
paths:
- ~/.cache
jobs:
unit-test:
docker:
- image: node
steps:
- install
- run: |
yarn run flow-typed install
git config --global core.quotepath false
yarn test
end-to-end-test:
parameters:
site:
type: enum
enum: ['embauche', 'mon-entreprise', 'mycompanyinfrance']
cypress_folder:
type: enum
enum: ['embauche', 'mon-entreprise']
default: mon-entreprise
language:
type: enum
enum: ['fr', 'en']
default: 'fr'
2018-08-24 14:35:42 +00:00
docker:
- image: cypress/base:8
environment:
## this enables colors in the output
TERM: xterm
CYPRESS_baseUrl: http://localhost:5000
2018-08-24 14:35:42 +00:00
steps:
- install
- run: |
yarn run compile
yarn run << parameters.site >>:serve &
yarn run cypress run --record --key 21660df5-36a5-4c49-b23d-801799b0c759 --env language=<< parameters.language >> --config integrationFolder=cypress/integration/<< parameters.cypress_folder >>'
production-end-to-end-test:
parameters:
site:
type: string
default: ''
cypress_folder:
type: enum
enum: ['embauche', 'mon-entreprise', 'external']
default: mon-entreprise
language:
type: enum
enum: ['fr', 'en']
default: 'fr'
2018-09-06 16:38:37 +00:00
docker:
- image: cypress/base:8
environment:
## this enables colors in the output
TERM: xterm
CYPRESS_baseUrl: << parameters.site >>
2018-09-06 16:38:37 +00:00
steps:
2018-09-06 17:37:20 +00:00
- checkout
2018-09-06 16:38:37 +00:00
- run: npm install --save-dev cypress
- run: sleep 300
2018-09-06 17:35:42 +00:00
- run: |
if ./node_modules/.bin/cypress run --record --key 21660df5-36a5-4c49-b23d-801799b0c759 --env language=<< parameters.language >> --config integrationFolder=cypress/integration/<< parameters.cypress_folder >>;
2018-09-06 17:35:42 +00:00
then
echo "SUCCESS \o/"
else
2018-09-06 17:42:27 +00:00
curl -H 'Content-Type: application/json' --request POST -d '{"success": false}' https://hooks.zapier.com/hooks/catch/3746650/qsp818/;
2018-09-06 17:35:42 +00:00
exit 1;
fi
workflows:
version: 2
test:
jobs:
- unit-test
- end-to-end-test:
name: 'embauche end-to-end'
site: embauche
cypress_folder: embauche
- end-to-end-test:
name: 'mon-entreprise end-to-end'
site: mon-entreprise
cypress_folder: mon-entreprise
- end-to-end-test:
name: 'mycompanyinfrance end-to-end'
site: mycompanyinfrance
cypress_folder: mon-entreprise
language: 'en'
- production-end-to-end-test:
name: 'https://embauche.beta.gouv.fr end-to-end'
site: 'https://embauche.beta.gouv.fr'
cypress_folder: 'embauche'
filters:
branches:
only: master
- production-end-to-end-test:
name: 'https://mon-entreprise.fr end-to-end'
site: 'https://mon-entreprise.fr'
cypress_folder: 'mon-entreprise'
filters:
branches:
only: master
- production-end-to-end-test:
name: 'https://mycompanyinfrance.fr end-to-end'
site: 'https://mycompanyinfrance.fr'
cypress_folder: 'mon-entreprise'
language: 'en'
filters:
branches:
only: master
- production-end-to-end-test:
name: 'https://demo.mon-entreprise.fr end-to-end'
site: 'https://demo.mon-entreprise.fr'
cypress_folder: 'embauche'
filters:
branches:
only: demo
- production-end-to-end-test:
cypress_folder: 'external'
filters:
branches:
only: master