Skip to main content

Automation Scripts for CI/CD

Package Documentation PyPI PyPI - Status PyPI - Python Version Downloads

License Compliance

Build Status

Overview

Project initially forked from ARMmbed/mbed-tools-ci-scripts but modified so that it can be used for any projects and any languages.

Continuous Delivery scripts for any projects:

  • Automated release flows (i.e. changelog generation, git tags, versioning)
  • third party IP auditing and reporting

Releases

For release notes and a history of changes of all production releases, please see the following:

For a the list of all available versions please, please see the:

Versioning

The version scheme used follows PEP440 and Semantic Versioning. For production quality releases the version will look as follows:

  • <major>.<minor>.<patch>

Beta releases are used to give early access to new functionality, for testing and to get feedback on experimental features. As such these releases may not be stable and should not be used for production. Additionally any interfaces introduced in a beta release may be removed or changed without notice. For beta releases the version will look as follows:

  • <major>.<minor>.<patch>-beta.<pre-release-number>

Installation

It is recommended that a virtual environment such as Pipenv is used for all installations to avoid Python dependency conflicts.

To install the most recent production quality release use:

pip install continuous-delivery-scripts

To install a specific release:

pip install continuous-delivery-scripts==<version>

Usage & Documentation

Code documentation is available for the most recent production release here:

The package follows the Unix tools philosophy:

The tools philosophy was to have small programs to accomplish a particular task instead of trying to develop large monolithic programs to do a large number of tasks. To accomplish more complex tasks, tools would simply be connected together, using pipes.

Therefore, it installs the following tools which can be used anywhere within a project/repository comprising a pyproject.toml file such as the one defining this project:

  • cd-assert-news: Asserts that the PR/Branch contains a news file describing the changes introduced
  • cd-determine-version: Returns the version of the tool
  • cd-generate-news: Generates a changelog file based on the news files present in the repository
  • cd-get-config: Returns project configuration values
  • cd-tag-and-release: Releases the project (Language specific actions are run, See plugins)
  • cd-create-news-file: Generates a news file
  • cd-generate-docs: Generates project Code documentation which can then be rendered by GitHub pages (See docs folder)
  • cd-generate-spdx: Generates SPDX documents for the project (3rd party IP reporting/ OpenChain)
  • cd-license-files: Updates the Licence header and copyright to all the source code files

For GitHub automation that performs authenticated clone or fetch operations, see GitHub Token Authentication.

GitHub Token Authentication

When git operations need to retry against GitHub over HTTPS, this project now uses the credential layout https://x-access-token:<token>@github.com/<owner>/<repo>.git.

This means the token is sent in the password position with x-access-token as the username, which is the format GitHub accepts for workflow-generated and other non-OAuth tokens used by automation.

Older https://<token>:x-oauth-basic@github.com/... URLs were tied to OAuth-style credentials and could reject tokens created dynamically during CI/CD flows.

Project Structure

The follow described the major aspects of the project structure:

  • .github - CI and GitHub configuration files.
  • docs/ - Interface definition and usage documentation.
  • examples/ - Usage examples.
  • continuous-delivery-scripts/ - Python source files.
  • news/ - Collection of news files for unreleased changes.
  • tests/ - Unit and integration tests.

Getting Help

  • For interface definition and usage documentation, please see GitHub Pages.
  • For a list of known issues and possible workarounds, please see Known Issues.
  • To raise a defect or enhancement please use GitHub Issues.

Contributing

Metadata

Release files for continuous-delivery-scripts 3.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for continuous-delivery-scripts 3.5.1
File Size Uploaded
continuous_delivery_scripts-3.5.1.tar.gz 62.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for continuous-delivery-scripts 3.5.1
File Interpreter ABI Platform
continuous_delivery_scripts-3.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 152.9 kB

Release files / continuous_delivery_scripts-3.5.1.tar.gz

Download URL continuous_delivery_scripts-3.5.1.tar.gz
Size 62.8 kB
Tags Source
SHA-256 checksum
How to use checksums
11fecca569bbbfa4734926458b7485934d496bf1dc37d79186f7b73914f82dfc
BLAKE2b-256 checksum
How to use checksums
58560ec5ce3286f3aef31b83d7f62a93088cf6744fc3a9dbbff104dded9e1831
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / continuous_delivery_scripts-3.5.1-py3-none-any.whl

Download URL continuous_delivery_scripts-3.5.1-py3-none-any.whl
Size 90.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e67beb6a8864fc36383fbd98e64f0a181d184caf2bc210efb81bc1b6146bba5c
BLAKE2b-256 checksum
How to use checksums
f6037b65c590010f004c33d0da25e4445105d30277f0dc2bc6c19f0137de9825
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release history Release notifications | RSS feed

4.4.2

2 release files

4.4.1

2 release files

4.4.0

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.0

2 release files

This release

3.5.1 This release

2 release files

3.5.0

2 release files

3.4.1

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.6

2 release files

3.2.5

2 release files

3.2.4

2 release files

3.2.3

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.7

2 release files

3.0.6

2 release files

3.0.5

2 release files

3.0.4

2 release files

3.0.3

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.11.0

2 release files

2.10.2

2 release files

2.10.1

2 release files

2.10.0

2 release files

2.9.1

2 release files

2.9.0

2 release files

2.8.5

2 release files

2.8.4

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.2

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.2

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.1

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page