diff --git a/.drone.yml b/.drone.yml index 74ade5c..6c9f269 100644 --- a/.drone.yml +++ b/.drone.yml @@ -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 \ No newline at end of file + - master + event: + - push \ No newline at end of file diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..9ca476d --- /dev/null +++ b/.pre-commit-config.yaml @@ -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] diff --git a/LICENSE b/LICENSE index 2f00d5b..0528565 100644 --- a/LICENSE +++ b/LICENSE @@ -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 diff --git a/melos.yaml b/melos.yaml index a311fc5..4fb1996 100644 --- a/melos.yaml +++ b/melos.yaml @@ -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: >