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 2: Using the rules keyword

Can we do it with our current rules system?

workflow:
  rules:
    - events: ["package/*"]

test_package_published:
  script: echo testing published package
  rules:
    - events: ["package/published"]

test_package_removed:
  script: echo testing removed package
  rules:
    - events: ["package/removed"]
  1. We don’t upsert subscriptions to the database.
  2. We’ll have a single worker which runs when something happens in GitLab.
  3. The worker just tries to create a pipeline with the correct parameters.
  4. Pipeline runs when rules subsystem finds a job to run.

Challenges

  1. For every defined event run, we need to enqueue a new pipeline creation worker.
  2. Creating pipelines and selecting builds to run is a relatively expensive operation
  3. This will not work on GitLab.com scale.