language: node_js git: depth: false node_js: - 14 services: - docker cache: yarn if: (type = pull_request) OR (tag IS present) jobs: include: - stage: download dependencies if: type = pull_request script: yarn --frozen-lockfile - stage: check formatting if: type = pull_request script: yarn format:check - stage: execute tests if: type = pull_request script: yarn test - stage: build if: type = pull_request script: yarn build:all - stage: build and push docker images if: tag IS present script: ./publish-docker-image.sh