On 07. 01. 20 14:32, Martin Kolman wrote:
On Tue, 2020-01-07 at 13:50 +0100, Miro Hrončok wrote:
For me, an ultimate success would be if upstream projects would actually use
Fedora-family distros in their CI testing. And I don't mean that they would use
Copr or packit to package RPM packages, or that they deploy their own Jenkins on
CentOS, I mean that they would use something as easy as Travis CI, but instead
of ancient Ubuntu, they could choose from a variety of Fedora systems.
For example: Today, an upstream maintainer expressed dissatisfaction about
Python 3.9 missing on Travis CI:
https://github.com/benjaminp/six/issues/317#issuecomment-571408737
In this case it seems it's mainly lack of resources on the Travis side - they have been lagging
with updates even for their single Ubuntu based environment for years.
Yes, bacause they create their own tarballs instead of leveraging the distro -
because the distro of they choice has no benefits for this. Fedora could have.
It would be so cool to be able to say: Put "distro: fedora" to your CI config to
get Python 3.9, because in Fedora, we already have that for a month+.
This is actually possibly if a bit hacky, as you can launch containers in the Travis environment.
So you can checkout a Fedora container and then run the tests inside it:
https://github.com/weldr/lorax/blob/master/.travis.yml#L10
https://github.com/weldr/lorax/blob/master/Makefile#L130
Unfortunately you loose many of the Travis provided simple configuration options,
but at least yo don't have to suffer the quirks of the default outdated Ubuntu.
Sure, we do that as well:
https://github.com/fedora-python/taskotron-python-versions/blob/develop/.travis.yml
https://github.com/fedora-python/taskotron-python-versions/blob/develop/Dockerfile
(In that particular example we are running mock (the rpm one, not Python mocking
library) in pytest in tox in Docker with Fedora on Travis with Ubuntu which
itself probably runs in some kind of container.)
However it is far from easy and far from fast.
As much as you might never expected me to say this: It would be even better with
modularity, in case we actually offer alternate versions for most of our
developer facing things. Instead of compiling my own stuff or downloading
precomiled suspicious tarballs on Ubuntu/Travis, I could use Fedora and in the
CI config, lists the streams of my database, webservers etc. and use it to
expand my testing matrix.
Having a strong presence on upstream CIs would help us get visibility. Later,
people might choose Fedora as their base container platform to match their CI
environment or even consider it for their workstations.
Unfortunately I don't see this happening without RH partnering up with a major
CI provider or without significant investment in providing our own public CI
(sans RPM) - however we are now discontinuing services, not adding new.
Indeed, an easy upstream usable Fedora/CentOS based upstream CI environment is sorely needed.
BTW, with CentOS streams, it should now be possibly to even test in environment
reasonably similar to the next upcoming release or RHEL, which was something that was missing before.
Yes!
We just need an environment that can be used easily - just as Travis, but Fedora/CentOS based and up to date.
For example for CPython upstream, we manage our own test servers with RHEL and
Fedora for this. Instead, ti would be nice if the upstream could just pick some.
--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
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