Thanks for contributing to mightyETL (formerly xtrmETL). This guide describes the expected local setup, branching, verification, and pull request flow.
Prerequisites:
- Java 25
- Git
- Docker (optional, for local integration stack)
Initial setup:
./mvnw -B -DskipTests dependency:go-offline
./mvnw -B testOptional local stack:
docker compose up --build- Create a branch from
main. - Use a descriptive branch name such as
feat/<topic>,fix/<topic>, orchore/<topic>. - Keep each pull request focused on one change set.
- Rebase or merge
mainbefore requesting final review.
Run the checks relevant to your change:
- Full tests:
./mvnw -B test - CI parity script (Unix):
./scripts/ci.sh - CI parity script (Windows):
./scripts/ci.ps1 - Workflow YAML sanity (example):
ruby -e 'require "yaml"; Dir[".github/workflows/*.yml"].each do |f| \
YAML.safe_load(File.read(f), permitted_classes: [], aliases: false); \
end; puts "workflow YAML OK"'Each PR should include:
- A clear problem statement and scope
- Test evidence (command output or screenshots when applicable)
- Risk notes (runtime impact, migration concerns, rollback notes)
- Security impact notes for auth, data handling, dependency, or workflow changes
Use .github/PULL_REQUEST_TEMPLATE.md when opening your PR.
- Do not commit secrets, credentials,
.envfiles, or private keys. - Treat automated review comments as hypotheses and verify with evidence.
- For vulnerability reports, follow
SECURITY.mdand avoid public disclosure before triage.