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 01:42:17PM -0500, Stephen John Smoogen wrote:
> On Mon, 25 Jan 2021 at 13:30, Zbigniew Jędrzejewski-Szmek <zbyszek@xxxxxxxxx>
> wrote:
> 
> > On Mon, Jan 25, 2021 at 07:19:45PM +0100, Miro Hrončok wrote:
> > > On 25. 01. 21 19:03, Zbigniew Jędrzejewski-Szmek wrote:
> > > >On Mon, Jan 25, 2021 at 03:59:43PM +0100, Miro Hrončok wrote:
> > > >>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.
> > > >
> > > >I agree with the general idea. But I think it is important that the
> > > >second part is SHOULD (as you wrote), and the text should make it clear
> > > >that there may be good reasons to push commits which haven't been
> > > >preemptively tested.
> > > >
> > > >For example: packages which take a long time to build, and are known to
> > > >pseudorandomly fail on less-used architectures. Doing a 10h scratch
> > build
> > > >just to have it pass, and then the real build fail is common. And even
> > > >if it fails, I wouldn't want to be on the hook to fix this "in a timely
> > > >manner". I'll certainly get to it at some point, but it may be a few
> > > >weeks before I have the few hours necessary to dig into some complicated
> > > >test failures.
> > >
> > > I agree that there are cases where doing a 10h scratch build is not
> > > desired. However I'd rather if the update is delayed by 10h than
> > > wasting many other packagers time. If you can only afford to come
> > > and fix an introduced failure in a few weeks, it should IMHO not
> > > acceptable to push and walk away (unless you are prepared to revert
> > > the commit).
> >
> > But a revert might not be appropriate at all. The failure might be
> > caused by a different bug or some issue in with a dependency, and
> > this cannot be known without some investigation.
> >
> > If we consider packages with are *already* FTBFS — pushing changes
> > which may fix some stuff but don't allow the package to build does not
> > make the problem for pps any better or worse. So I think already-FTBFS
> > packages should be excluded from this policy.
> >
> >
> If this was some other code which was tied into some sort of continuous
> rebuild system, wouldn't the developer strategy be that you would push the
> changes to a branch which wasn't rebuilt, test that and then pull the fixes
> in. I am not talking about fork and pr.. I am just thinking branch and pull
> which should be scriptable in even a 10k package ownership method.
> 
> say something like
> 
> for X in packages
> fedpkg temp-scratch -b scratch-fedora

fedpkg 'temp-branch' is just an idea, right? Normally branches in
dist-git are semi-permanent and require a releng ticket to be removed.

> fedpkg switch-branch scratch-fedora
> sed 's/foo/bar/g' *.spec
> # if possible if not you still can do stuff
> fedpkg build-scratch
> if $?
>  echo yay
>  fedpkg merge-scratch --delete-temp scratch-fedora '$target-branch'
>  # this could attempt a merge and fail if not possible
>  fedpkg build
> else
>  echo "oh noez.. manual work required"
>  exit
> fi
> done
> 
> in the cases of just doing some late-night work you want to get somewhere
> but not your laptop
> fedpkg temp-branch -b
> fedpkg push
> #next week
> fedpkg build-scratch
> fedpkg merge-scratch

Actually, for such tests a branch is not needed. I can do builds locally
in mock or even koji --scratch from a real branch. Just don't push the
commits to the dist-git remote. I have done this in the past when dealing
with mass changes, and I don't think branches would make this any easier.

(That's why I was talking about packages which take long enough to build
to make scratch builds undesirable... If we can do a scratch build without
too much hassle, let's just do that.)

Zbyszek
_______________________________________________
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