1.6 KiB
1.6 KiB
owning-stage | description |
---|---|
~devops::verify | GitLab CI Events Proposal 1: Using the .gitlab-ci.yml file |
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
?