Re: Policy proposal (draft): Don't push knowingly broken or work-in-progress work to dist git

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 25, 2021 at 10:00 AM Miro Hrončok <mhroncok@xxxxxxxxxx> wrote:
>
> Hello,
>
> When we work on rebuilding Python packages with new Python version and when
> other provenpackagers rebuild multiple packages at once, I've seen several
> problems with packages failing to build from source and/or creating unexpected
> breakage in rawhide when built. Usually, some of the following happens:
>
>
> 1. Untested changes
>
> Packager pushes a "simple update" to dist git without checking if it even
> builds. It doesn't. Packager has no time to fix this, so they move on for now.
> Or they submit a build but never check if it actually built. Provenpackagers who
> need to rebuild the package need to figure this out and fix the problem if it is
> trivial, or revert the recent commit, when the failure blocks them.
>
> IMHO Provenpackagers should not need to worry about this. Changes should be at
> least smoke tested by a mock/scratch build and installation check before
> shipping them.
>
>
> 2. Changes that work but are waiting on external factors
>
> Packager pushes a breaking change to dist git (such as a soname bump) before
> coordinating the change with the dependent packages, not intending to
> immediately build it. A provenpackager rebuilds the package for a different
> reason (such as a different soname bump), accidentally shipping the
> not-yet-wanted upgrade to rawhide.
>
> IMHO Provenpackagers should not need to worry about this. Commits should land in
> dist git only when they are intended to be built (close to) immediately. The
> only reasonable exception is when building the pushed changes in a side tag and
> even then, packagers should communicate their intentions.
>
>
> 3. Work-in-progress changes
>
> Packager works on a package. They have a work in progress solution to their
> problem, but no time to finish. They push a "WIP" commit that either breaks the
> build or produces a broken package. The symptoms are similar to (1) or (2). I've
> heard packagers saying "but this is rawhide, this is where development happens,
> so this is expected" - I disagree.
>
> ---
>
> I'd like to explicitly say that neither of this is considered a good behavior.
> I'd like to have a policy that more or less says:
>
> 1. Packagers MUST NOT push changes that are not considered ready to be built and
> shipped at the time of the push. Using Pull Requests (clearly marked as not
> ready to be merged) is a better place to present/save changes that are not ready
> yet.
>
> 2. Packagers SHOULD preemptively check if the changes they intend to push work.
> At least checking if the intended change builds and the package installs with it
> is strongly recommended. In cases where the check is skipped for time reasons
> (e.g. when a testing build takes several hours and the changes are urgent),
> packagers SHOULD be ready to fix the build/installation failure in timely manner
> after it is discovered by the actual build.
>
>
> Before I try to word it more carefully I'd like to hear some feedback on this.
> What do you think?
>

I'm fully in favor of this and I'd really like to see us add some
degree of CI gating to support it.
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux