ci: update drone, melos and pre-commit config

This commit is contained in:
Hugo Pointcheval 2023-01-07 17:05:06 +01:00
parent 8f4041d7bf
commit 3b03e05efe
Signed by: hugo
GPG Key ID: 3AAC487E131E00BC
4 changed files with 51 additions and 32 deletions

View File

@ -3,15 +3,18 @@ type: docker
name: default
steps:
- name: test:all
image: cirrusci/flutter:stable
- name: quality-check
image: git.wyatt-studio.fr/wyatt-foss/flutter-melos:2.9.0
commands:
- PATH=$PATH:$HOME/.pub-cache/bin
- flutter doctor
- flutter pub global activate melos
- melos bs
- melos run test:all
- melos run quality-check
- melos run publish:validate
- name: publish
image: git.wyatt-studio.fr/wyatt-foss/flutter-melos:2.9.0
commands:
- melos run publish:validate
trigger:
branch:
- master
- master
event:
- push

7
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,7 @@
repos:
- repo: https://github.com/compilerla/conventional-pre-commit
rev: v2.1.1
hooks:
- id: conventional-pre-commit
stages: [commit-msg]
args: [build, ci, docs, feat, fix, perf, refactor, style, test, chore]

View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2022 Hugo Pointcheval
Copyright (c) 2020-2023 Hugo Pointcheval
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,43 +1,26 @@
name: NativeCrypto
# repository: https://git.pointcheval.fr/NativeCrypto/native-crypto-flutter
packages:
- packages/**
command:
bootstrap:
usePubspecOverrides: true
version:
updateGitTagRefs: true
linkToCommits: false # Gitea not support this
linkToCommits: false # Gitea not yet supported
workspaceChangelog: true
# branch: master
branch: master
scripts:
lint:all:
run: melos run analyze && melos run format
description: Run all static analysis checks.
test:all:
run: |
melos run test --no-select
description: |
Run all tests available.
test:
run: |
melos exec -c 6 --fail-fast -- \
"flutter test --no-pub --no-test-assets"
description: Run `flutter test` for a specific package.
select-package:
dir-exists:
- test
ignore:
- "*web*"
- "*example*"
analyze:
run: |
melos exec -c 10 -- \
flutter analyze --fatal-infos
melos exec -c 1 -- flutter analyze --fatal-infos
description: Run `flutter analyze` for all packages.
format:
@ -51,6 +34,32 @@ scripts:
clean:deep:
run: git clean -x -d -f -q
description: Clean things very deeply with `git clean`.
test:selective_unit_test:
run: melos exec -- flutter test --no-pub --coverage
description: Run Flutter tests for a specific package in this project.
select-package:
dir-exists:
- test
ignore:
- '*example*'
test:all:
run: melos run test:selective_unit_test --no-select
description: Run all Flutter tests in this project.
quality-check:
run: |
melos clean && \
melos bootstrap && \
melos run test:all
description: Run all targets generally expected in CI for a full local quality check.
publish:validate:
run: melos publish --diff="origin/$DRONE_COMMIT_BRANCH...HEAD" --yes
# publish:
# run: melos publish --diff="origin/$DRONE_COMMIT_BRANCH...HEAD" --no-dry-run --yes
# Additional cleanup lifecycle script, executed when `melos clean` is run.
postclean: >