Open a GitHub Issue with:
- Steps to reproduce
- Expected vs. actual behaviour
- Your
pack versionanddocker versionoutput
- Fork the repository
- Create a feature branch:
git checkout -b feat/my-feature - Make your changes (see guidelines below)
- Run smoke tests:
make test-smoke - Open a Pull Request against
main
| Tool | Min version |
|---|---|
| Docker | 20.10 |
| pack CLI | 0.33 |
| Java / Maven | JDK 25+ (for Java samples) |
| make | any |
| hadolint (optional) | 2.x |
git clone https://github.com/patbaumgartner/distroless-buildpack-builder-java-tiny.git
cd distroless-buildpack-builder-java-tiny
make build-stack # Build stack images (requires Docker)
make build-builder # Assemble the CNB builder (requires pack)
make test-smoke # Run smoke tests
make test # Run full integration tests- All smoke tests must pass (
make test-smoke) - Run
make lintand address Hadolint warnings - Update
README.mdif you change public-facing behaviour - Keep PRs focused on a single concern
- All Quality Gates and Security Scan checks must be green (see the Quality Contract in the README)
When adding a new sample application under samples/, update all of the following to keep the repository in sync:
-
.github/workflows/benchmark.yml— add the sample to the benchmark matrix -
.github/workflows/test.yml— addpack buildand container verification steps -
.github/workflows/quality-gates.yml— add the sample to thejava-static-analysismatrix -
.github/dependabot.yml— add dependency tracking for the new sample -
tests/integration/test_builder.sh— add the sample to the integration test loop -
README.md— update the Sample Applications table - New sample
README.md— include Endpoints, Build, Tests, and Runtime Constraints sections
Follow Conventional Commits:
feat(stack): upgrade distroless to latest nonroot tag
fix(builder): correct lifecycle version constraint
chore(deps): bump ubuntu base image to 24.04
docs: add section on custom stack IDs
Pinned versions in builder.toml are managed automatically by Renovate. To update manually:
- Find the current tag on GHCR (e.g.
ghcr.io/paketobuildpacks/java) - Update the
uriin the[[buildpacks]]block - Update the matching
versionin the[[order.group]]block - Build and test locally
By contributing, you agree your contributions will be licensed under Apache 2.0.