Metadata-Version: 2.1
Name: ci-version-tools
Version: 0.1.0.dev3
Summary: Versioning tools for CI
License: MIT
Author: Sergej Alikov
Author-email: sergej@alikov.com
Requires-Python: >=3.11,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: semver (>=3.0.2,<4.0.0)
Description-Content-Type: text/markdown

# Versioning tools for CI

## project-version

Example use in `.gitlab-cy.yml`:

```yaml

version:
  image: docker.io/alikov/ci-version-tools:0.1.0.dev2
  stage: .pre
  script:
    - project-version
        --version-source-file ./VERSION
        --git-version-tag-prefix v
        --dev-identifier dev
        --dev-nr "${CI_PIPELINE_IID:-0}"
        ${CI_COMMIT_TAG:+--git-tag "$CI_COMMIT_TAG"} | tee version.env
  artifacts:
    reports:
      dotenv:
        - version.env

.build-image:
  stage: build
  image: $BUILDAH_CI_IMAGE
  script:
    - IMAGE="${CI_REGISTRY_IMAGE}:${VERSION_SEMVER}"
    - buildah build -t "$IMAGE" .
    - buildah inspect "$IMAGE"
    - buildah push "$IMAGE"
    - buildah push "$IMAGE" "${CI_REGISTRY_IMAGE}:${VERSION_SEMVER_MAJOR}"
    - buildah push "$IMAGE" "${CI_REGISTRY_IMAGE}:${VERSION_SEMVER_MINOR}"
    - [ -z "$VERSION_IS_LATEST_RELEASE" ] || buildah push "$IMAGE" "${CI_REGISTRY_IMAGE}:latest"
  needs:
    - version

```

