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 --template template.tex -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 |