-
-
Notifications
You must be signed in to change notification settings - Fork 228
/
Copy pathTaskfile.yml
64 lines (56 loc) · 2.33 KB
/
Taskfile.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
version: '3'
env:
TESTS_DIR: 'ci/tests'
COMPOSE_TIMEOUT: 20
SERVICES_TIMEOUT: 15
tasks:
mavenBuild:
cmds:
- cmd: "./mvnw --no-transfer-progress clean package"
platforms: [linux, darwin]
- cmd: "mvnw.cmd --no-transfer-progress clean package"
platforms: [windows]
mavenSetVersion:
preconditions:
- sh: "[ '{{.RELEASE_VERSION}}' != '<no value>' ]"
msg: "RELEASE_VERSION must be defined"
cmds:
- './mvnw versions:set -DnewVersion={{.RELEASE_VERSION}}'
dockerBuildImages:
cmds:
- 'docker buildx bake --allow=fs.write=/tmp kroki companion-images {{if .BUILD_MULTIARCH}}--set "*.platform=linux/arm64,linux/amd64"{{end}} {{if .CACHE_FROM}}--set "*.cache-from={{.CACHE_FROM}}"{{end}} {{if .CACHE_TO}}--set "*.cache-to={{.CACHE_TO}}"{{end}}'
dockerPublishImages:
preconditions:
- sh: "[ '{{.RELEASE_VERSION}}' != '<no value>' ]"
msg: "RELEASE_VERSION must be defined"
cmds:
- 'docker buildx bake --allow=fs.write=/tmp -f docker-bake.hcl -f docker-bake-release.hcl kroki companion-images --push --set "*.platform=linux/arm64,linux/amd64"'
smokeTests:
env:
TAG: 'smoketests'
cmds:
- 'docker buildx bake --allow=fs.write=/tmp kroki companion-images --load {{if .CACHE_FROM}}--set "*.cache-from={{.CACHE_FROM}}"{{end}} {{if .CACHE_TO}}--set "*.cache-to={{.CACHE_TO}}"{{end}}'
- 'docker compose --file {{.TESTS_DIR}}/docker-compose.yaml up --build --detach'
- defer: 'docker compose --file {{.TESTS_DIR}}/docker-compose.yaml stop'
- 'echo'
- 'docker compose --file {{.TESTS_DIR}}/docker-compose.yaml ps'
- 'echo'
- '{{.TESTS_DIR}}/wait-for-it.sh localhost:8000 --timeout={{.COMPOSE_TIMEOUT}}'
- 'echo'
- 'echo "Waiting for the containers services to be available... {{.SERVICES_TIMEOUT}} seconds"'
- 'sleep {{.SERVICES_TIMEOUT}}'
- 'npm test'
npmInstall:
cmds:
- 'npm i --prefix bpmn'
- 'npm run prestart --prefix bpmn'
- 'npm i --prefix bytefield'
- 'npm i --prefix dbml'
- 'npm i --prefix diagrams.net'
- 'npm i --prefix excalidraw'
- 'npm run prestart --prefix excalidraw'
- 'npm i --prefix mermaid'
- 'npm run prestart --prefix mermaid'
- 'npm i --prefix nomnoml'
- 'npm i --prefix vega'
- 'npm i --prefix wavedrom'