This is a collection of Github Actions, mainly for University of Manchester use. We do not intend to publish these to the Github Actions Marketplace.
These are intended for use in many types of project, wherever relevant.
-
commit-idhelps generate a file containing the ID of the commit within it. -
compare-outputcompares the output of a program to a string. Great for testing! -
downloaddoes cached downloads of files from the web. -
git-push-changes-to-branchhandles pushing updates generated by a workflow to a new branch. -
instantiate-filecreates a file with a value provided by your workflow.
-
apt-get-installinstalls packages into Ubuntu runners, allowing for subtleties of installation that have been found to come up with some packages "in the wild". -
docker-publish-to-ghcrpublishes a workflow-local Docker image to the Github container registry. -
check-copyrightsensures that all files in your repository have an "acceptable" copyright notice near their top. -
todofindsFIXMEandTODOcomments in code.
-
add_prs_to_project(reusable workflow) is a reusable workflow that you can use in your repository to add any PRs assigned to a user to a Project and set the Status in the project to a value of your choosing. -
scan-for-secrets(reusable workflow) is a reusable workflow that you can use in your repository to scan for API keys (e.g., for AWS) that your code accidentally exposes.
These often have platform requirements for their runners. You can always have several jobs in a workflow to allow the use of Linux runners in an otherwise Windows-specific build scheme.
-
doxygen-to-pagesruns Doxygen to generate a simple deployable documentation site. -
run-c-style-checkruns a simple style checker against your C or C++ code. -
run-clang-tidydoes static analysis of C or C++ codebases withclang-tidyto find likely problems.
configure-nuget-for-githubsets up NuGet to access GitHub packages.
-
python-import-all-testruns a simple test to import all the Python files beneath a particular module. -
run-pylintruns the Python code style checkerpylintover some code. It includes support for spell-checking documentation strings.
These are intended to support particular other repositories and working practices. They may be non-applicable more widely.
-
check-ruleset-containmentchecks whether a ruleset minimally conforms to another ruleset. -
get-repo-rulesetgets the ruleset applied to a particular branch of a repository. -
reusechecks that the licenses of all files conform to the REUSE standard.