Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions doc/processes/continuous_integration/GHA_vs_Jenkins.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Github Actions versus Jenkins

We have chosen to use Github actions where possible moving forwards to run CI workflows.

This is because it tends to be very reliable and reduces system administration overhead as we no longer need to keep build servers running, patched and so on.

For jobs that are long-running or resource intensive, such as building the EPICS top tree, we will continue to run these on Jenkins. Otherwise, the remaining jobs are still on Jenkins due to dependency management issues (ie. they rely on a site-hosted `P2` site).

8 changes: 8 additions & 0 deletions doc/processes/continuous_integration/reusable_workflows.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{#reusable_workflows}
# reusable workflows

As we have standardised on linting and testing frameworks, many of our repositories would likely just have copy-pasted github actions workflows.

To avoid this duplication, we have a [repository](https://github.com/ISISComputingGroup/reusable-workflows) for reusable workflows. When starting a new project you should consider using these first before writing your own repository-specific workflows.

More information can be found on the [official Github docs](https://docs.github.com/en/actions/how-tos/reuse-automations/reuse-workflows).
4 changes: 3 additions & 1 deletion doc/system_components/python/Python-conventions.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,4 +222,6 @@ AVOID combining strings with '\\', '\\\\' or '/'

For new repos containing python you should add the following [workflow](https://github.com/ISISComputingGroup/reusable-workflows/blob/main/.github/workflows/linters.yml) to ensure standards compliance.

An example of how to call this workflow is [here](https://github.com/ISISComputingGroup/EPICS-inst_servers/blob/master/.github/workflows/linter.yml), you may need to adjust `master` vs `main` depending on which branch your repository uses as it's primary branch (should be `main` for new repos usually).
An example of how to call this workflow is [here](https://github.com/ISISComputingGroup/EPICS-inst_servers/blob/master/.github/workflows/linter.yml), you may need to adjust `master` vs `main` depending on which branch your repository uses as it's primary branch (should be `main` for new repos usually).

For more information see {ref}`reusable_workflows`.