xcookie.builders.gitlab_ci module
- class xcookie.builders.gitlab_ci.GitLabCIRenderer(applier, plan: CIPlan | None = None)[source]
Bases:
objectRender GitLab CI YAML from a provider-neutral CI plan.
- xcookie.builders.gitlab_ci._add_yaml_merge(target, referent)[source]
Attach a YAML merge key across ruamel.yaml versions.
Older xcookie code used
add_yaml_merge([(0, referent)]). Newer ruamel.yaml releases expect aMergeValueobject; plain lists can be accepted byadd_yaml_mergebut fail later while dumping because they do not providesequence/merge_posattributes.
- xcookie.builders.gitlab_ci.build_gitlab_ci(self)[source]
Example
>>> from xcookie.builders.gitlab_ci import * # NOQA >>> from xcookie.main import XCookieConfig >>> from xcookie.main import TemplateApplier >>> config = XCookieConfig(tags=['purepy'], repo_name='mymod') >>> config['enable_gpg'] = False >>> config['linter'] = False >>> config['test_variants'] = ['full-loose'] >>> config['ci_cpython_versions'] = config['ci_cpython_versions'][-2:] >>> self = TemplateApplier(config) >>> text = build_gitlab_ci(self) >>> print(ub.highlight_code(text, 'yaml'))
- xcookie.builders.gitlab_ci.build_lint_job(self, common_template, deploy_image, plan: CIPlan | None = None)[source]