Melange provides several built-in pipelines to facilitate the process of building packages for popular ecosystems, such as Python, Perl, and Maven.
Pipelines are invoked in Melange builds by their file path. All built-in pipelines
are located in the pkg/build/pipelines directory.
Therefore, to consume a pipeline that has a file name of fetch.yaml and is
located in the sample folder, the syntax in your Melange YAML would be:
...
pipeline:
- uses: sample/fetchNew pipelines can be created by adding YAML files to the pkg/build/pipelines directory.
Melange needs to be rebuilt before the new pipelines become available. For local
tests, you can install a development version of Melange using go install . in the
root directory. For CI builds, it is necessary to bump the melange dependency in
wolfictl.
To bump the Melange dependency on wolfictl:
- Fork and clone the wolfi-dev/wolfictl repository locally.
- From the root of the repository, run the following commands:
go get chainguard.dev/melange@main go mod tidy
- Submit a pull request with your changes.
- A new image with your updated version will be created when the image creation workflow runs again.