Commit graph

17 commits

Author SHA1 Message Date
Major Hayden
a93143ea0c mockbuild: Fix path to latest repo
Using `cp` to copy the repo content caused the last part of the path to
be duplicated:

  Current: `master/latest/rhel82_x86_64/rhel82_x86_64/repodata/repomd.xml`
  Desired: `master/latest/rhel82_x86_64/repodata/repomd.xml`

Remove the VERSION_ID/ARCH from the destination to remove the duplicated
path.

Signed-off-by: Major Hayden <major@redhat.com>
2020-08-06 00:15:38 +02:00
Major Hayden
8da3d58213 mockbuild: Remove rsync
Although rsync works just fine, it would reduce our package list if we
just used `cp` to create the latest repo.

Signed-off-by: Major Hayden <major@redhat.com>
2020-07-30 18:15:38 +02:00
Major Hayden
17075cffa0 📦 mockbuild: Create 'latest' repo for branch
Allow anyone to set up a dnf repository to point to the latest
build for the branch by using a repo file pointing to that build.

This would allow anyone to get the latest set of RPMs for a particular
pull request or branch (especially the master branch.

Signed-off-by: Major Hayden <major@redhat.com>
2020-07-30 13:31:01 +02:00
Major Hayden
484bb9a182 🐣 Use RHEL 8.3 beta content from CDN
Remove the nightly repos from the RHEL 8.3 jobs and replace them with
CDN registration for beta content.

Signed-off-by: Major Hayden <major@redhat.com>
2020-07-29 13:25:29 -05:00
Major Hayden
43895f83ca Copy the mock template during mockbuild
Copying the file allows the mock build stage to be run again.

Signed-off-by: Major Hayden <major@redhat.com>
2020-07-13 11:19:07 -05:00
Major Hayden
db5fb9908a Do RHN registration in deploy + mockbuild
Check to see if the instance is registered prior to attempting
registration. Also, ensure that registration happens during mock build
and during the deployment.

Signed-off-by: Major Hayden <major@redhat.com>
2020-07-13 11:19:07 -05:00
Major Hayden
1492470d56 🤹🏻‍♂️ Prepare for multi-arch support
As we embark on a CI journey to other architectures, we need to be
explicit about choosing the right architecture for each CI node.

This is a portion of the work required for #834.

Signed-off-by: Major Hayden <major@redhat.com>
2020-07-09 09:37:23 -05:00
Major Hayden
dac085d035 🛃 Ensure the correct packages are installed
Some dnf bugs existed in early releases of Fedora 31 + 32 around
repository priorities being ignored (like BZ 1733582. Ensure that we are
running the latest version of dnf before we try to install from the mock
build repo (which has a much higher priority than Fedora's default
repos).

Also, check to see if EPEL is installed already before installing it
again.

Fixes #824. 🥰

Signed-off-by: Major Hayden <major@redhat.com>
2020-07-09 08:53:23 -05:00
Major Hayden
e8cae4ffc4 Run mock builds on AWS + PSI
Increase reliability and performance by running the mock builds at AWS
when PSI is having trouble.

Signed-off-by: Major Hayden <major@redhat.com>
2020-07-08 09:44:26 +02:00
Major Hayden
0579bc6385 Optimize mock build repos for Fedora
Now that we are using minimal images, we need to bring over the
optimized dnf repositories for Fedora.

Signed-off-by: Major Hayden <major@redhat.com>
2020-07-07 10:48:45 +02:00
Major Hayden
0c6848f946 Use minimal images for RHEL mockbuild
Now that we have minimal images built by osbuild-compsoer for CI, let's
use those for RHEL mock builds.

This PR depends on osbuild/osbuild-composer#808 to merge first.

Signed-off-by: Major Hayden <major@redhat.com>
2020-07-06 19:45:10 +02:00
Major Hayden
edb30c5d21 🚤 Enable fastestmirror for all distros
RHEL can benefit from `fastestmirror` when it downloads metadata and
packages from the EPEL repository.

Fixes #817.

Signed-off-by: Major Hayden <major@redhat.com>
2020-07-06 19:45:10 +02:00
Major Hayden
9011a67dd0 Switch Fedora mock builds to minimal images
Use minimal images when building RPMs via mock on Fedora (PR for RHEL
will come later).

Signed-off-by: Major Hayden <major@redhat.com>
2020-06-30 18:28:20 +02:00
Major Hayden
c8666061f0 Use S3 for CI repositories
Upload artifacts from the mock builds into S3 to allow us to burst into
AWS when needed.

Signed-off-by: Major Hayden <major@redhat.com>
2020-06-05 09:37:47 -05:00
Major Hayden
4842d144aa CI: Store RPMs by SHA
Store RPMs in object storage based on their SHA rather than the Jenkins
build ID. This allows tests to be re-run without repeating the mock
build step.

Signed-off-by: Major Hayden <major@redhat.com>
2020-05-29 22:30:22 +02:00
Major Hayden
18fe05f686 CI: Use RHEL 8 CDN subscribed instance
Replace RHEL 8.2 nightly images with a RHEL 8 CDN subscribed instance so
we can test with the exact content a customer would have.

Signed-off-by: Major Hayden <major@redhat.com>
2020-05-28 00:22:25 +02:00
Major Hayden
d92a742f28 Build in a mock chroot first
Build the RPMs in a mock using a simple script so that ansible-osbuild
can focus fully on deployment rather than compiling RPMs.

Signed-off-by: Major Hayden <major@redhat.com>
2020-05-20 23:11:16 +02:00