Skip to content

Dedicated Fedora CI configuration repo #3025

@lbarcziova

Description

@lbarcziova

Currently, users can opt out of using Fedora CI via our service config in https://github.com/packit/deployment/blob/main/secrets/packit/prod/packit-service.yaml.j2. For the current low number of users needing to opt out, this is ok, but long-term, we might need a better way of configuring the CI (there is #3021 and plans for being able to configure log-detecive and test plans). A dedicated repository, like https://pagure.io/fedora-project-config/blob/master/f/zuul.d was previously, could create a good separation and better UX. We could also load this dynamically, without the need to redeploy the config and workers following any change in the configuration. Ideally, the loaded config should be cached (e.g. hourly?).

As for the format, here are some ideas (we could also use some combination):
1.

  # Global defaults
  defaults:
    # Which test plans run by default (future-proofing)
    test_plans:
      - rpmlint
      # - fedora-review   # Example opt-in plan (commented = disabled by default)


    # Build targets enabled by default
    targets:
      eln: true              # ELN builds+tests from rawhide


  # Project-specific overrides
  # Projects not listed here use defaults
  projects:
    # Full opt-out
    kernel:
      enabled: false


    # Partial opt-out (ELN only)
    glibc:
      targets:
        eln: false


    # Custom test plan configuration (future)
    systemd:
      test_plans:
        - rpmlint
        - fedora-review
  # Opt-outs organized by type
  opt_out:
    # Complete opt-out from all Fedora CI
    all:
      - kernel
      - glibc


    # Opt-out from ELN only
    eln:
      - firefox
      - thunderbird


    # Opt-out from specific test plans (future)
    test_plans:
      fedora-review:
        - some-package


  # Opt-ins for non-default features (future)
  opt_in:
    test_plans:
      license-validate:
        - systemd
        - kernel  #

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/fedora-ciRelated to the Fedora CI servicearea/generalNot tied to a specific areacomplexity/single-taskRegular task; should be done within daysgain/highBrings a lot of value to usersimpact/lowAffects only few of the userskind/otherA specific piece of work

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions