init
This commit is contained in:
commit
4cbe50253a
36 changed files with 4073 additions and 0 deletions
109
bitbucket-pipelines.yml
Normal file
109
bitbucket-pipelines.yml
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
image: administratrix/cicd:latest
|
||||
definitions:
|
||||
caches:
|
||||
venv:
|
||||
path: .venv
|
||||
steps:
|
||||
- step: &configure
|
||||
name: configure
|
||||
caches:
|
||||
- venv
|
||||
artifacts:
|
||||
- config.log
|
||||
- config.status
|
||||
script:
|
||||
- python3 -m venv --system-site-packages .venv
|
||||
- .venv/bin/python3 -m pip install pipenv
|
||||
- .venv/bin/python3 -m pipenv run sh configure
|
||||
- step: &test-static
|
||||
name: test-static
|
||||
caches:
|
||||
- venv
|
||||
artifacts:
|
||||
- test-reports/*
|
||||
script:
|
||||
- .venv/bin/python3 -m pipenv run make test-reports/static
|
||||
- step: &test-unit
|
||||
name: test-unit
|
||||
caches:
|
||||
- venv
|
||||
artifacts:
|
||||
- test-reports/*
|
||||
script:
|
||||
- .venv/bin/python3 -m pipenv run make test-reports/unit
|
||||
- step: &test-integration
|
||||
name: test-integration
|
||||
caches:
|
||||
- venv
|
||||
artifacts:
|
||||
- test-reports/*
|
||||
script:
|
||||
- .venv/bin/python3 -m pipenv run make test-reports/integration
|
||||
- step: &doc
|
||||
name: doc
|
||||
caches:
|
||||
- venv
|
||||
artifacts:
|
||||
- build/doc/**
|
||||
script:
|
||||
- make clean
|
||||
- .venv/bin/python3 -m pipenv run make build/doc
|
||||
- step: &dist
|
||||
name: dist
|
||||
caches:
|
||||
- venv
|
||||
artifacts:
|
||||
- dist/*
|
||||
script:
|
||||
- make clean
|
||||
- .venv/bin/python3 -m pipenv run make dist
|
||||
- step: &chore
|
||||
name: chore
|
||||
caches:
|
||||
- venv
|
||||
artifacts:
|
||||
- requirements.txt
|
||||
- requirements-dev.txt
|
||||
- Pipfile.lock
|
||||
script:
|
||||
- make clean
|
||||
- .venv/bin/python3 -m pipenv run make chore
|
||||
# TODO: this is good, but rather useless yet as the chore
|
||||
# target only regenerates requirements.txt and
|
||||
# requirements-dev.txt from Pipfile.lock, but it does not test
|
||||
# the sync between Pipfile and Pipfile.lock, as the locking
|
||||
# mechanism of pipenv currently is platform-dependent, i.e., it
|
||||
# is not possible to define a minimum Python version and expect
|
||||
# pipenv to find the right versions of dependencies compatible
|
||||
# with all specified platforms.
|
||||
# - git diff --exit-code
|
||||
pipelines:
|
||||
default:
|
||||
- step: *configure
|
||||
- parallel:
|
||||
steps:
|
||||
- step: *test-static
|
||||
- step: *dist
|
||||
branches:
|
||||
dev:
|
||||
- step: *configure
|
||||
- parallel:
|
||||
steps:
|
||||
- step: *test-static
|
||||
- step: *test-unit
|
||||
- step: *test-integration
|
||||
- parallel:
|
||||
steps:
|
||||
- step: *doc
|
||||
- step: *dist
|
||||
master:
|
||||
- step: *configure
|
||||
- parallel:
|
||||
steps:
|
||||
- step: *test-static
|
||||
- step: *test-unit
|
||||
- step: *test-integration
|
||||
- parallel:
|
||||
steps:
|
||||
- step: *doc
|
||||
- step: *dist
|
||||
Loading…
Add table
Add a link
Reference in a new issue