Description:
Our CI (in this repo and many of our others) uses GitHub Actions. For the most part his works well, but there is repetition between the different CI workflow files in each repository. A good example of this is setting up and running ICAT Ansible - DataGateway API, DataGateway and various ICAT repos all follow similar steps to get ICAT Ansible running, yet they're all copied & pasted from each other; the steps are duplicated in this repo more than once because ICAT Ansible has to run in different jobs.
One solution to this might be composite actions. GitHub has written an article that walks through a basic example. basic guide of how they work. I've also found an article on dev.to that compares composite actions against something called reusable workflows. I don't know anything about reusable workflows so this might be something also worth investigating - the article points out some specific differences that might make one more appropriate than the other for our use cases.
It would be good if you could investigate this to find out how we can reduce duplication within our CI workflows. Common points of duplication are as follows:
Acceptance criteria:
Description:
Our CI (in this repo and many of our others) uses GitHub Actions. For the most part his works well, but there is repetition between the different CI workflow files in each repository. A good example of this is setting up and running ICAT Ansible - DataGateway API, DataGateway and various ICAT repos all follow similar steps to get ICAT Ansible running, yet they're all copied & pasted from each other; the steps are duplicated in this repo more than once because ICAT Ansible has to run in different jobs.
One solution to this might be composite actions. GitHub has written an article that walks through a basic example. basic guide of how they work. I've also found an article on dev.to that compares composite actions against something called reusable workflows. I don't know anything about reusable workflows so this might be something also worth investigating - the article points out some specific differences that might make one more appropriate than the other for our use cases.
It would be good if you could investigate this to find out how we can reduce duplication within our CI workflows. Common points of duplication are as follows:
Acceptance criteria: