Radish alpha
r
rad:zwTxygwuz5LDGBq255RA2CbNGrz8
Radicle CI broker
Radicle
Git
Lacks filter predicates for "not this repository"
Closed { reason: Solved } yorgos-laptop opened 1 year ago

I was explicitly filtering out some repos in my instance of the broker that was running on version 0.6.3 with:

  - !Or
    - !AnyPatchRef
    - !AnyPushRef
  - !And
    - !Not
      - !Repository "rad:z32iyJDyFLqvPFzwHm8YadK4HQ2EY"
  - !And
    - !Not
      - !Repository "rad:z3wrDsEn1PSED2enczEwPSaxV9qv6"
  - !And
    - !Not
      - !Repository "rad:z4HyZP9FLJweV8LnF3LrLY6rZ9vTf"
  - !And
    - !Not
      - !Repository "rad:z4Wx5BWhk61aeMMd7zFNYTdRu2BM6"

I tried starting the CI broker 0.10.0 with:

filters:
  - !Or
    - !PatchCreated
    - !PatchUpdated
  - !And
    - !Not
      - !Repository "rad:z32iyJDyFLqvPFzwHm8YadK4HQ2EY"
  - !And
    - !Not
      - !Repository "rad:z3wrDsEn1PSED2enczEwPSaxV9qv6"
  - !And
    - !Not
      - !Repository "rad:z4HyZP9FLJweV8LnF3LrLY6rZ9vTf"
  - !And
    - !Not
      - !Repository "rad:z4Wx5BWhk61aeMMd7zFNYTdRu2BM6”

and I am getting the following unrecoverable error that causes the broker to crash:

fields":{"message":"caused by: filters.\\[1\\].\\[0\\]: deserializing nested enum in EventFilter::Not from YAML is not supported yet

I have temporarily worked around the issue by moving from a block-list to an allow-list, however that I would like to be able to explicitly filter out specific repositories, rather than having to add to the allow list repos after seeding them. It is an extra step that I would like to avoid.

liw commented 1 year ago

This should now be fixed by patch c8a3d72