004604a frontend, backend, cli, rpmbuild, python: optionally run fedora-review after build

19 files Authored by frostyx 2 months ago, Committed by praiskup 2 months ago,
    frontend, backend, cli, rpmbuild, python: optionally run fedora-review after build
    
    See RHBZ 1526396
    See #1314
    
    I implementing a possibility to opt-in for running `fedora-review`
    after every build in a project. At this moment, we have only per
    project setting, but in the future we probably should increase the
    granularity (per package, per build).
    
    Failing to run `fedora-review` tool or the build results not passing
    all `fedora-review` checks doesn't affect the build status in any
    way, i.e. successful build won't fail because of failed
    `fedora-review`.
    
    To be sure, that this feature works as expected, I added a new beaker
    test called `runtest-fedora-review.sh`.
    
    I tried to not over-engineer the design on the frontend side and
    simply add support for `fedora-review` instead of a general support
    for hooking (static) analysis tools with `fedora-review` as the first
    supported tool. We should IMHO gradually add support for new tools and
    once some additional abstraction is usefull, implement it.
    
    At this moment, there are two inconveniences regarding `fedora-review`
    tool itself.
    
    1) It doesn't work with Mock Tmpfs plugin enabled, and it doesn't
       propagate `--mock-options` to all mock calls, therefore it cannot
       be workarounded by `--mock-options='--disable-plugin=tmpfs'`.
       Please see https://pagure.io/FedoraReview/pull-request/409
       We need to wait until the PR gets merged and released, or use our
       custom build. This doesn't affect us though, because we use a
       custom mock config and set all the options there.
    
    2) There is no option for specifying output directory, it gets
       generated from the package name. Which is not optimal for our
       use-case because nobody would expect that a `foo` directory is
       `fedora-review` output. As a workaround, I am renaming the output
       directory after `fedora-review` finishes. Please see
       https://pagure.io/FedoraReview/issue/410
    
    It's worth noting that we cannot archvie configs as soon as we did
    before because this way, they would be already archived when we want
    to call fedora-review, and therefore the generated config would not be
    available. We need to archvie them later.
    
        
  • Zuul
    success
    Jobs result is success
    2 months ago
  • Copr build
    pending (50%)
    #2010496
    2 months ago
  • Copr build
    success (100%)
    #2010495
    2 months ago
  • Copr build
    success (100%)
    #2010497
    2 months ago
  • Copr build
    success (100%)
    #2010498
    2 months ago
  • Copr build
    success (100%)
    #2010503
    2 months ago
  • Copr build
    success (100%)
    #2010506
    2 months ago
  • Copr build
    success (100%)
    #2010504
    2 months ago
  • Copr build
    success (100%)
    #2010505
    2 months ago
file modified
+17 -0
file modified
+2 -0
file modified
+1 -0
file modified
+3 -0
file modified
+4 -0
file modified
+4 -0