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/fetch
New 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.