SPIKE: Evaluating and Integrating Reusable Workflows from External Repositories
Closed this issue · 7 comments
User Story
As a Modernisation Platform Engineer
I want to implement a SPIKE to evaluate the feasibility of calling reusable workflows from other repositories.
This will help in identifying common tasks and replacing them with reusable workflows, allowing for centralized updates
Value / Purpose
- Simplify maintenance, as changes can be made in one central location rather than multiple workflows.
- Minimizing the need to duplicate code across multiple repositories.
Useful Contacts
No response
Additional Information
No response
Proposal / Unknowns
- The existing workflows have a significant amount of common tasks that can be extracted. (Eg: Slack failure notification)
Definition of Done
- Completed an audit of existing workflows and identified common tasks suitable for conversion.
- Confirmed the feasibility of implementing reusable workflows.
- Successfully created and tested a reusable workflow in a POC.
- Discuss actions with team
- Integrated the reusable workflow into at least two workflows from the same or different repositories as a test case.
- Another team member has reviewed the PoC solution
- Tests are green
- raise following issues as necessary
@sukeshreddyg to talk with david
This issue is stale because it has been open 90 days with no activity.
Google doc with my findings so far... https://docs.google.com/document/d/1v9zC5B0DIx8mXhMVcVAjgN-rzi-nctSbobMgc37ZkvY
Proof of concept workflows:
reusable-code-scanning.yml workflow:
Includes example of passing unique inputs e.g. Checkov skips
reusable-go-terratest.yml workflow:
Includes secret inheritance e.g. AWS credentials
Reviewed findings with team.
Outcomes:
- I'll write some follow up stories for some of the identified areas where reusable workflows could be used, in particular some use cases for some locally hosted reusable workflows
- The general feeling was not to create a centralised set of workflows which could reduce duplication and dependancy management (dependabot PRs etc.) as it might be seen as an unnecessary decoupling of the workflow from the code in the repo.
SPIKE completed and follow-on stories have been raised (see links above).
I've reviewed this and I'm happy it's been completed.