-
Notifications
You must be signed in to change notification settings - Fork 1
/
.drone.yml
141 lines (138 loc) · 4 KB
/
.drone.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
---
name: hinkskalle
kind: pipeline
concurrency:
limit: 1
steps:
- name: conformhase
image: docker:dind
volumes:
- name: dockersock
path: /var/run/docker.sock
- name: conformance-tmp
path: /tmp/conformance
environment:
DEV_VERSION: v2.0.4
BACKEND_PORT: 17760
PROJECT_BASE: /var/tmp/conformance-tmp
commands:
- apk update && apk add docker-compose bash
- cp -a backend conf script share /tmp/conformance/
- mkdir -p share/oci/results
- cd /tmp/conformance/share/oci
- ./conformance-test.sh
- cp /tmp/conformance/results/* /tmp/conformance/share/oci/results/* $DRONE_WORKSPACE/share/oci/results/
- rm -rf /tmp/conformance/*
- name: testhase
image: ghcr.io/csf-ngs/hinkskalle-dev:v2.0.4
environment:
HINKSKALLE_SETTINGS: ../../conf/config.json
commands:
- cd backend
- pip3 install -e '.[dev]'
- nose2 --with-coverage
- name: testhase-front
image: ghcr.io/csf-ngs/hinkskalle-dev:v2.0.4
commands:
- cd frontend
- yarn install
- yarn test:unit
- name: bauhaus
depends_on:
- testhase
- testhase-front
- conformhase
image: docker:dind
volumes:
- name: dockersock
path: /var/run/docker.sock
commands:
- >
docker build
--label org.label-schema.build-date="$(date -u +'%Y-%m-%dT%H:%M:%SZ')"
--label org.label-schema.vcs-url="$DRONE_GIT_HTTP_URL"
--label org.label-schema.vcs-ref="$DRONE_COMMIT_SHA"
--label at.ac.vbcf.ngs.blame="$DRONE_COMMIT_AUTHOR"
-t ghcr.io/csf-ngs/hinkskalle:${DRONE_BRANCH=master} .
- name: reporthinaus
depends_on:
- testhase
- testhase-front
- conformhase
image: alpine
volumes:
- name: assets
path: /srv
when:
status:
- failure
- success
event:
exclude:
- pull_request
commands:
- mkdir -p /srv/${DRONE_REPO}/${DRONE_BUILD_NUMBER}
- test -e backend/test_report.html && cp backend/test_report.html /srv/${DRONE_REPO}/${DRONE_BUILD_NUMBER}/backend-report.html
- test -e backend/htmlcov && cp -r backend/htmlcov /srv/${DRONE_REPO}/${DRONE_BUILD_NUMBER}/
- test -e frontend/test-report.html && cp frontend/test-report.html /srv/${DRONE_REPO}/${DRONE_BUILD_NUMBER}/frontend-report.html
- mkdir -p /srv/${DRONE_REPO}/${DRONE_BUILD_NUMBER}/oci
- test -e share/oci/results/api.log && cp share/oci/results/api.log /srv/${DRONE_REPO}/${DRONE_BUILD_NUMBER}/oci/
- test -e share/oci/results/junit.xml && cp share/oci/results/junit.xml /srv/${DRONE_REPO}/${DRONE_BUILD_NUMBER}/oci/
- test -e share/oci/results/report.html && cp share/oci/results/report.html /srv/${DRONE_REPO}/${DRONE_BUILD_NUMBER}/oci/
- name: pickerldrauf
depends_on:
- bauhaus
image: docker:dind
volumes:
- name: dockersock
path: /var/run/docker.sock
commands:
- "docker tag ghcr.io/csf-ngs/hinkskalle:${DRONE_BRANCH=master} ghcr.io/csf-ngs/hinkskalle:${DRONE_TAG}"
- docker tag "ghcr.io/csf-ngs/hinkskalle:${DRONE_BRANCH=master}" "ghcr.io/csf-ngs/hinkskalle:latest"
when:
event:
- tag
- name: pushraus
depends_on:
- bauhaus
image: docker:dind
volumes:
- name: dockersock
path: /var/run/docker.sock
environment:
DOCKER_PASS:
from_secret: ghcr
DOCKER_USERNAME:
from_secret: ghcr-username
commands:
- echo "$DOCKER_PASS" | docker login --username $DOCKER_USERNAME --password-stdin ghcr.io
- docker push ghcr.io/csf-ngs/hinkskalle:${DRONE_BRANCH=master}
- name: tag_pushraus
depends_on:
- pickerldrauf
image: docker:dind
volumes:
- name: dockersock
path: /var/run/docker.sock
environment:
DOCKER_PASS:
from_secret: ghcr
DOCKER_USERNAME:
from_secret: ghcr-username
commands:
- echo "$DOCKER_PASS" | docker login --username $DOCKER_USERNAME --password-stdin ghcr.io
- "docker push ghcr.io/csf-ngs/hinkskalle:${DRONE_TAG}"
- docker push ghcr.io/csf-ngs/hinkskalle:latest
when:
event:
- tag
volumes:
- name: dockersock
host:
path: /var/run/docker.sock
- name: assets
host:
path: /home/docker/caddy/site/knecht
- name: conformance-tmp
host:
path: /var/tmp/conformance-tmp