|
|
@ -47,8 +47,8 @@ commands: |
|
|
- run: docker push << parameters.destination >> |
|
|
- run: docker push << parameters.destination >> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jobs: |
|
|
jobs: |
|
|
|
|
|
# Install the node dependencies |
|
|
install: |
|
|
install: |
|
|
docker: |
|
|
docker: |
|
|
- *docker-config |
|
|
- *docker-config |
|
|
@ -64,6 +64,7 @@ jobs: |
|
|
paths: |
|
|
paths: |
|
|
- node_modules |
|
|
- node_modules |
|
|
|
|
|
|
|
|
|
|
|
# Lint the code |
|
|
lint: |
|
|
lint: |
|
|
docker: |
|
|
docker: |
|
|
- *docker-config |
|
|
- *docker-config |
|
|
@ -83,6 +84,8 @@ jobs: |
|
|
key: npm-v1-lint-{{ .BuildNum }} |
|
|
key: npm-v1-lint-{{ .BuildNum }} |
|
|
paths: |
|
|
paths: |
|
|
- src |
|
|
- src |
|
|
|
|
|
|
|
|
|
|
|
# Run CI tests |
|
|
test-ci: |
|
|
test-ci: |
|
|
docker: |
|
|
docker: |
|
|
- *docker-config |
|
|
- *docker-config |
|
|
@ -91,6 +94,8 @@ jobs: |
|
|
- run: |
|
|
- run: |
|
|
name: Unit Tests |
|
|
name: Unit Tests |
|
|
command: yarn test |
|
|
command: yarn test |
|
|
|
|
|
|
|
|
|
|
|
# Run e2e tests |
|
|
test-e2e: |
|
|
test-e2e: |
|
|
docker: |
|
|
docker: |
|
|
- *docker-config |
|
|
- *docker-config |
|
|
@ -111,6 +116,7 @@ jobs: |
|
|
DATABASE_URL: postgres://postgres:postgres@localhost:5432/psdb |
|
|
DATABASE_URL: postgres://postgres:postgres@localhost:5432/psdb |
|
|
command: yarn test:e2e |
|
|
command: yarn test:e2e |
|
|
|
|
|
|
|
|
|
|
|
# Generate the documentation |
|
|
gendoc: |
|
|
gendoc: |
|
|
docker: |
|
|
docker: |
|
|
- *docker-config |
|
|
- *docker-config |
|
|
@ -125,6 +131,7 @@ jobs: |
|
|
- store_artifacts: |
|
|
- store_artifacts: |
|
|
path: docs |
|
|
path: docs |
|
|
|
|
|
|
|
|
|
|
|
# Build and push the docker image |
|
|
builddocker: |
|
|
builddocker: |
|
|
docker: |
|
|
docker: |
|
|
- *docker-config |
|
|
- *docker-config |
|
|
@ -132,7 +139,7 @@ jobs: |
|
|
environment: |
|
|
environment: |
|
|
DOCKERHUB_LOGIN: *dockerhub_username |
|
|
DOCKERHUB_LOGIN: *dockerhub_username |
|
|
DOCKERHUB_REPOSITORY: my-awesome-ci-expr |
|
|
DOCKERHUB_REPOSITORY: my-awesome-ci-expr |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
steps: |
|
|
steps: |
|
|
- init |
|
|
- init |
|
|
- setup_remote_docker # Can not cache docker in images in free tier |
|
|
- setup_remote_docker # Can not cache docker in images in free tier |
|
|
@ -144,6 +151,7 @@ jobs: |
|
|
name: Login to docker hub |
|
|
name: Login to docker hub |
|
|
command: echo $DOCKERHUB_PASSWORD | docker login -u $DOCKERHUB_LOGIN --password-stdin |
|
|
command: echo $DOCKERHUB_PASSWORD | docker login -u $DOCKERHUB_LOGIN --password-stdin |
|
|
|
|
|
|
|
|
|
|
|
# Push build number and latest for main branch |
|
|
- when: |
|
|
- when: |
|
|
condition: |
|
|
condition: |
|
|
equal: |
|
|
equal: |
|
|
@ -154,15 +162,18 @@ jobs: |
|
|
destination: $DOCKERHUB_LOGIN/$DOCKERHUB_REPOSITORY:${CIRCLE_BUILD_NUM} |
|
|
destination: $DOCKERHUB_LOGIN/$DOCKERHUB_REPOSITORY:${CIRCLE_BUILD_NUM} |
|
|
- pushdockerhub: |
|
|
- pushdockerhub: |
|
|
destination: $DOCKERHUB_LOGIN/$DOCKERHUB_REPOSITORY:latest |
|
|
destination: $DOCKERHUB_LOGIN/$DOCKERHUB_REPOSITORY:latest |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Push dev images for develop branch |
|
|
- when: |
|
|
- when: |
|
|
condition: |
|
|
condition: |
|
|
equal: |
|
|
equal: |
|
|
- << pipeline.git.branch >> |
|
|
- << pipeline.git.branch >> |
|
|
- develop |
|
|
- develop |
|
|
steps: |
|
|
steps: |
|
|
- run: docker tag app $DOCKERHUB_LOGIN/$DOCKERHUB_REPOSITORY:${CIRCLE_BUILD_NUM}-dev |
|
|
|
|
|
- run: docker push $DOCKERHUB_LOGIN/$DOCKERHUB_REPOSITORY:${CIRCLE_BUILD_NUM}-dev |
|
|
|
|
|
|
|
|
- pushdockerhub: |
|
|
|
|
|
destination: $DOCKERHUB_LOGIN/$DOCKERHUB_REPOSITORY:${CIRCLE_BUILD_NUM}-dev |
|
|
|
|
|
|
|
|
|
|
|
# Push prep images for hotfix & release branches |
|
|
- when: |
|
|
- when: |
|
|
condition: |
|
|
condition: |
|
|
or: |
|
|
or: |
|
|
@ -175,8 +186,8 @@ jobs: |
|
|
pattern: /^release\/.*/ |
|
|
pattern: /^release\/.*/ |
|
|
|
|
|
|
|
|
steps: |
|
|
steps: |
|
|
- run: docker tag app $DOCKERHUB_LOGIN/$DOCKERHUB_REPOSITORY:${CIRCLE_BUILD_NUM}-prep |
|
|
|
|
|
- run: docker push $DOCKERHUB_LOGIN/$DOCKERHUB_REPOSITORY:${CIRCLE_BUILD_NUM}-prep |
|
|
|
|
|
|
|
|
- pushdockerhub: |
|
|
|
|
|
destination: $DOCKERHUB_LOGIN/$DOCKERHUB_REPOSITORY:${CIRCLE_BUILD_NUM}-prep |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
workflows: |
|
|
workflows: |
|
|
@ -200,8 +211,8 @@ workflows: |
|
|
- builddocker: |
|
|
- builddocker: |
|
|
filters: |
|
|
filters: |
|
|
branches: |
|
|
branches: |
|
|
# Run only on main branch |
|
|
|
|
|
only: |
|
|
|
|
|
|
|
|
# Run only on main, develop, release/.* and hotfix/.* branches |
|
|
|
|
|
only: |
|
|
- main |
|
|
- main |
|
|
- develop |
|
|
- develop |
|
|
- /^hotfix\/.*/ |
|
|
- /^hotfix\/.*/ |
|
|
|