Metadata-Version: 2.4
Name: voraus-pipeline-utils
Version: 1.0.0rc3
Summary: A library containing pipeline utils for both, local usage and usage in Jenkins.
Author-email: Jan-Frederik Schmidt <jan-frederik.schmidt@vorausrobotik.com>
License-Expression: MIT
Project-URL: Repository, https://github.com/vorausrobotik/voraus-pipeline-utils
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: importlib-metadata
Requires-Dist: typer~=0.26.8
Requires-Dist: voraus-logging-lib~=2.0
Requires-Dist: requests
Requires-Dist: pydantic-settings~=2.0
Requires-Dist: PyYAML~=6.0
Requires-Dist: packaging
Dynamic: license-file

# voraus Pipeline Utils

`voraus-pipeline-utils` provides a single `vpu` command that wraps the CI/CD building blocks used
across voraus robotik projects — JFrog CLI setup, package publishing, Docker builds and documentation
uploads — behind one layered configuration.

## Installation

Install `voraus-pipeline-utils` into your environment:

```bash
uv add --dev voraus-pipeline-utils

# or with pip
pip install voraus-pipeline-utils
```

## Usage

```bash
vpu --help      # list every command group
vpu --version   # print the installed version
```

See the [documentation](https://vorausrobotik.github.io/voraus-pipeline-utils/) for a guided
introduction — start with the Concepts page if Artifactory is new to you, then follow the how-to guide
for your CI system.

## Contributing

### Running the docker integration tests locally

The tests under `tests/integration/docker_build/` invoke a real `docker build` and only run on
Linux hosts that have the docker CLI available. To also run the multi-platform build test
locally, your machine needs (one-time setup):

1. QEMU / `binfmt_misc` for emulating non-native architectures (for cross-arch builds on x86):

   ```bash
   docker run --privileged --rm tonistiigi/binfmt --install all
   ```

   Alternatively, on Arch Linux you can install `qemu-user-static-binfmt` directly.

2. A persistent buildx builder named `multiarch` using the `docker-container` driver:

   ```bash
   docker buildx inspect multiarch >/dev/null 2>&1 \
     || docker buildx create --name multiarch --driver docker-container --bootstrap
   ```

   The test targets this builder explicitly via `--builder multiarch` and writes the resulting
   multi-arch image to an OCI tarball (`--output type=oci,dest=…`) for inspection — the docker
   daemon cannot load multi-platform images directly. On CI, the workflow creates the same-named
   builder automatically.
