This page contains information related to upcoming products, features, and functionality.
It is important to note that the information presented is for informational purposes only.
Please do not rely on this information for purchasing or planning purposes.
As with all projects, the items mentioned on this page are subject to change or delay.
The development, release, and timing of any products, features, or functionality remain at the
sole discretion of GitLab Inc.
Status | Authors | Coach | DRIs | Owning Stage | Created |
---|---|---|---|---|---|
proposed | devops verify | - |
GitLab CI Events Proposal 1: Using the .gitlab-ci.yml
file
Currently, we have two proof-of-concept (POC) implementations:
They both have similar ideas;
-
Find a new CI Config syntax to define the pipeline events.
Example 1:
workflow: events: - events/package/published # or workflow: on: - events/package/published
Example 2:
spec: on: - events/package/published - events/package/removed # on: # package: [published, removed] --- do_something: script: echo "Hello World"
- Upsert an event to the database when creating a pipeline.
- Create EventStore subscriptions to handle the events.
Problems & Questions
- The CI config of a project can be anything;
-
.gitlab-ci.yml
by default - another file in the project
- another file in another project
- completely a remote/external file
How do we handle these cases?
-
- Since we have these problems above, should we keep the events in its own file? (
.gitlab-ci-events.yml
) - Do we only accept the changes in the main branch?
- We try to create event subscriptions every time a pipeline is created.
- Can we move the existing workflows into the new CI events, for example,
merge_request_event
?