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/....
https://github.com/fedora-python/taskotron-python-versions/blob/develop/D...
(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