Skip to content

Commit 3cab9bb

Browse files
committed
Add notes and Q&A from the review
Signed-off-by: Matej Focko <[email protected]>
1 parent b4fa45c commit 3cab9bb

File tree

1 file changed

+94
-7
lines changed

1 file changed

+94
-7
lines changed

research/integrations/fedora-ci/index.md

+94-7
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,41 @@ the results of the SRPM build, i.e., just run `fedpkg srpm` and be done with it.
3333
This can be done within the sandbox as we do for non-scratch builds. However it
3434
might need some tweaking as Packit has specific worfklow.
3535

36+
:::note Questions from review
37+
38+
> This is a very interesting point -- do we want to be consistent as much as
39+
> possible with Packit's upstream implementation or be close to the real Fedora
40+
> builds.
41+
>
42+
> I agree the suggested approach `fedpkg srpm` makes more sense from the user
43+
> perspective since this results in the production-like result.
44+
45+
With respect to downstream, I would be definitely voting for avoiding adjusting
46+
the SRPM creation. Adjusting the SRPM creation in any way enables the chance of
47+
inconsistencies, i.e., I have green CI, but once I merge it doesn't build. I
48+
don't think many maintainers would like that :D
49+
50+
> How do we want to handle sources? (Do we want to continue with the current
51+
> trend of requiring sources in the lookaside cache?)
52+
53+
I'm not really sure, but if we go deep into the possible improvements then it's
54+
quite possible that most of this initiative will not be achievable :)
55+
56+
:::
57+
3658
### Koji scratch build
3759

3860
We are already submitting scratch builds for merged PRs, if configured. This
3961
would just extend the functionality to the non-merged PRs (with need to provide
4062
the SRPM).
4163

64+
:::note Review
65+
66+
And we have scratch build functionality for upstream PRs available as well if
67+
this is anyhow relevant.
68+
69+
:::
70+
4271
### RPM linting, inspect and installability test
4372

4473
There are premade tmt plans that we can run.
@@ -47,6 +76,18 @@ There are premade tmt plans that we can run.
4776

4877
Should these be run in parallel or sequentially and fail on first?
4978

79+
Follow-up question from review:
80+
81+
> Are some of these somehow dependent?
82+
83+
From the excerpt here (linting, installability, tests), it feels like linting
84+
should not be a hard blocker. I've seen the installability tests fail (even if
85+
tests passed) just because of the network flakes and such, so…
86+
87+
In the sense of saving the resources, it definitely makes sense to make _full_
88+
_test suite_ dependent on the _installability_, but if it's flakey, it's just
89+
annoying.
90+
5091
:::
5192

5293
#### Installability test
@@ -157,6 +198,29 @@ Preferably it would be ideal to have separate deployment for the “dist-git onl
157198
service as handling all Fedora packages would definitely increase traffic and
158199
could cause issues with running as both Fedora CI and original Packit Service.
159200

201+
:::note Question from review
202+
203+
> Would this mean `dist-git CI` and the current Packit? Or, Packit upstream and
204+
> Packit Fedora automation (including Koji, Bodhi and maybe also propose/pull)?
205+
206+
I've been thinking about a way to split this in some reasonable matter :D Based
207+
on the way Packit operates, the most reasonable would be splitting the
208+
upstream/downstream parts, i.e.,
209+
210+
- Packit Service (handles upstream **and** `propose-downstream` (as it is
211+
triggered by upstream))
212+
- “Packit as Fedora CI” (handles downstream **and** `pull-from-upstream`)
213+
214+
**However** I rant somewhere about the config in the dist-git and default config
215+
:D and this complicates things a lot :/ Maybe we could treat PRs in a special
216+
way for the _downstream PRs_ (Koji + TF).
217+
218+
---
219+
220+
feels like whack-a-mole…
221+
222+
:::
223+
160224
#### Default config
161225

162226
Having a separate instance would also open up a door to a potential “default
@@ -279,9 +343,25 @@ workflows, considerable overhead.
279343

280344
### GitLab
281345

282-
ogr has a support for GitLab already, reporting sucks a bit, but it's not
283-
a blocking issue (due to the lack of upstream users, the priority of improving
284-
the UX has been lowered).
346+
ogr has a support for GitLab already, reporting sucks, but it's not a blocking
347+
issue (due to the lack of upstream users, the priority of improving the UX has
348+
been lowered).
349+
350+
:::warning GitLab UX
351+
352+
There are limitations on how Packit can improve the user experience on GitLab.
353+
354+
GitLab is focused on providing the best user experience when using their own
355+
GitLab CI, external services must either just report commit statuses (unlike on
356+
GitHub that allows Check Suites and Check Runs), or integrate into the GitLab
357+
codebase itself.
358+
359+
This hinders the user experience significantly.
360+
361+
> Switching from Pagure to GitLab sounds effectively like getting rid of the
362+
> stability issues while maintaining the poor UX.
363+
364+
:::
285365

286366
#### Upstream vs downstream
287367

@@ -320,14 +400,17 @@ helpful in this case a lot).
320400
- [ ] Consider this in the design.
321401
- [ ] Should not cause any annoyance for _proven packagers_
322402

403+
:::note Review
404+
405+
There's an [RFE](https://github.com/packit/packit-service/issues/1723) for
406+
a workflow that involves auto-landing PRs in the Fedora dist-git.
407+
408+
:::
409+
323410
## Follow-up cards
324411

325412
- [ ] Allow triggering of the Testing Farm with Koji build (instead of the Copr
326413
build)
327-
- [ ] Allow triggering of the Testing Farm **STI** tests with Koji build (or in
328-
general)
329-
- [ ] After PoC and final decision, deploy a separate instance to handle only
330-
Fedora CI queue
331414
- [ ] Try to unify _installability pipeline_ with the tmt plan for install test
332415
that we already have
333416
- [ ] Packit needs to be able to deduce the build target based on the branch
@@ -336,3 +419,7 @@ helpful in this case a lot).
336419
from the config)
337420
- [ ] Allow Packit to have customizable default config (more details above)
338421
- [ ] Allow Packit to run without any config (utilizing the previous point)
422+
- [ ] After PoC and final decision, deploy a separate instance to handle only
423+
Fedora CI queue
424+
- [ ] Allow triggering of the Testing Farm **STI** tests with Koji build (or in
425+
general)

0 commit comments

Comments
 (0)