Skip to main content

Continuous Delivery scripts to increase automation

Project description

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

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

Project details


Download files

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

Source Distribution

continuous_delivery_scripts-3.2.6.tar.gz (58.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

continuous_delivery_scripts-3.2.6-py3-none-any.whl (84.0 kB view details)

Uploaded Python 3

File details

Details for the file continuous_delivery_scripts-3.2.6.tar.gz.

File metadata

File hashes

Hashes for continuous_delivery_scripts-3.2.6.tar.gz
Algorithm Hash digest
SHA256 ccd119934427d1b8a6d2e0d0a236d979b8cbd9726c5280f195b50603c02220b5
MD5 79ce339c3f5631a2b364ec2631f066ef
BLAKE2b-256 744c93b8cad204a5600b8727730c317aa7f0bd9123374cd62e4c47018e90e3ab

See more details on using hashes here.

File details

Details for the file continuous_delivery_scripts-3.2.6-py3-none-any.whl.

File metadata

File hashes

Hashes for continuous_delivery_scripts-3.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6960c98e3c4dc54fb83822f97e1e7ced7d25a5b21adf5ee9b6263887dcca9316
MD5 caa593e5d44201f3f6a548c2bdb8f510
BLAKE2b-256 e9171f94034ae5ec5195d19288f35bc79fd285cf9a4dc1410c056f61f187129d

See more details on using hashes here.

Supported by

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