version: '2.1' jobs: build: parameters: rolling: type: string default: "no" machine: image: ubuntu-2004:202010-01 docker_layer_caching: true environment: DOCKER_BUILDKIT: 1 BUILDKIT_PROGRESS: plain steps: - checkout - run: name: Install Python dependencies command: python3 -m pip install packaging - restore_cache: keys: - python-deps-cache-v1 - run: name: Building Container Images command: ./build.sh << parameters.rolling >> - save_cache: key: python-deps-cache-v1 paths: - /root/.cache - run: name: Generate Tests command: bash tests/generate_tests.sh - run: environment: DB: postgres name: Postgres Tests command: bash tests/test.sh - run: environment: DB: mysql name: MySQL Test command: bash tests/test.sh - deploy: command: | python3 deploy.py workflows: version: 2 build-and-deploy-workflow: jobs: - build: rolling: "no" filters: tags: only: /^v\d+\.\d+\.\d+$/ cron-workflow: triggers: - schedule: cron: "0 0 * * *" filters: branches: only: main jobs: - build: rolling: "yes" context: org-global rolling-workflow: jobs: - build: rolling: "yes" context: org-global filters: branches: # Forked pull requests have CIRCLE_BRANCH set to pull/XXX ignore: /pull\/[0-9]+/