Skip to content

renalreg/.github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Issues


.github

About The Project

A sensible set of standard workflows and associated files for reuse in all UKKA repos. The templates are a starting point and allow for customisation where a project is outside the bounds of what is normal.

Conventional Commits

A lot of the workflows in this repo rely on the use of conventional commits. Check out the following documentation

Squash and Merge

Conventional commits go hand in hand with the squash and merge and the workflows here also expect that to be the merging strategy.

Usage

For public repos you can add the workflow templates via the actions tab.

You can also copy and paste the templates into any repo you wish without the need to use the github UI.

Available Workflows Templates

UKKA Python Test

Runs test commands in Python, with options to run across multiple OS, python versions and user defined package management system. Runs on PRs to the default branch.

Consumed actions:


Example Options

with:
      python_versions: '["3.10", "3.11"]'
        # Description: Python versions to test under 
        # Default: current lowest supported python version 
      os: '["windows-latest", "ubuntu-latest"]'
        # Description: Comma-separated list of operating systems to test against 
        # Default: ["ubuntu-latest"]
      package_manager_command: "pip install poetry"
        # Description: Command to install additional package manager 
        # Default: ""
      install_command: "poetry install --no-interaction"
        # Description: The command issued to install python packages 
        # Default: "pip install -r requirements.txt"
      test_command: "poetry run tox"
        # Description: The command used to run the test suite
        # Default: "pytest"

Python Release

Handles Python release automation, including version bumping and changelog generation. Runs on pushes to the default branch.

This repo is heavily reliant on the Release Please action which uses release types to set a sensible set of default files to interact with depending on the coding language used within the repo.


Consumed actions:


Example Options

with:
      release_type: "python"
        # Description: Built in release strategy
        # Default: "simple"

Python Publish

Publishes a Python package and runs on published releases.

Consumed actions:


Example Options

with:
      build_tooling_command: "pip install poetry"
        # Description: Command to install build tooling 
        # Default: "pip install build"
      build_command: "poetry build"
        # Description: The command used to build packages
        # Default: "python -m build"

TODO Check

Checks for unresolved TODOs in the codebase that are not linked to a ticket. Runs on PRs to the default branch and can be manually triggered.

Consumed Actions:

with:
      directory_to_scan: "./my_package"
        # Description: The root of the directory to scan
        # Default: "./"
      file_extensions: "py, json, yaml"
        # Description: A comma seperated list of file extensions to check
        # Default: "md"

Python File Check

Ensures required files (README, CHANGELOG, etc.) are present and not empty. Runs on PRs to the default branch. There are no options here but it is only suitable for python based repos.

Consumed actions:

Conventional PR Title

Checks that pull request titles follow the Conventional Commits standard. Runs on PRs to the default branch. There are no options and this will work on all repos. This is important if you want to use the auto PR workflow.

Consumed actions:

Auto Pull Request

Automates the creation and management of pull requests, including branch name extraction and token generation. Runs on pushes (except to the default branch). There are no options and this should work on all repos but it is completely reliant on conventional commits. It also works best when each PR has a single CC which describes the aim of the PR.

Consumed Actions:

Python Test Gen

A reusable workflow for running tests with configurable Python versions and OS matrix. Intended to be called by other workflows.

Consumed Actions:

(back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •