Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate Composite Actions for CI #371

Open
3 tasks
MRichards99 opened this issue Sep 1, 2022 · 0 comments
Open
3 tasks

Investigate Composite Actions for CI #371

MRichards99 opened this issue Sep 1, 2022 · 0 comments
Assignees
Labels

Comments

@MRichards99
Copy link
Collaborator

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:

  • Investigate how composite actions and reusable workflows work - make a small example so you can learn and demonstrate how it works
  • Make a plan of how to tackle each of the common points of duplication - should composite actions or reusable workflows be used, be comfortable with how you'd do it etc.
  • Either do the work within the scope of this issue or split up the changes into different issues (we can work this out nearer the time)
@Reillyhewitson Reillyhewitson self-assigned this Feb 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants