From 06e3d3bc49af95b7a021cce4bc60eb1aedb5119b Mon Sep 17 00:00:00 2001 From: Keannu Bernasol Date: Sat, 13 Sep 2025 21:09:29 +0800 Subject: [PATCH] Add lint and test steps --- .woodpecker/,deploy.yml | 2 +- .woodpecker/.build.yml | 2 +- .woodpecker/.deploy_ephemeral.yml | 2 +- .woodpecker/.lint.yml | 30 ++++++++++++++++++++++++++++ .woodpecker/.test.yml | 33 +++++++++++++++++++++++++++++++ 5 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 .woodpecker/.lint.yml create mode 100644 .woodpecker/.test.yml diff --git a/.woodpecker/,deploy.yml b/.woodpecker/,deploy.yml index e6c0584..1b02894 100644 --- a/.woodpecker/,deploy.yml +++ b/.woodpecker/,deploy.yml @@ -1,4 +1,4 @@ -# Deployment YML for Woodpecker CI/CD +# Deployment step for Woodpecker CI/CD # Ephemeral volumes - Data is not persisted across deployments (i.e. database volume) # Remove line 29 for persistent volumes diff --git a/.woodpecker/.build.yml b/.woodpecker/.build.yml index 2a3bded..12db872 100644 --- a/.woodpecker/.build.yml +++ b/.woodpecker/.build.yml @@ -1,4 +1,4 @@ -# Build YML for Woodpecker CI/CD +# Build step for Woodpecker CI/CD labels: platform: linux/amd64 diff --git a/.woodpecker/.deploy_ephemeral.yml b/.woodpecker/.deploy_ephemeral.yml index 75d3846..e37b89e 100644 --- a/.woodpecker/.deploy_ephemeral.yml +++ b/.woodpecker/.deploy_ephemeral.yml @@ -1,4 +1,4 @@ -# Deployment file for Woodpecker CI/CD +# Deployment step for Woodpecker CI/CD # No volumes - Suited for deployments without local databases (i.e. external PostgreSQL instance) steps: diff --git a/.woodpecker/.lint.yml b/.woodpecker/.lint.yml new file mode 100644 index 0000000..bd91a2b --- /dev/null +++ b/.woodpecker/.lint.yml @@ -0,0 +1,30 @@ +# Python lint step for Woodpecker CI/CD + +labels: + platform: linux/amd64 + +steps: + - name: lint + image: astral/uv:python3.13-trixie-slim + # TODO: Change src path + commands: + - uv sync --frozen + - export PATH=".venv/bin:$PATH" + - ruff check src/. --no-fix --diff --show-files --verbose + - name: discord + image: appleboy/drone-discord + settings: + webhook_id: + from_secret: DISCORD_WEBHOOK_ID + webhook_token: + from_secret: DISCORD_WEBHOOK_TOKEN + message: > + {{#success build.status}} + {{repo.name}}: Lint step for build #{{build.number}} output {{build.status}} + {{/success}} + +when: + - branch: master + event: + - push + - manual diff --git a/.woodpecker/.test.yml b/.woodpecker/.test.yml new file mode 100644 index 0000000..c5b26e9 --- /dev/null +++ b/.woodpecker/.test.yml @@ -0,0 +1,33 @@ +# Python test step for Woodpecker CI/CD + +labels: + platform: linux/amd64 + +steps: + - name: test + image: astral/uv:python3.13-trixie-slim + # TODO: Add necessary environment variables below + # environment: + # variable: + # from_secret: variable + commands: + - uv sync --frozen + - export PATH=".venv/bin:$PATH" + - pytest + - name: discord + image: appleboy/drone-discord + settings: + webhook_id: + from_secret: DISCORD_WEBHOOK_ID + webhook_token: + from_secret: DISCORD_WEBHOOK_TOKEN + message: > + {{#success build.status}} + {{repo.name}}: Test step for build #{{build.number}} output {{build.status}} + {{/success}} + +when: + - branch: master + event: + - push + - manual