Maybe you have been in a position where there are specific tasks that must kick off in your software development process based on events in the platform or other systems. Perhaps you are even a GitLab CI user and love the flexibility that pipelines offer for project automation and want to be able to extend this to other types of items. Out of the July 2022 Verify Stage Hackathon, a proof of concept for CI workflows has been released and we are looking for feedback on ways this feature can help make your life easier.
What are CI worfklows?
The idea behind the proof of concept is to instrument an event-based service to trigger pipelines. The current instrumentation features a definition of this service in the .gitlab-ci.yml
and a hook into the existing webhooks GitLab provides today. These components make up the workflow
definition.
What can CI workflows do?
The possibilities for CI workflows are endless. If you wanted to triage issues, a workflow can be set on issue creation. Let’s say you want to automatically run pipelines based on merge request state changes - just use a workflow even in .gitlab-ci.yml
to start a pipeline when a merge request is made “ready” or someone approved your code in it.
Here is a brief overview of the proof of concept in action:
What’s next?
GitLab CI workflows are one component of a broader GitLab workflow and automation goals. Up next, we are looking to formally instrument CI workflows via GitLab. We also are looking ahead to Platform Events or Cloud Events, which help extend the number of events to trigger various automations from beyond the existing webhooks/system hooks.
Is this something that you are interested in or have feedback on? Tag @dhershkovitch
on our GitLab CI Workflows Issue.
Cover image by Kelly Sikkema on Unsplash