You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
2.5 KiB
128 lines
2.5 KiB
---
|
|
kind: pipeline
|
|
name: build
|
|
type: docker
|
|
|
|
workspace:
|
|
path: "/app"
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
environment:
|
|
PUB_CACHE: /app/.pub_cache
|
|
|
|
clone:
|
|
git:
|
|
image: plugins/git:next
|
|
|
|
steps:
|
|
- name: load_packages
|
|
pull: always
|
|
image: jonasfranz/flutter:2.10.1
|
|
commands:
|
|
- flutter packages get
|
|
|
|
- name: build
|
|
pull: always
|
|
image: jonasfranz/flutter:2.10.1
|
|
depends_on:
|
|
- load_packages
|
|
commands:
|
|
- flutter build apk
|
|
|
|
- name: lint
|
|
pull: always
|
|
image: jonasfranz/flutter:2.10.1
|
|
depends_on:
|
|
- load_packages
|
|
commands:
|
|
- flutter analyze
|
|
- flutter format --set-exit-if-changed lib
|
|
|
|
- name: test
|
|
pull: always
|
|
image: jonasfranz/flutter:2.10.1
|
|
depends_on:
|
|
- load_packages
|
|
commands:
|
|
- flutter test -r expanded
|
|
|
|
---
|
|
kind: pipeline
|
|
name: metrics
|
|
type: docker
|
|
|
|
depends_on:
|
|
- build
|
|
|
|
workspace:
|
|
path: "/app"
|
|
|
|
|
|
environment:
|
|
PUB_CACHE: /app/.pub_cache
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
steps:
|
|
- name: load_packages
|
|
pull: always
|
|
image: jonasfranz/flutter:2.10.1
|
|
commands:
|
|
- flutter packages get
|
|
####### BENCHMARKS
|
|
- name: run_benchmarks
|
|
pull: always
|
|
image: jonasfranz/flutter:2.10.1
|
|
depends_on:
|
|
- load_packages
|
|
commands:
|
|
- flutter test --plain-name=Efficiency -r expanded > benchmarks.txt
|
|
####### METRICS
|
|
- name: generate_metrics
|
|
pull: always
|
|
image: jonasfranz/flutter:2.10.1
|
|
depends_on:
|
|
- load_packages
|
|
commands:
|
|
- flutter pub run dart_code_metrics:metrics analyze lib -r html
|
|
- name: convert_to_latex
|
|
pull: always
|
|
image: pandoc/core:2.17
|
|
depends_on:
|
|
- generate_metrics
|
|
commands:
|
|
- pandoc -s metrics/index.html -o metrics.tex
|
|
|
|
###### PUBLISHING
|
|
- name: pull_and_prepare_thesis_repo
|
|
image: docker:git
|
|
depends_on:
|
|
- convert_to_latex
|
|
- run_benchmarks
|
|
commands:
|
|
- git clone https://git.jonasfranz.software/KoSI/thesis.git
|
|
- mkdir -p thesis/results/${DRONE_COMMIT_BRANCH}
|
|
- cp metrics.tex thesis/results/${DRONE_COMMIT_BRANCH}/
|
|
- cp benchmarks.txt thesis/results/${DRONE_COMMIT_BRANCH}/
|
|
- cd thesis
|
|
- git add results/
|
|
- git status
|
|
|
|
- name: push_matrix
|
|
depends_on:
|
|
- pull_and_prepare_thesis_repo
|
|
image: appleboy/drone-git-push
|
|
settings:
|
|
ssh_key:
|
|
from_secret: ssh_key
|
|
branch: main
|
|
remote: git@git.jonasfranz.software:KoSI/thesis.git
|
|
force: false
|
|
commit: true
|
|
path: /app/thesis
|
|
commit_message: Update metrics |