Skip to main content

Common utilities for Camptocamp CI

Project description

C2C CI utils

Commands:

  • c2cciutils: some generic tools.
  • c2cciutils-checks: Run the checks on the code (those checks don't need any project dependencies).
  • c2cciutils-audit: Do the audit, the main difference with checks is that it can change between runs on the same code.
  • c2cciutils-publish: Publish the project.
  • c2cciutils-clean: Delete Docker images on Docker Hub after corresponding branch have been deleted.

New project

The content of example-project can be a good base for a new project.

Configuration

You can get the current configuration with c2cciutils --get-config, the default configuration depends on your project.

You can override the configuration with the file ci/config.yaml.

At the base of the configuration you have:

  • version: Contains some regular expressions to find the versions branches and tags, and to convert them into application versions.
  • checks: The checkers configuration, see c2cciutils/checks.py for more information.
  • audit: The audit configuration, see c2cciutils/audit.py for more information.
  • publish: The publish configuration, see c2cciutils/publish.py for more information.

Many actions can be disabled by setting the corresponding configuration part to False.

Publishing

To pypi

When publishing, the version computed from arguments or GITHUB_REF is put in environment variable VERSION, thus you should use it in setup.py, example:

VERSION = os.environ.get("VERSION", "1.0.0")

The config is like this:

    versions: # List of kinds of versions you want to publish, that can be: custom (used by rebuild),
        # version_tag, version_branch, feature_branch, feature_tag (for pull request)

To Docker registry

The config is like this:

images:
  - name: # The base name of the image we want to publish
repository:
  <internal_name>:
      "server": # The fqdn name of the server if not Docker hub
      "version": # List of kinds of versions you want to publish, that can be: custom (used by rebuild),
          # version_tag, version_branch, feature_branch, feature_tag (for pull request)
      "tags": # List of tags we want to publish interpreted with `template(version=version)`
          # e.-g. if you use `{version}-lite` when you publish the version `1.2.3` the source tag
          # (that should be built by the application build) is `latest-lite`, and it will be published
          # with the tag `1.2.3-lite`.
      "group": # If your images are published by different jobs you can separate them in different groups
          # and publish them with `c2cciutils-publish --group=<group>`

With the c2cciutils-clean the images on Docker hub for feature_branch will be removed on branch removing.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

File details

Details for the file c2cciutils-1.0.dev20201202101054-py3-none-any.whl.

File metadata

  • Download URL: c2cciutils-1.0.dev20201202101054-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.8.5

File hashes

Hashes for c2cciutils-1.0.dev20201202101054-py3-none-any.whl
Algorithm Hash digest
SHA256 0c969e67a268d4ad2b1c58c2571dad80d17be479799450a1649949c6b5d45c8a
MD5 662ca1b54df9b87f7cc131f7e19db779
BLAKE2b-256 3e8cde798ac28f35c440ed2d7695c1cdfefe23af21904c83848dabfdc32b17a3

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page