Scripts
PowerShell automation scripts in the repository root for testing, CI/CD, and development tasks.
Available Scripts
| Script |
Purpose |
Guide |
run-unit-tests.ps1 |
Run unit tests |
Guide → |
run-integration-tests.ps1 |
Run integration tests (Testcontainers) |
Guide → |
run-end-to-end-tests.ps1 |
Run end-to-end tests (Testcontainers) |
Guide → |
run-all-tests.ps1 |
Run all test suites sequentially |
Guide → |
run-quick-starts.ps1 |
Test quick-start Docker Compose stacks |
Guide → |
run-on-pull-request-push.ps1 |
PR validation pipeline |
Guide → |
run-on-develop-push.ps1 |
Develop branch pipeline |
Guide → |
run-on-release-push.ps1 |
Release pipeline |
Guide → |
run-jar-check.ps1 |
Verify every class in the shaded JAR is relocated |
Guide → |
run-coverage-badge.ps1 |
Merge JaCoCo data and write the coverage badge |
Guide → |
run-push.ps1 |
Squash commits and push |
Guide → |
run-docs-preview.ps1 |
Preview documentation site locally |
Guide → |
Script Categories
Testing
Scripts that execute Maven test suites against the codebase.
| Script |
Scope |
Maven Filter |
run-unit-tests.ps1 |
Unit tests only |
io.github.fortunen.kete.unittests.** |
run-integration-tests.ps1 |
Integration tests only |
io.github.fortunen.kete.integrationtests.** |
run-end-to-end-tests.ps1 |
End-to-end tests only |
io.github.fortunen.kete.endtoendtests.** |
run-all-tests.ps1 |
All three suites |
Runs each sequentially, aborts on failure |
run-quick-starts.ps1 |
Quick-start stacks |
Docker Compose up → login → verify metrics → verify reception → down |
CI/CD Pipeline
Scripts that simulate CI/CD pipeline stages locally.
| Script |
Trigger Context |
Steps |
run-on-pull-request-push.ps1 |
Pull request |
Tests → Docker image build → MkDocs build |
run-on-develop-push.ps1 |
Merge to develop (sequential local equivalent of the parallel CI jobs) |
Tests + coverage → package + jar check + Docker image build → MkDocs build |
run-on-release-push.ps1 |
Merge to release |
Versioned JAR → versioned Docker push → MkDocs build → GitHub Release → :latest tags (tests are not re-run; release.yml first verifies that the tree passed the Develop workflow) |
Utility
| Script |
Purpose |
run-push.ps1 |
Squashes all commits since merge-base with origin/develop into one, prompts for message, pushes |
run-docs-preview.ps1 |
Starts local MkDocs dev server for documentation preview |
Prerequisites
- PowerShell 7 or later (
pwsh)
- Java 21
- Maven
- Docker Desktop (for integration tests, E2E tests, quick-starts, and CI/CD scripts)
- Python with
mkdocs-material and mkdocs-include-markdown-plugin (for documentation scripts)
- GitHub CLI
gh (for release script)