Files
OSIT-Mailman3/.circleci/config.yml
2021-09-17 19:55:49 +00:00

78 lines
1.7 KiB
YAML

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]+/