Commit graph

25 commits

Author SHA1 Message Date
Sanne Raymaekers
f2e38706f0 schutzbot/deploy: bump the osbuild and composer commits 2024-10-28 10:59:05 +01:00
Ondřej Budai
32d9826e1e ci: add Fedora 37
This commit needs to do three things:
- update the terraform definition
- add fedora-37 to the gitlab-ci file
- bump osbuild and osbuild-composer versions, so we have F37 RPMs for them

I also removed the commented out aarch64 runners to clean the file a bit.
2023-01-05 09:52:26 +01:00
Tomas Hozza
0a026a6573 deploy.sh: drop Fedora 34 specific workaround 2022-08-22 09:58:06 +02:00
Tomas Hozza
85d7120d9f CI: Use Fedora 36, RHEL-8.6 and the latest osbuild and composer
Use latest osbuild and osbuild-composer releases. This is important to
be later able to test direct uploading to the cloud for Koji composes.
Also the mock openid server had to be enhanced to be usable for testing
`koji-osbuild`.

Modify used osbuild-worker configuration to use JWT for authentication
with composer. Update configurations of both, composer and worker to
handle multi-tenancy.

Do not start any services in `schutzbot/deploy.sh`, because at that
point, none of the configuration files are in place.

Ensure that the correct units are started and masked by
`test/integration.sh` to simulate the Service scenario more closely.
This means that the local worker is masked and only remote worker is
started.

Co-authored-by: Jakub Rusz <jrusz@redhat.com>
2022-08-22 09:58:06 +02:00
Christian Kellner
f559c18079 plugins: support for repo package sets
This adds support for specifing the package sets for repositories;
on the command line this can be done via `--repo-package-set` with
and argument of `;` separated package set names. This will result
in repo information being transported via dict instead of plain
strings. Thus the hub plugin's schema was modified accordingly.
Last but not least, the builder plugin now can decode these dicts
and setup the repos accordingly.
Test were added for plugins as well as the integration test changed
to use this new feature.
The first upstream commit that supports this feature is pinned.
2022-02-15 17:35:29 +01:00
Christian Kellner
ce21817676 schutzbot: pin composer (need integrated API)
Update composer to a commit that includes the new integrated
cloud API as well as exposing all the image types via it.
2022-02-11 16:36:07 +01:00
Christian Kellner
c1a887a9a9 test: switch to using oauth/sso
Switch the authentication method that the koji builder plugin
uses from mTLS to SSO. Since we are using the mock openid
server from the `osbuild-composer-tests` package. Make this
package a dependency of `koji-osbuild-tests`.
2022-02-02 13:33:21 +01:00
Christian Kellner
4f0dcb8a7b schutzbot: don't start weldr API
We don't use that api, so let's disable it, otherwise it might
want to load repo configurations and fail; but we don't need
them anayway.
2022-01-31 18:44:28 +00:00
Christian Kellner
cd1928d8f3 schutzbot: update osbuild to 46
osbuild 30 is quite old, use a new one.
2022-01-28 18:02:43 +00:00
Alexander Todorov
4a751c1386 Handle RHEL subscriptions like in osbuid-composer repo 2021-10-05 12:18:46 +02:00
Alexander Todorov
f569c38ea9 Add support for GitLab CI
and remove Jenkins related files
2021-07-29 11:19:33 +02:00
Ondřej Budai
3f54467fd4 deploy: add a workaround for a dnf bug on F34 2021-07-23 15:24:05 +02:00
Ondřej Budai
0ea82ee08c ci: upload rpms built in RHEL 8 CDN buildroot into rhel-8-cdn directory
Let's explain how RPMs for RHEL are built:

We use a subscribed RHEL 8.x machine and mock build these on it. Mock
initializes its own buildroot based on the latest RHEL 8 CDN content, see[1].
This means that the minor version of the buildroot is independent of the minor
version of the host.

However, we currently upload RPMs to a directory whose name consists also of
the minor version of the host. Our hosts are currently running RHEL 8.3 so
the RPMs are uploaded into rhel-8.3 directory despite them being built in the
RHEL 8.4 buildroot (RHEL 8 CDN buildroot specifically). This means that
we cannot guarantee that they are installable on RHEL 8.3 which is weird.

This commit adds a special case for hosts that run on subscribed RHEL and
thus build RPMs in a buildroot constructed from RHEL CDN. These RPMs are
now uploaded into rhel-8-cdn directory. This change more accurately reflects
the way we build our RPMs and removes some confusion.

Also, we need to bump osbuild commit so we have a version that already has
the rhel-8-cdn change in it.

This also bumps all deps so we have rhel-8-cdn repos everywhere.

[1]: https://github.com/rpm-software-management/mock/blob/main/mock-core-configs/etc/mock/templates/rhel-8.tpl#L37
2021-07-23 15:24:05 +02:00
Ondřej Budai
df5803face test/deploy: bump both osbuild and osbuild-composer 2021-02-25 14:46:34 +01:00
Ondřej Budai
a425e5fa4d test/deploy: equalize the priority of the osbuild-composer repo
We know longer ship osbuild in the osbuild-composer repository, therefore this
is no longer needed.
2021-02-25 14:46:34 +01:00
Ondřej Budai
a28e4ab9af schutzbot: remove dnf upgrade
Fedora 31 is EOL. We don't need this anymore.
2020-12-16 15:32:28 +01:00
Ondřej Budai
8c0161a62a schutzbot: remove systemd-journald restart
There's no bug referenced so I have no idea what's wrong. We did the same
change in composer and nothing broke so let's do the same thing here.
2020-12-16 15:32:28 +01:00
Ondřej Budai
9e3e02e693 schutzbot: remove dnf hacks
We want to use `dnf` in the same way as our users do. This means we want the
modular repositories and weak deps enabled. Fastestmirror is fine, it doesn't
change the content set nor depsolving.

Also, this is a workaround for rhbz#1908352, tl;dr: installing podman without
weak deps makes it unusable on Fedora 32.
2020-12-16 15:32:28 +01:00
Ondřej Budai
3e77ed579b schutzbot: fix the name of koji-osbuild repository
It's confusing in the logs.
2020-12-02 19:04:30 +01:00
Lars Karlitski
2ac9a5b73c schutzbot: don't copy dnf repo file between stages
Repository URLs are predictable. There's no need to use Jenkins' stash
feature to pass the repo file between stages.

Instead, simply create the repo file where it is needed, in deploy.sh.
2020-11-20 19:37:45 +01:00
Ondřej Budai
d9742a669c schutzbot: bump the osbuild-composer version to 25 2020-11-19 22:18:04 +01:00
Lars Karlitski
16f762c2ed test: move to koji-osbuild-tests package
This is similar to how other osbuild packages are testing: everything
that's needed for testing is included in the tests package or a
dependency of it. The test runner then runs every executable in
/usr/libexec/tests/<packagename>. This gives a simple test API to
projects depending on this package (notably osbuild-composer).

The local development workflow described in HACKING.md is meant to
continue to work. To ensure this, all relevant scripts gained a
TEST_DATA variable, which defaults to `./test`, but is set from $1 to
the installed path from integration.sh.
2020-11-19 09:28:28 +01:00
Christian Kellner
00cffce22f schutzbot: use predictable dnf repo
Now that osbuild and osbuild-composer use predictable destinations
for their dnf repositories, those can be used and auto-generated
from the environment and a specific git commit (identified by
the hash).
This will make updating easier, because the only thing we need to
change is the commit hash.
For osbuild-composer the latest release is used, for osbuild the
predictable repos were introduced after the latest release, so
the commit that introduced the feature is used.
2020-11-16 19:43:26 +01:00
Christian Kellner
2c37256f65 ci: use api socket, not koji socket
Instead of installing and enabling the koji socket, use the new
api socket. The koji socket is not properly wired up anymore
and any attempt to actually use it with hang.
2020-11-10 12:31:08 +01:00
Tom Gundersen
a416570ea2 schutzbot: add CI integration
The CI is in two stages, for each supported distro.

First the RPMs are generated from the spec file in the repo for the
given distro and architecture.

Once all the RPM builds have succeeded successfully, a test machine is
provisioned with osbulid-composer installed, and koji API enabled.

The repository containing the RPMs of the code being tested is also
enabled on the test machine, and the cli client is installed.

Finally, the test/integration.sh script is executed, which currently
does nothing.

Signed-off-by: Tom Gundersen <teg@jklm.no>
2020-09-10 00:05:44 +02:00