Skip to content
This repository has been archived by the owner on Aug 4, 2023. It is now read-only.

0.6.0

Compare
Choose a tag to compare
@ThomasSteinbach ThomasSteinbach released this 06 Apr 13:14
· 96 commits to main since this release

Added

  • Added config.yml to .github dir to force using issue templates.
  • Added gitlab_ci_environment_variables monkeypatch fixture. It allows patching environment variables.
  • Added gitlab_ci_environmnet_variables fixture to tests.
  • The gcip is now able to detect if two or more jobs would have the same name in the rendered pipeline
    and raises an ValueError to prevent undesirable pipeline behavior.
  • Added new addon to check container optimization with dive
  • Improved conftest.check() function. It tells the user how to create comparison files if the file not found exception.
  • Improved conftest.check() function. Now AssertionError is handled, the user will get receive how to update comparison files.
  • Added new class PredefinedImages in gcip.addons.container. Allows access to container images, that are widley used.
  • Added new class which handels docker client config and renders it to a json string.
  • Added gcip.addon.container.job.crane to allow copying container images between registries.

Changed

  • BREAKING Renamed all occurences of 'job*sequence' to 'sequence'. Mainly this renames
    gcip.core.job_sequence.JobSequence to gcip.core.sequence.Sequence.
  • Changed behavior how PredefinedVariables is handling environment variables.
    PredefinedVariables knows which environment variables are always present or under certain circumstances,
    like merge requests or if GitLab container registry is present.
    Variables marked with limited availabilty within official documentation returns String or None.
    All variables which are documented as always present return String.
  • If the gcip code is executed outside a pipeline ($CI is empty) then for all expected CI_* variables
    a dummy string is returned instead of raising a KeyError.
  • The gcip.Pipeline has now an add_services() method instead add_service() allowing to pass multiple
    services at once.
  • Now jobs with hardcoded images, now using PredefinedImages images instead.