A collection of sample applications that can be built using Amphitheatre Buildpacks.
- Clone this repository:
git clone https://github.com/amp-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.
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 Move and Solidity samples with the Paketo tiny and base builders, run:
./smoke.sh --builder paketobuildpacks/builder-jammy-tiny:latest \
--builder paketobuildpacks/builder-jammy-base:latest \
--suite move \
--suite solidity
- https://elements.heroku.com/buildpacks
- https://github.com/GoogleCloudPlatform/buildpacks
- https://github.com/paketo-buildpacks
- https://github.com/paketo-community
- Buildpacks.io Cloud Native Buildpack website
- Buildpack Author Guide https://buildpacks.io/docs/buildpack-author-guide
- CNB Tutorial Tutorial to get you started using pack, a builder, and your application to create a working OCI image.
- Buildpack & Platform Specification Detailed definition of the interaction between a platform, a lifecycle, Cloud Native Buildpacks, and an application.
- How to Build Go Apps with Paketo Buildpacks How to use the Paketo Go Buildpack(opens in a new tab) to build applications for several common use-cases.
- libcnb A non-opinionated language binding for the Cloud Native Buildpack Buildpack and Extension specifications
- libpak An opinionated extension to the libcnb Cloud Native Buildpack Library
- packit Buildpacks Utils Library
- libpak-tools A set of tools for managing, building and packaging libpak based buildpacks
- libbs A library that forms the basis for building the different Paketo-style build system-providing buildpacks
- A Cloud Native Buildpack for Go https://github.com/paketo-buildpacks/go
- Rust Cloud Native Buildpack https://github.com/paketo-community/rust
- A Cloud Native Buildpack for Cargo (Rust) https://github.com/paketo-community/cargo
If anything feels off, or if you feel that some functionality is missing, please check out the contributing page. There you will find instructions for sharing your feedback, building the tool locally, and submitting pull requests to the project.
Copyright (c) The Amphitheatre Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Heavily inspired by