74 lines
1.4 KiB
YAML
74 lines
1.4 KiB
YAML
stages:
|
|
- lint&test
|
|
- upload
|
|
- image
|
|
|
|
.py: &py
|
|
image: "domaindrivenarchitecture/ddadevops-python:latest"
|
|
before_script:
|
|
- python --version
|
|
- pip install -r requirements.txt
|
|
|
|
.img: &img
|
|
image: "domaindrivenarchitecture/ddadevops-dind:latest"
|
|
services:
|
|
- docker:dind
|
|
before_script:
|
|
- export IMAGE_DOCKERHUB_USER=$DOCKERHUB_USER
|
|
- export IMAGE_DOCKERHUB_PASSWORD=$DOCKERHUB_PASSWORD
|
|
- export IMAGE_TAG=$CI_COMMIT_TAG
|
|
|
|
.tag_only: &tag_only
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
when: never
|
|
- if: '$CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+$/'
|
|
|
|
lint:
|
|
<<: *py
|
|
stage: lint&test
|
|
script:
|
|
- pip install -r dev_requirements.txt
|
|
- pyb lint
|
|
|
|
pytest:
|
|
<<: *py
|
|
stage: lint&test
|
|
script:
|
|
- pip install -r dev_requirements.txt
|
|
- pyb test
|
|
|
|
pypi-stable:
|
|
<<: *py
|
|
<<: *tag_only
|
|
stage: upload
|
|
script:
|
|
- pyb -P version=$CI_COMMIT_TAG publish upload
|
|
|
|
clojure-image-publish:
|
|
<<: *img
|
|
<<: *tag_only
|
|
stage: image
|
|
script:
|
|
- cd infrastructure/clojure && pyb image publish
|
|
|
|
python-image-publish:
|
|
<<: *img
|
|
<<: *tag_only
|
|
stage: image
|
|
script:
|
|
- cd infrastructure/python && pyb image publish
|
|
|
|
dind-image-publish:
|
|
<<: *img
|
|
<<: *tag_only
|
|
stage: image
|
|
script:
|
|
- cd infrastructure/dind && pyb image publish
|
|
|
|
ddadevops-image-publish:
|
|
<<: *img
|
|
<<: *tag_only
|
|
stage: image
|
|
script:
|
|
- cd infrastructure/ddadevops && pyb image publish
|