wagtail/.circleci/config.yml

81 wiersze
2.4 KiB
YAML

version: 2
jobs:
backend:
docker:
- image: circleci/python:3.6.4
steps:
- checkout
- restore_cache:
keys:
- pip-packages-v1-{{ .Branch }}
- pip-packages-v1-
- run: pipenv install -e .[testing]
- save_cache:
paths:
- ~/.local/
key: pip-package-v1-{{ .Branch }}
- run: pipenv run flake8 wagtail
- run: pipenv run isort --check-only --diff --recursive wagtail
# Filter out known false positives, while preserving normal output and error codes.
# See https://github.com/motet-a/jinjalint/issues/18.
# And https://circleci.com/docs/2.0/configuration-reference/#default-shell-options.
- run:
shell: /bin/bash -e
command: pipenv run jinjalint --parse-only wagtail | grep -v 'welcome_page.html:6:70' | tee /dev/tty | wc -l | grep -q '0'
- run: DATABASE_NAME=wagtail.db pipenv run python -u runtests.py
frontend:
docker:
- image: circleci/node:10
steps:
- checkout
- restore_cache:
keys:
- node-v1-{{ .Branch }}-{{ checksum "package-lock.json" }}
- node-v1-{{ .Branch }}-
- node-v1-
- run: npm install --no-save
- save_cache:
paths:
- ~/project/node_modules/
key: node-v1-{{ .Branch }}-{{ checksum "package-lock.json" }}
- run: npm run lint:js
- run: npm run lint:css
- run: npm run test:unit:coverage -- --runInBand
- run: npm run dist
- run: bash <(curl -s https://codecov.io/bash) -F frontend
nightly-build:
docker:
- image: circleci/python:3.7.3
steps:
- checkout
- run: cd ~ && wget https://nodejs.org/dist/v8.7.0/node-v8.7.0-linux-x64.tar.gz
- run: cd /usr/local/ && sudo tar --strip-components 1 -xzf ~/node-v8.7.0-linux-x64.tar.gz
- run: pip install --user wheel boto3
- run: npm install
- run: npm run dist
- run: PYTHONPATH=. python scripts/nightly/get_version.py > __init__.py
- run: mv __init__.py wagtail/__init__.py
- run: python setup.py bdist_wheel
- run: python scripts/nightly/upload.py
workflows:
version: 2
test:
jobs:
- backend
- frontend
nightly:
jobs:
- nightly-build
triggers:
- schedule:
cron: "0 0 * * *"
filters:
branches:
only:
- master