cici-tools 0.18.3__tar.gz → 0.19.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cici_tools-0.18.3 → cici_tools-0.19.1}/.gitlab-ci.yml +2 -2
- {cici_tools-0.18.3 → cici_tools-0.19.1}/.pre-commit-config.yaml +3 -3
- {cici_tools-0.18.3 → cici_tools-0.19.1}/PKG-INFO +1 -1
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/_version.py +3 -3
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/models.py +8 -1
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici_tools.egg-info/PKG-INFO +1 -1
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici_tools.egg-info/SOURCES.txt +11 -0
- cici_tools-0.19.1/tests/fixtures/gitlab/image/.cici/.gitlab-ci.yml +27 -0
- cici_tools-0.19.1/tests/fixtures/gitlab/image/.cici/config.yaml +14 -0
- cici_tools-0.19.1/tests/fixtures/gitlab/image/image-check.yml +31 -0
- cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/.cici/.gitlab-ci.yml +52 -0
- cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/no-pages.yml +10 -0
- cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/pages-all.yml +14 -0
- cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/pages-expire-in.yml +12 -0
- cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/pages-expires-in.yml +11 -0
- cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/pages-path-prefix.yml +12 -0
- cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/pages-publish.yml +12 -0
- cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/pages.yml +11 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_cli.py +4 -1
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_resolve_targets.py +2 -4
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_yaml_style.py +96 -1
- {cici_tools-0.18.3 → cici_tools-0.19.1}/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/.cici/README.md.j2 +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/.cici/config.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/.dockerignore +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/.gitignore +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/.licenserc.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/.pre-commit-hooks.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/.prettierignore +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/.prettierrc.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/.secrets.baseline +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/Dockerfile +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/LICENSE +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/MANIFEST.in +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/NOTICE +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/README.md +0 -0
- {cici_tools-0.18.3/cici/templates → cici_tools-0.19.1/cici}/__init__.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/__main__.py +0 -0
- {cici_tools-0.18.3/cici/schema → cici_tools-0.19.1/cici/cli}/__init__.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/cli/bundle.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/cli/readme.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/cli/schema.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/cli/update.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/config/__init__.py +0 -0
- {cici_tools-0.18.3/cici/providers → cici_tools-0.19.1/cici/config/project}/__init__.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/config/project/models.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/config/project/serializers.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/config/user.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/constants.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/exceptions.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/main.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/paths.py +0 -0
- {cici_tools-0.18.3/cici/config/project → cici_tools-0.19.1/cici/providers}/__init__.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/__init__.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/constants.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/normalizers.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/serializers.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/utils.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/yaml_style.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/py.typed +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/schema/LICENSE.gitlab +0 -0
- {cici_tools-0.18.3/cici/cli → cici_tools-0.19.1/cici/schema}/__init__.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/schema/gitlab-ci.json +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/README.md.j2 +0 -0
- {cici_tools-0.18.3/cici → cici_tools-0.19.1/cici/templates}/__init__.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/brief.md.j2 +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/description.md.j2 +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/group-list.j2 +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/groups.md.j2 +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/target-list.md.j2 +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/target-table.md.j2 +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/targets.md.j2 +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/variable-list.md.j2 +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/variables.md.j2 +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/utils.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici-bundle.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici-readme.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici-update.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici_tools.egg-info/dependency_links.txt +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici_tools.egg-info/entry_points.txt +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici_tools.egg-info/requires.txt +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/cici_tools.egg-info/top_level.txt +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/bundle.md +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/config-file.md +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/getting-started.md +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/gitlab-includes.md +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/index.md +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/install.md +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/readme.md +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/style.css +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/update.md +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/makefile +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/mkdocs.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/pyproject.toml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/requirements.txt +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/scripts/gen-api-doc.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/setup.cfg +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/extends/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/extends/simple-job.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/helm/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/helm/helm-cm-push.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/helm/helm-docs.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/helm/helm-lint.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/job-variables/.cici/config.yaml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-development-apply.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-development-auto-apply.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-development-destroy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-development-plan.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-development-trivy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-development-validate.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-fmt.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-module-build.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-module-release.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-production-apply.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-production-auto-apply.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-production-destroy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-production-plan.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-production-trivy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-production-validate.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-staging-apply.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-staging-auto-apply.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-staging-destroy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-staging-plan.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-staging-trivy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-staging-validate.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-trivy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-validate.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/library-validator/.cici/README.md.j2 +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/library-validator/.cici/config.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/library-validator/README.md +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/list-anchors/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/list-anchors/install.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/nested-extends/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/nested-extends/simple-job.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/reports/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/reports/reports-container-scanning.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/reports/reports-coverage.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/reports/reports-junit.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/reports/reports-terraform.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/.cici/config.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch-amd64.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch-arm32v6.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch-arm32v7.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch-arm64v8.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch-i386.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch-manifest.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-hadolint.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-trivy.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/simple/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/simple/simple-job.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/stages/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/stages/simple-job.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/config.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-apply.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-auto-apply.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-destroy.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-plan.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-validate.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-fmt.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-module-build.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-module-release.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-apply.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-auto-apply.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-destroy.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-plan.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-trivy.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-validate.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-apply.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-auto-apply.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-destroy.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-plan.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-trivy.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-validate.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-trivy.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-validate.yaml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/tofu-development-trivy.yaml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-development-apply.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-development-auto-apply.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-development-destroy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-development-plan.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-development-trivy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-development-validate.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-fmt.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-module-build.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-module-release.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-production-apply.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-production-auto-apply.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-production-destroy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-production-plan.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-production-trivy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-production-validate.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-staging-apply.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-staging-auto-apply.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-staging-destroy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-staging-plan.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-staging-trivy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-staging-validate.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-trivy.yml +0 -0
- {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-validate.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/terraform/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/terraform/terraform-fmt.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/terraform/terraform-production-apply.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/terraform/terraform-production-plan.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/terraform/terraform-staging-apply.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/terraform/terraform-staging-destroy.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/variables/.cici/.gitlab-ci.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/variables/simple-job.yml +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_build.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_expand_job_extends.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_import.py +0 -0
- {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_precommit_hook_injection.py +0 -0
|
@@ -33,11 +33,11 @@ include:
|
|
|
33
33
|
file:
|
|
34
34
|
- mkdocs-build.yml
|
|
35
35
|
- project: saferatday0/library/pages
|
|
36
|
-
ref: 0.
|
|
36
|
+
ref: 0.6.0
|
|
37
37
|
file:
|
|
38
38
|
- pages.yml
|
|
39
39
|
- project: saferatday0/library/prettier
|
|
40
|
-
ref: 0.
|
|
40
|
+
ref: 0.8.0
|
|
41
41
|
file:
|
|
42
42
|
- prettier.yml
|
|
43
43
|
- project: saferatday0/library/python
|
|
@@ -30,18 +30,18 @@ repos:
|
|
|
30
30
|
]
|
|
31
31
|
|
|
32
32
|
- repo: https://gitlab.com/saferatday0/library/container
|
|
33
|
-
rev: "0.
|
|
33
|
+
rev: "0.9.2"
|
|
34
34
|
hooks:
|
|
35
35
|
- id: container-hadolint
|
|
36
36
|
|
|
37
37
|
- repo: https://gitlab.com/saferatday0/library/prettier
|
|
38
|
-
rev: "0.
|
|
38
|
+
rev: "0.8.0"
|
|
39
39
|
hooks:
|
|
40
40
|
- id: prettier
|
|
41
41
|
exclude: "^\\.gitlab-ci\\.yml$"
|
|
42
42
|
|
|
43
43
|
- repo: https://gitlab.com/saferatday0/badgie
|
|
44
|
-
rev: "0.14.
|
|
44
|
+
rev: "0.14.4"
|
|
45
45
|
hooks:
|
|
46
46
|
- id: badgie
|
|
47
47
|
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.
|
|
32
|
-
__version_tuple__ = version_tuple = (0,
|
|
31
|
+
__version__ = version = '0.19.1'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 19, 1)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'ga17385576'
|
|
@@ -85,7 +85,7 @@ class IDToken(msgspec.Struct, omit_defaults=True, frozen=True, kw_only=True):
|
|
|
85
85
|
aud: Union[str, list[str]] = field(default_factory=list)
|
|
86
86
|
|
|
87
87
|
|
|
88
|
-
class Image(msgspec.Struct, omit_defaults=True, frozen=True, kw_only=True, tag=
|
|
88
|
+
class Image(msgspec.Struct, omit_defaults=True, frozen=True, kw_only=True, tag=False):
|
|
89
89
|
name: str
|
|
90
90
|
entrypoint: Union[str, list[str]] = field(default_factory=list)
|
|
91
91
|
pull_policy: Union[str, list[str]] = field(default_factory=list)
|
|
@@ -153,6 +153,12 @@ class Service(msgspec.Struct, omit_defaults=True, frozen=True, kw_only=True):
|
|
|
153
153
|
pull_policy: Union[str, list[str]] = field(default_factory=list)
|
|
154
154
|
|
|
155
155
|
|
|
156
|
+
class Pages(msgspec.Struct, omit_defaults=True, frozen=True, kw_only=True):
|
|
157
|
+
publish: Optional[str] = None
|
|
158
|
+
expire_in: Optional[str] = None
|
|
159
|
+
path_prefix: Optional[str] = None
|
|
160
|
+
|
|
161
|
+
|
|
156
162
|
class Job(
|
|
157
163
|
msgspec.Struct,
|
|
158
164
|
omit_defaults=True,
|
|
@@ -178,6 +184,7 @@ class Job(
|
|
|
178
184
|
id_tokens: Dict[str, IDToken] = field(default_factory=dict)
|
|
179
185
|
interruptible: bool = False
|
|
180
186
|
needs: Optional[list[str]] = None
|
|
187
|
+
pages: Optional[Union[bool, Pages]] = None
|
|
181
188
|
retry: Union[int, Retry] = 0
|
|
182
189
|
resource_group: str = ""
|
|
183
190
|
rules: List[Rule] = field(default_factory=list)
|
|
@@ -92,6 +92,9 @@ tests/fixtures/gitlab/helm/helm-cm-push.yml
|
|
|
92
92
|
tests/fixtures/gitlab/helm/helm-docs.yml
|
|
93
93
|
tests/fixtures/gitlab/helm/helm-lint.yml
|
|
94
94
|
tests/fixtures/gitlab/helm/.cici/.gitlab-ci.yml
|
|
95
|
+
tests/fixtures/gitlab/image/image-check.yml
|
|
96
|
+
tests/fixtures/gitlab/image/.cici/.gitlab-ci.yml
|
|
97
|
+
tests/fixtures/gitlab/image/.cici/config.yaml
|
|
95
98
|
tests/fixtures/gitlab/job-variables/opentofu-development-apply.yml
|
|
96
99
|
tests/fixtures/gitlab/job-variables/opentofu-development-auto-apply.yml
|
|
97
100
|
tests/fixtures/gitlab/job-variables/opentofu-development-destroy.yml
|
|
@@ -117,6 +120,14 @@ tests/fixtures/gitlab/job-variables/opentofu-trivy.yml
|
|
|
117
120
|
tests/fixtures/gitlab/job-variables/opentofu-validate.yml
|
|
118
121
|
tests/fixtures/gitlab/job-variables/.cici/.gitlab-ci.yml
|
|
119
122
|
tests/fixtures/gitlab/job-variables/.cici/config.yaml
|
|
123
|
+
tests/fixtures/gitlab/keyword-pages/no-pages.yml
|
|
124
|
+
tests/fixtures/gitlab/keyword-pages/pages-all.yml
|
|
125
|
+
tests/fixtures/gitlab/keyword-pages/pages-expire-in.yml
|
|
126
|
+
tests/fixtures/gitlab/keyword-pages/pages-expires-in.yml
|
|
127
|
+
tests/fixtures/gitlab/keyword-pages/pages-path-prefix.yml
|
|
128
|
+
tests/fixtures/gitlab/keyword-pages/pages-publish.yml
|
|
129
|
+
tests/fixtures/gitlab/keyword-pages/pages.yml
|
|
130
|
+
tests/fixtures/gitlab/keyword-pages/.cici/.gitlab-ci.yml
|
|
120
131
|
tests/fixtures/gitlab/library-validator/README.md
|
|
121
132
|
tests/fixtures/gitlab/library-validator/.cici/README.md.j2
|
|
122
133
|
tests/fixtures/gitlab/library-validator/.cici/config.yaml
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: UL Research Institutes
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
stages:
|
|
5
|
+
- test
|
|
6
|
+
- build
|
|
7
|
+
- deploy
|
|
8
|
+
|
|
9
|
+
workflow:
|
|
10
|
+
rules:
|
|
11
|
+
- if: $CI_PIPELINE_SOURCE == "push" && $CI_OPEN_MERGE_REQUESTS
|
|
12
|
+
when: never
|
|
13
|
+
- when: always
|
|
14
|
+
|
|
15
|
+
image-check:
|
|
16
|
+
stage: test
|
|
17
|
+
image:
|
|
18
|
+
name: "${CONTAINER_PROXY}apache/skywalking-eyes"
|
|
19
|
+
entrypoint: ["/bin/sh", "-ce"]
|
|
20
|
+
cache: {}
|
|
21
|
+
dependencies: []
|
|
22
|
+
variables:
|
|
23
|
+
GIT_DEPTH: "1"
|
|
24
|
+
GIT_SUBMODULE_STRATEGY: "none"
|
|
25
|
+
script:
|
|
26
|
+
- license-eye header check
|
|
27
|
+
needs: []
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is generated by cici-tools with the following command:
|
|
3
|
+
#
|
|
4
|
+
# cici bundle
|
|
5
|
+
#
|
|
6
|
+
stages:
|
|
7
|
+
- test
|
|
8
|
+
- build
|
|
9
|
+
- deploy
|
|
10
|
+
|
|
11
|
+
workflow:
|
|
12
|
+
rules:
|
|
13
|
+
- if: $CI_PIPELINE_SOURCE == "push" && $CI_OPEN_MERGE_REQUESTS
|
|
14
|
+
when: never
|
|
15
|
+
- when: always
|
|
16
|
+
|
|
17
|
+
image-check:
|
|
18
|
+
stage: test
|
|
19
|
+
image:
|
|
20
|
+
name: ${CONTAINER_PROXY}apache/skywalking-eyes
|
|
21
|
+
entrypoint:
|
|
22
|
+
- "/bin/sh"
|
|
23
|
+
- "-ce"
|
|
24
|
+
variables:
|
|
25
|
+
GIT_DEPTH: "1"
|
|
26
|
+
GIT_SUBMODULE_STRATEGY: none
|
|
27
|
+
script:
|
|
28
|
+
- license-eye header check
|
|
29
|
+
cache: {}
|
|
30
|
+
dependencies: []
|
|
31
|
+
needs: []
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: UL Research Institutes
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
# check pages keywords are rendered correctly
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
no-pages:
|
|
8
|
+
stage: test
|
|
9
|
+
image: whatever
|
|
10
|
+
script:
|
|
11
|
+
- pass
|
|
12
|
+
|
|
13
|
+
pages:
|
|
14
|
+
stage: test
|
|
15
|
+
image: whatever
|
|
16
|
+
pages: false
|
|
17
|
+
script:
|
|
18
|
+
- pass
|
|
19
|
+
|
|
20
|
+
pages-publish:
|
|
21
|
+
stage: test
|
|
22
|
+
image: whatever
|
|
23
|
+
pages:
|
|
24
|
+
publish: public
|
|
25
|
+
script:
|
|
26
|
+
- pass
|
|
27
|
+
|
|
28
|
+
pages-path_prefix:
|
|
29
|
+
stage: test
|
|
30
|
+
image: whatever
|
|
31
|
+
pages:
|
|
32
|
+
path_prefix: mr-$CI_COMMIT_REF_SLUG
|
|
33
|
+
script:
|
|
34
|
+
- pass
|
|
35
|
+
|
|
36
|
+
pages-expire_in:
|
|
37
|
+
stage: test
|
|
38
|
+
image: whatever
|
|
39
|
+
pages:
|
|
40
|
+
expire_in: 1 day
|
|
41
|
+
script:
|
|
42
|
+
- pass
|
|
43
|
+
|
|
44
|
+
pages-all:
|
|
45
|
+
stage: test
|
|
46
|
+
image: whatever
|
|
47
|
+
pages:
|
|
48
|
+
publish: public
|
|
49
|
+
path_prefix: preview-$CI_COMMIT_REF_SLUG
|
|
50
|
+
expire_in: 1 hour
|
|
51
|
+
script:
|
|
52
|
+
- pass
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is generated by cici-tools with the following command:
|
|
3
|
+
#
|
|
4
|
+
# cici bundle
|
|
5
|
+
#
|
|
6
|
+
pages-all:
|
|
7
|
+
stage: test
|
|
8
|
+
image: whatever
|
|
9
|
+
script:
|
|
10
|
+
- pass
|
|
11
|
+
pages:
|
|
12
|
+
publish: public
|
|
13
|
+
expire_in: 1 hour
|
|
14
|
+
path_prefix: "preview-$CI_COMMIT_REF_SLUG"
|
|
@@ -53,6 +53,10 @@ def pushd(path):
|
|
|
53
53
|
"gitlab",
|
|
54
54
|
"job-variables",
|
|
55
55
|
),
|
|
56
|
+
(
|
|
57
|
+
"gitlab",
|
|
58
|
+
"image",
|
|
59
|
+
),
|
|
56
60
|
],
|
|
57
61
|
)
|
|
58
62
|
def test_end_to_end_bundle(platform, name, tmp_path):
|
|
@@ -70,7 +74,6 @@ def test_end_to_end_bundle(platform, name, tmp_path):
|
|
|
70
74
|
for file in files:
|
|
71
75
|
shutil.copyfile(fixture_dir / file, test_dir / file)
|
|
72
76
|
with pushd(test_dir):
|
|
73
|
-
print([path.name for path in Path.cwd().glob("*")])
|
|
74
77
|
cici(["bundle"])
|
|
75
78
|
|
|
76
79
|
for file in files:
|
|
@@ -45,13 +45,11 @@ def strip_proxy(image: Optional[str]) -> Optional[str]:
|
|
|
45
45
|
container:
|
|
46
46
|
image: busybox
|
|
47
47
|
""",
|
|
48
|
-
{
|
|
49
|
-
"gamma.yaml": """
|
|
48
|
+
{"gamma.yaml": """
|
|
50
49
|
name: gamma
|
|
51
50
|
container:
|
|
52
51
|
image: alpine:latest
|
|
53
|
-
"""
|
|
54
|
-
},
|
|
52
|
+
"""},
|
|
55
53
|
["theta", "delta", "gamma"],
|
|
56
54
|
["old:version", "busybox", "alpine:latest"],
|
|
57
55
|
),
|
|
@@ -7,7 +7,7 @@ import pytest
|
|
|
7
7
|
import ruamel.yaml
|
|
8
8
|
from ruamel.yaml.scalarstring import FoldedScalarString
|
|
9
9
|
|
|
10
|
-
from cici.providers.gitlab.yaml_style import make_scalar_string
|
|
10
|
+
from cici.providers.gitlab.yaml_style import make_scalar_string, style_scalars
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
# test the folding when handling string literals
|
|
@@ -145,3 +145,98 @@ def test_folded_scalar_does_not_insert_blank_lines(command):
|
|
|
145
145
|
# 5. The command must still appear intact
|
|
146
146
|
for part in command.split():
|
|
147
147
|
assert part in output
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
def get_path(obj, path: str):
|
|
151
|
+
"""Traverse dict/list using dotted paths and [index] access.
|
|
152
|
+
|
|
153
|
+
Examples:
|
|
154
|
+
- "job.image"
|
|
155
|
+
- "job.rules[0].if"
|
|
156
|
+
- "job.script[1]"
|
|
157
|
+
- "job.variables.GIT_DEPTH"
|
|
158
|
+
"""
|
|
159
|
+
cur = obj
|
|
160
|
+
for part in path.split("."):
|
|
161
|
+
if "[" in part:
|
|
162
|
+
# e.g. rules[0]
|
|
163
|
+
key, rest = part.split("[", 1)
|
|
164
|
+
idx = int(rest.rstrip("]"))
|
|
165
|
+
cur = cur[key][idx]
|
|
166
|
+
else:
|
|
167
|
+
cur = cur[part]
|
|
168
|
+
return cur
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
@pytest.mark.parametrize(
|
|
172
|
+
"input_data, expected_paths",
|
|
173
|
+
[
|
|
174
|
+
pytest.param(
|
|
175
|
+
{
|
|
176
|
+
"job": {
|
|
177
|
+
"image": "alpine:3.19",
|
|
178
|
+
"variables": {
|
|
179
|
+
"GIT_DEPTH": {"value": "1"},
|
|
180
|
+
"TOKEN": {"value": "$TOKEN"},
|
|
181
|
+
"PATHS": {"value": "/certs"},
|
|
182
|
+
},
|
|
183
|
+
"script": [
|
|
184
|
+
'echo "token" | docker login registry -u user --password-stdin',
|
|
185
|
+
"FOO=bar",
|
|
186
|
+
"echo ok",
|
|
187
|
+
],
|
|
188
|
+
"rules": [{"if": '$CI_COMMIT_BRANCH == "main"', "when": "always"}],
|
|
189
|
+
"environment": {"name": "$STATE/apply", "action": "stop"},
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"job.image": "alpine:3.19",
|
|
194
|
+
"job.variables.GIT_DEPTH": "1",
|
|
195
|
+
"job.variables.TOKEN": "$TOKEN",
|
|
196
|
+
"job.variables.PATHS": "/certs",
|
|
197
|
+
"job.script[1]": "FOO=bar",
|
|
198
|
+
"job.rules[0].if": '$CI_COMMIT_BRANCH == "main"',
|
|
199
|
+
"job.environment.name": "$STATE/apply",
|
|
200
|
+
"job.environment.action": "stop",
|
|
201
|
+
},
|
|
202
|
+
id="generic-job-case",
|
|
203
|
+
),
|
|
204
|
+
pytest.param(
|
|
205
|
+
{
|
|
206
|
+
"job": {
|
|
207
|
+
"image": "alpine",
|
|
208
|
+
"script": ["echo hello"],
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"job.image": "alpine",
|
|
213
|
+
"job.script[0]": "echo hello",
|
|
214
|
+
},
|
|
215
|
+
id="minimal-generic-case",
|
|
216
|
+
),
|
|
217
|
+
],
|
|
218
|
+
)
|
|
219
|
+
def test_style_scalars(input_data, expected_paths):
|
|
220
|
+
|
|
221
|
+
# send input_data through style_scalars() function
|
|
222
|
+
styled = style_scalars(input_data)
|
|
223
|
+
|
|
224
|
+
# send the now styled input_data through the dump() function
|
|
225
|
+
y = ruamel.yaml.YAML()
|
|
226
|
+
y.width = 120
|
|
227
|
+
y.indent(mapping=2, sequence=4, offset=2)
|
|
228
|
+
|
|
229
|
+
buf = io.StringIO()
|
|
230
|
+
y.dump(styled, buf)
|
|
231
|
+
emitted = buf.getvalue()
|
|
232
|
+
|
|
233
|
+
# parse back the dumped output like GitLab would
|
|
234
|
+
parsed = ruamel.yaml.YAML(typ="safe").load(emitted)
|
|
235
|
+
|
|
236
|
+
# read the nested values and compare to expected
|
|
237
|
+
for path, expected in expected_paths.items():
|
|
238
|
+
assert get_path(parsed, path) == expected, f"path {path!r} mismatched"
|
|
239
|
+
|
|
240
|
+
# just make sure no blank lines in any folded blocks
|
|
241
|
+
# I already test for this in test_folded_scalar_does_not_insert_blank_lines()
|
|
242
|
+
assert "\n\n" not in emitted
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|