82 lines
1.8 KiB
YAML
82 lines
1.8 KiB
YAML
version: '2.1'
|
|
|
|
jobs:
|
|
build:
|
|
parameters:
|
|
rolling:
|
|
type: string
|
|
default: "no"
|
|
machine:
|
|
image: ubuntu-2004:202010-01
|
|
environment:
|
|
DOCKER_BUILDKIT: 1
|
|
BUILDKIT_PROGRESS: plain
|
|
BUILD_ROLLING: << parameters.rolling >>
|
|
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:
|
|
environment:
|
|
DB: postgres
|
|
name: Postgres Tests
|
|
command: bash tests/test.sh
|
|
- run:
|
|
environment:
|
|
DB: mysql
|
|
name: MySQL Test
|
|
command: bash tests/test.sh
|
|
- deploy:
|
|
name: Deploy
|
|
command: |
|
|
python3 --version
|
|
python3 deploy.py
|
|
- store_artifacts:
|
|
path: /opt/mailman/web/logs/
|
|
|
|
- store_artifacts:
|
|
path: /opt/mailman/core/var/logs
|
|
|
|
workflows:
|
|
version: 2
|
|
test-stable:
|
|
jobs:
|
|
- build:
|
|
rolling: "no"
|
|
filters:
|
|
tags:
|
|
only: /^v\d+\.\d+\.\d+$/
|
|
|
|
cron-builds:
|
|
triggers:
|
|
- schedule:
|
|
cron: "0 0 * * *"
|
|
filters:
|
|
branches:
|
|
only: main
|
|
jobs:
|
|
- build:
|
|
rolling: "yes"
|
|
context: org-global
|
|
|
|
test-rolling:
|
|
jobs:
|
|
- build:
|
|
rolling: "yes"
|
|
context: org-global
|
|
filters:
|
|
branches:
|
|
# Forked pull requests have CIRCLE_BRANCH set to pull/XXX
|
|
ignore: /pull\/[0-9]+/
|