mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 16:48:31 +02:00
Add circle ci config file for linux tests (#1063)
* Add circle ci config file for linux tests * Moved repeated commands into commands section for reuse in jobs Circle apparently allows you to separate custom commands into their own key, and then reuse them at will in jobs. * move conditions into individual commands
This commit is contained in:
parent
66d03d133f
commit
9e72d10c4c
1 changed files with 121 additions and 0 deletions
121
.circleci/config.yml
Normal file
121
.circleci/config.yml
Normal file
|
@ -0,0 +1,121 @@
|
|||
version: 2.1
|
||||
|
||||
executors:
|
||||
python37:
|
||||
docker:
|
||||
- image: circleci/python:3.7.9
|
||||
resource_class: small
|
||||
|
||||
python38:
|
||||
docker:
|
||||
- image: circleci/python:3.8.6
|
||||
resource_class: small
|
||||
|
||||
python39:
|
||||
docker:
|
||||
- image: circleci/python:3.9.0
|
||||
resource_class: small
|
||||
|
||||
commands:
|
||||
get_poetry_deps:
|
||||
steps:
|
||||
- run:
|
||||
name: Checking Python version
|
||||
command: python --version > /tmp/pythonversion
|
||||
- restore_cache:
|
||||
key: 'deps-00-{{ checksum "poetry.lock" }}-{{ checksum "/tmp/pythonversion" }}'
|
||||
- run:
|
||||
name: Installing dependencies
|
||||
command: |
|
||||
poetry config --local virtualenvs.in-project true
|
||||
poetry install --no-root --remove-untracked
|
||||
- save_cache:
|
||||
key: 'deps-00-{{ checksum "poetry.lock" }}-{{ checksum "/tmp/pythonversion" }}'
|
||||
paths:
|
||||
- ~/project/.venv
|
||||
|
||||
pytest:
|
||||
steps:
|
||||
- run:
|
||||
name: Tests - Pytest
|
||||
when: always
|
||||
command: >
|
||||
poetry run pytest
|
||||
--junitxml=reports/pytest/results.xml
|
||||
|
||||
behave:
|
||||
steps:
|
||||
- run:
|
||||
name: Tests - Behave
|
||||
when: always
|
||||
command: >
|
||||
poetry run behave
|
||||
--no-skipped
|
||||
--format progress2
|
||||
--junit
|
||||
--junit-directory reports/behave
|
||||
|
||||
lint:
|
||||
steps:
|
||||
- run:
|
||||
name: Poetry Check
|
||||
when: always
|
||||
command: |
|
||||
poetry --version
|
||||
poetry check
|
||||
- run:
|
||||
name: Black Code Formatter
|
||||
when: always
|
||||
command: |
|
||||
poetry run black --version
|
||||
poetry run black --check --diff .
|
||||
- run:
|
||||
name: PyFlakes
|
||||
when: always
|
||||
command: |
|
||||
poetry run pyflakes --version
|
||||
poetry run pyflakes jrnl features tests
|
||||
|
||||
aliases:
|
||||
linux_test: &linux_test
|
||||
steps:
|
||||
- checkout
|
||||
- get_poetry_deps
|
||||
- run: poetry install
|
||||
- pytest
|
||||
- behave
|
||||
- store_test_results:
|
||||
path: reports
|
||||
|
||||
jobs:
|
||||
test_37_linux:
|
||||
executor: python37
|
||||
<<: *linux_test
|
||||
|
||||
test_38_linux:
|
||||
executor: python38
|
||||
<<: *linux_test
|
||||
|
||||
test_39_linux:
|
||||
executor: python39
|
||||
<<: *linux_test
|
||||
|
||||
linting:
|
||||
executor: python39
|
||||
steps:
|
||||
- checkout
|
||||
- get_poetry_deps
|
||||
- lint
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
main:
|
||||
jobs:
|
||||
- linting:
|
||||
name: Linting and Formatting
|
||||
- test_37_linux:
|
||||
name: Python 3.7 - Linux
|
||||
- test_38_linux:
|
||||
name: Python 3.8 - Linux
|
||||
- test_39_linux:
|
||||
name: Python 3.9 - Linux
|
Loading…
Add table
Reference in a new issue