129 lines
2.9 KiB
YAML
129 lines
2.9 KiB
YAML
---
|
|
# SPDX-FileCopyrightText: WTF Kooperative eG <https://wtf-eg.de/>
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
kind: pipeline
|
|
type: docker
|
|
name: qa
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
branch:
|
|
- main
|
|
|
|
steps:
|
|
- name: install-lint-test
|
|
image: python:3.8.20-alpine@sha256:3d93b1f77efce339aa77db726656872517b0d67837989aa7c4b35bd5ae7e81ba
|
|
env:
|
|
PYROOT: '/pyroot'
|
|
PYTHONUSERBASE: '/pyroot'
|
|
commands:
|
|
- apk add --no-cache gcc g++ musl-dev python3-dev
|
|
- pip3 install pipenv
|
|
- pipenv verify
|
|
- pipenv install --dev
|
|
- pipenv run flake8
|
|
- pipenv run reuse lint
|
|
- SQLALCHEMY_DATABASE_URI=sqlite:// pipenv run python -m unittest discover ki
|
|
- name: docker-dry-run
|
|
image: plugins/docker:20.18.4@sha256:a8d3d86853c721492213264815f1d00d3ed13f42f5c1855a02f47fa4d5f1e042
|
|
settings:
|
|
registry: git.wtf-eg.de
|
|
repo: git.wtf-eg.de/kompetenzinventar/backend
|
|
target: ki-backend
|
|
dry_run: true
|
|
when:
|
|
event:
|
|
- pull_request
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: build
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
branch:
|
|
- main
|
|
|
|
depends_on:
|
|
- qa
|
|
|
|
steps:
|
|
- name: docker-publish
|
|
image: plugins/docker:20.18.4@sha256:a8d3d86853c721492213264815f1d00d3ed13f42f5c1855a02f47fa4d5f1e042
|
|
settings:
|
|
registry: git.wtf-eg.de
|
|
repo: git.wtf-eg.de/kompetenzinventar/backend
|
|
target: ki-backend
|
|
auto_tag: true
|
|
username:
|
|
from_secret: "docker_username"
|
|
password:
|
|
from_secret: "docker_password"
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: deploy
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
branch:
|
|
- main
|
|
|
|
depends_on:
|
|
- build
|
|
|
|
steps:
|
|
- name: deploy-dev
|
|
image: appleboy/drone-ssh:1.7.5@sha256:995677e073454912f26d4c0fdd2f9df2e1f5a30d6603d3f2ece667311b6babb3
|
|
settings:
|
|
host:
|
|
- dev01.wtf-eg.net
|
|
username: drone_deployment
|
|
key:
|
|
from_secret: "dev01_deployment_key"
|
|
command_timeout: 2m
|
|
script:
|
|
- echo "Executing forced command..."
|
|
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: tag-release
|
|
|
|
trigger:
|
|
event:
|
|
- tag
|
|
|
|
steps:
|
|
- name: install-lint-test
|
|
image: python:3.8.20-alpine@sha256:3d93b1f77efce339aa77db726656872517b0d67837989aa7c4b35bd5ae7e81ba
|
|
env:
|
|
PYROOT: '/pyroot'
|
|
PYTHONUSERBASE: '/pyroot'
|
|
commands:
|
|
- apk add --no-cache gcc g++ musl-dev python3-dev
|
|
- pip3 install pipenv
|
|
- pipenv install --dev
|
|
- pipenv run flake8
|
|
- pipenv run reuse lint
|
|
- SQLALCHEMY_DATABASE_URI=sqlite:// pipenv run python -m unittest discover ki
|
|
- name: docker-publish
|
|
image: plugins/docker:20.18.4@sha256:a8d3d86853c721492213264815f1d00d3ed13f42f5c1855a02f47fa4d5f1e042
|
|
settings:
|
|
registry: git.wtf-eg.de
|
|
repo: git.wtf-eg.de/kompetenzinventar/backend
|
|
target: ki-backend
|
|
auto_tag: true
|
|
username:
|
|
from_secret: "docker_username"
|
|
password:
|
|
from_secret: "docker_password"
|