- Add
unreleased_git_tagandprefixed_unreleased_git_tag(thanks @greboid)
- Fixed an incorrect array index in the previous fix...
- Fixed an occasional infinite loop in contempt when resolving APK dependencies with pc: constraints. Thanks @Greboid for the report.
- Updated to latest v3.0.1 which fixes an occasional infinite loop when resolving APK dependencies with pc: constraints
- Other minor dependency updates
- Add ability to pass username/password when checking for the latest git tags
- Dependency updates
- Dependencies listed by the orchestrator are now listed alphabetically instead of non-deterministically
- Fix crash in orchestrator due to uninitialised map
- Orchestrator will now ignore duplicate dependencies
- Update liquid library to allow better whitespace handling in orchestrator
- Fix compiler error in orchestrator (thanks @greboid)
- Fixed issue resolving dependencies if functions were passed non-string arguments, or returned ints.
- Add
{{map}}and{{arr}}utility template functions. - Fix postgres sources not working.
- Refactor templating to use the latest library instead of Contempt knowing how to check the latest version of everything
- Added generic
{{postgres_url <version>}}and{{postgres_checksum <version>}}functions. The older version specific functions are deprecated, but will not be removed in the near future. - Support for including other templates. The option "includes" specifies a
directory containing templates (default:
_includes) which can then be called using Go's standard{{template "name.gotpl"}}convention.
- Add support for retrieving releases of postgres 16/17 (thanks @greboid)
- 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-mirrorflag, and change default to a working mirror. - Dependency updates
- Revert
--identity-label=falsechange 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
--commitor--build
- Further fix for randomly choosing between multiple tags with the same semver.
- Add
increment_inttemplate function (thanks @Greboid). - Pass
--identity-label=falseto 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.3and1.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.xversion 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
--projectflag 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_contenttemplate function (thanks @Greboid)
- Fix dependency resolution when using fully-qualified names in the
imagetemplate 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
imagetemplate function now accepts fully-qualified image names, and will not pre-pend the default registry. - Added
git_tagandprefixed_git_tagtemplate functions. - Fixed
-push-retriesflag including the original push attempt in the count (i.e., a value of2would retry once; a value of0would fail without trying.)
prefixed_github_tagno longer includes the stripped prefix in the bill of materials.
- Added
-push-retriesflag 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.