A collection of sample applications that can be built using Paketo Buildpacks.
- Clone this repository:
git clone https://github.com/paketo-buildpacks/samples
- Pack
- If the app is a part of an existing language family:
- Add app to the appropriate language family in its own subdirectory.
- Add a test context to the *_test.go file in the language family directory.
- If the app is a part of a new language family:
- Create a new directory for the language family.
- Create a new test file <language_family_name>/*_test.go containing a new test suite.
- Be mindful of which builders the app is compatible with and set up test suites accordingly.
- Run
./scripts/generate-test-workflow.sh -l <language_family_name>
to generate a Github Actions workflow that runs the tests.
- Update README.md.
- AspectJ
- Azure Application Insights
- Gradle DistZip
- Gradle
- Kotlin
- Leiningen (Clojure)
- Maven
- Native Image
- OpenTelemetry
- Pre-compiled JAR
- Scala Akka
- WAR
- Built-in Webserver
- NGINX
- Apache HTTPD
- Composer
- Composer with Extensions
- Extensions via custon .ini
- Memcached Session Handler
- Redis Session Handler
- No Package Manager
- Pip
- Pipenv
- Miniconda
- Poetry (dependency management only)
- Poetry (dependency management and run commands)
To run integration tests that pack build
each of the sample apps, use
scripts/smoke.sh
. See scripts/smoke.sh -h
for usage information.
For example, to run tests for the Go and .NET Core samples with the Paketo tiny and base builders, run:
./smoke.sh --builder paketobuildpacks/builder-jammy-tiny:latest \
--builder paketobuildpacks/builder-jammy-base:latest \
--suite go \
--suite dotnet-core