From cea9f3222abcbc76ace7958ca8919510de50d919 Mon Sep 17 00:00:00 2001 From: polpetta Date: Mon, 27 Mar 2023 17:16:29 +0200 Subject: [PATCH] chore: add drone-ci-tests and docker build (#1) Co-authored-by: Davide Polonio Reviewed-on: https://git.poldebra.me/polpetta/mezzotre/pulls/1 Co-authored-by: polpetta Co-committed-by: polpetta --- .drone.yml | 68 ++++++++++++++++- .markdownlint.yaml | 2 + .pre-commit-config.yaml | 33 ++++++++ .run/Execute all tests.run.xml | 2 +- .run/Jooby run.run.xml | 2 +- .run/docker-compose up (debug).run.xml | 2 +- Dockerfile | 2 +- README.md | 18 +++-- conf/application.conf | 2 +- schema/json/ChatContext.json | 2 +- src/etc/stork/stork.yml | 2 +- .../polpetta/mezzotre/InjectionModule.java | 4 +- .../i18n/LocalizedMessageFactory.java | 7 +- .../polpetta/mezzotre/i18n/LocalizedTool.java | 2 +- .../github/polpetta/mezzotre/orm/di/Db.java | 68 +++++++++-------- .../polpetta/mezzotre/orm/model/Base.java | 5 +- .../polpetta/mezzotre/route/Constants.java | 4 +- .../polpetta/mezzotre/route/di/Route.java | 5 +- .../mezzotre/telegram/command/Executor.java | 5 +- .../mezzotre/telegram/command/Start.java | 14 ++-- .../mezzotre/telegram/command/di/Command.java | 37 ++++----- .../polpetta/mezzotre/util/di/ThreadPool.java | 4 +- .../migration/V1_0_0__Create_initial_db.sql | 1 - src/main/resources/i18n/message.properties | 2 +- .../resources/i18n/message_en_US.properties | 2 +- src/main/resources/i18n/message_it.properties | 2 +- .../resources/i18n/message_it_IT.properties | 2 +- .../polpetta/mezzotre/IntegrationTest.java | 7 -- .../helper/IntegrationAppFactory.java | 1 - .../polpetta/mezzotre/helper/Loader.java | 75 +++++++++++-------- .../orm/model/UserIntegrationTest.java | 3 +- .../route/TelegramIntegrationTest.java | 46 ++++++------ .../mezzotre/telegram/command/RouterTest.java | 16 ++-- .../command/StartIntegrationTest.java | 58 +++++++------- .../mezzotre/telegram/command/StartTest.java | 66 ++++++++-------- 35 files changed, 346 insertions(+), 225 deletions(-) create mode 100644 .markdownlint.yaml create mode 100644 .pre-commit-config.yaml diff --git a/.drone.yml b/.drone.yml index 1c579d6..f79fbda 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,9 +1,71 @@ kind: pipeline type: docker -name: default +name: commit steps: - - name: Build + - name: checks image: eclipse-temurin:17-jdk commands: - - ./mvnw package -B -DskipTests=true \ No newline at end of file + - apt-get update -qq && apt-get install -qy python3 pip git && pip install pre-commit + - pre-commit run --all-files + +--- +kind: pipeline +type: docker +name: pr + +steps: + - name: tests + image: quay.io/testcontainers/dind-drone-plugin + environment: + CI_WORKSPACE: "/drone/src" + settings: + cmd: ./mvnw -B test + build_image: eclipse-temurin:17-jdk + prefetch_images: + - "postgres:13-alpine" + volumes: + - name: dockersock + path: /var/run + +# Specify docker:dind as a service +services: + - name: docker + image: docker:dind + privileged: true + volumes: + - name: dockersock + path: /var/run + +volumes: + - name: dockersock + temp: {} + +trigger: + event: + - pull_request + - cron + +--- +kind: pipeline +type: docker +name: artifacts + +steps: + - name: packaging + image: eclipse-temurin:17-jdk + commands: + - ./mvnw package -B -DskipTests=true -Dmaven.test.skip=true -Dmaven.site.skip=true -Dmaven.javadoc.skip=true + - name: dockerfile + image: thegeeklab/drone-docker-buildx:23 + privileged: true + settings: + pull_image: true + dry_run: true + +trigger: + branch: + - devel + event: + - push + - tag diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 0000000..f90ed06 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,2 @@ +MD013: + line_length: 120 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..35810b8 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,33 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +exclude: "mvnw" +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.3.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + exclude: "^.*\\.vm$" + - id: check-yaml + args: [--allow-multiple-documents] + - id: check-added-large-files + - id: check-toml + - id: mixed-line-ending + - repo: https://github.com/gruntwork-io/pre-commit + rev: v0.1.17 + hooks: + - id: shellcheck + - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks + rev: v2.4.0 + hooks: + - id: pretty-format-java + args: [--autofix] + - repo: https://github.com/igorshubovych/markdownlint-cli + rev: v0.32.2 + hooks: + - id: markdownlint + - id: markdownlint-fix + - repo: https://github.com/jorisroovers/gitlint + rev: v0.17.0 + hooks: + - id: gitlint diff --git a/.run/Execute all tests.run.xml b/.run/Execute all tests.run.xml index 28aa703..3a4861c 100644 --- a/.run/Execute all tests.run.xml +++ b/.run/Execute all tests.run.xml @@ -14,4 +14,4 @@