- If a scanner error occurs while reading the Alpine APK index, it is now propagated up instead of ignored
- Fix
{{alpine_packages}}
failing for Alpine v3.20 due to extremely long lines in the package index
- Add support for setting the alpine mirror via the
--alpine-mirror
flag, and change default to a working mirror. - Dependency updates
- Revert
--identity-label=false
change as it's not supported by the version of Buildah currently deployed on GitHub Actions.
- Add logging for commands that are executed on the host, and automatically
query the version of buildah and git when running with
--commit
or--build
- Further fix for randomly choosing between multiple tags with the same semver.
- Add
increment_int
template function (thanks @Greboid). - Pass
--identity-label=false
to Buildah to make builds more reproducible (thanks @Greboid).
- Update gitrefs dependency, which fixes issue where contempt will randomly
choose between tags if they're all the same semver (e.g.
v1.2.3
and1.2.3
)
- Add orchestrator binary, for generating configs based on the dependencies between projects. This can be used to (for example) generate a GitHub Actions workflow file that contains a separate job for each project, with the dependencies properly expressed between them. A future version of contempt will better support this single-project-at-a-time usecase.
- Ignore
~x.x
version selectors in apk dependencies (thanks @greboid)
- Added
{{postgres15_url}}
and{{postgres15_checksum}}
template functions
- Fixed issue where all projects are ignored if the path is given as
.
(like in the examples in the README...)
- The
--project
flag can now contain multiple projects separated by commas. - No longer recurses into directories which start with a
.
(e.g..git
) when finding projects. - Now properly reports errors when finding projects, instead of panicing.
- Added
regex_url_content
template function (thanks @Greboid)
- Fix dependency resolution when using fully-qualified names in the
image
template function.
- When multiple materials change the commit message is now summarised as "N changes", the details are spread over multiple lines, and sorted alphabetically.
- The
image
template function now accepts fully-qualified image names, and will not pre-pend the default registry. - Added
git_tag
andprefixed_git_tag
template functions. - Fixed
-push-retries
flag including the original push attempt in the count (i.e., a value of2
would retry once; a value of0
would fail without trying.)
prefixed_github_tag
no longer includes the stripped prefix in the bill of materials.
- Added
-push-retries
flag to specify how many times a failed push should be retried. Defaults to 2.
- Added option (enabled by default) to print workflow commands for GitHub Actions to group log output.
- Skip 'conflicts with' dependencies when resolving Alpine packages (thanks @Greboid)
- Make the project build order deterministic.
- LatestGitHubTag now uses gitrefs to get the latest tag instead of the GitHub API.
- Fix "Generated from" header when running with absolute paths
- Fix infinite loop if running with paths other than ".", or if projects are nested multiple directories deep.
- Explicitly error if dependencies can't be resolved.
- Improved error message if GitHub tags couldn't be resolved.
- Fixed image digests being truncated to "sha256:" and a single character in commit messages
- Increased size of versions shown in commit messages from 8 to 12
- Fixed commit messages showing old/new versions the wrong way around
- Flags can be specified as env vars
- Initial version