From 0fda7d44141112ae3ed57461a81650c3a3920b6f Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Feb 02 2018 17:28:28 +0000 Subject: Rework rdgo to use Fedora containers This will close https://pagure.io/fedora-atomic-host-continuous/issue/16 --- diff --git a/centos-ci/containers/fah-buildtools/Dockerfile b/centos-ci/containers/fah-buildtools/Dockerfile index e19acec..37eea1b 100644 --- a/centos-ci/containers/fah-buildtools/Dockerfile +++ b/centos-ci/containers/fah-buildtools/Dockerfile @@ -1,9 +1,10 @@ FROM registry.fedoraproject.org/fedora:27 # Pull rpm-ostree from a COPR dev for unified core fixes +ADD walters-buildtools.repo /etc/yum.repos.d RUN cd /etc/yum.repos.d && curl -L -O https://copr.fedorainfracloud.org/coprs/walters/rpm-ostree-dev/repo/fedora-27/walters-rpm-ostree-dev-fedora-27.repo # These bits aren't in updates-testing yet RUN yum -y update && \ yum -y --enablerepo=updates-testing install \ - ostree rpm-ostree rpm-build selinux-policy-targeted createrepo_c lorax && \ + ostree rpm-ostree rpm-build selinux-policy-targeted createrepo_c lorax mock fedpkg rpmdistro-gitoverlay && \ yum clean all COPY lorax-wrap /usr/bin/lorax-wrap diff --git a/centos-ci/containers/fah-buildtools/walters-buildtools.repo b/centos-ci/containers/fah-buildtools/walters-buildtools.repo new file mode 100644 index 0000000..04b71e0 --- /dev/null +++ b/centos-ci/containers/fah-buildtools/walters-buildtools.repo @@ -0,0 +1,10 @@ +[walters-buildtools-fedora] +name=Copr repo for buildtools-fedora owned by walters +baseurl=https://copr-be.cloud.fedoraproject.org/results/walters/buildtools-fedora/fedora-$releasever-$basearch/ +type=rpm-md +skip_if_unavailable=True +gpgcheck=1 +gpgkey=https://copr-be.cloud.fedoraproject.org/results/walters/buildtools-fedora/pubkey.gpg +repo_gpgcheck=0 +enabled=1 +enabled_metadata=1 diff --git a/centos-ci/libtask.sh b/centos-ci/libtask.sh index 8c63124..dc542f7 100644 --- a/centos-ci/libtask.sh +++ b/centos-ci/libtask.sh @@ -14,7 +14,7 @@ prepare_job() { mkdir -p ${CACHEDIR} export BUILD_LOGS=$HOME/build-logs - rm ${BUILD_LOGS} -rf + sudo rm ${BUILD_LOGS} -rf mkdir ${BUILD_LOGS} . ~/rsync-password.sh diff --git a/centos-ci/run-rdgo b/centos-ci/run-rdgo index 45f4b60..ed9640b 100755 --- a/centos-ci/run-rdgo +++ b/centos-ci/run-rdgo @@ -4,13 +4,19 @@ set -xeuo pipefail basedir=$(cd $(dirname $0) && pwd) . ${basedir}/libtask.sh +~/fedora-atomic-host-continuous/centos-ci/containers/fah-buildtools/ensure-built.sh + +run_fahc_tools() { + sudo docker run --rm --privileged -v ${buildscriptsdir}:/srv/src -v ${WORKSPACE}:/srv/tmp -v $(cd ~ && pwd):/srv/home -v $(pwd):/srv/compose -w /srv/compose fahc/tools "$@" +} + cd rdgo -ln -sf ${buildscriptsdir}/overlay.yml . +ln -sf /srv/src/overlay.yml . if ! test -d src; then - rpmdistro-gitoverlay init + run_fahc_tools rpmdistro-gitoverlay init fi # Git fetch all the things -rpmdistro-gitoverlay resolve --fetch-all +run_fahc_tools rpmdistro-gitoverlay resolve --fetch-all # Do a build -rpmdistro-gitoverlay build --touch-if-changed ${BUILD_LOGS}/changed.stamp --logdir=${BUILD_LOGS} +run_fahc_tools rpmdistro-gitoverlay build --touch-if-changed /srv/tmp/changed.stamp --logdir=/srv/home/build-logs diff --git a/centos-ci/setup/roles/rdgo-system/tasks/main.yml b/centos-ci/setup/roles/rdgo-system/tasks/main.yml index 92954d4..c854090 100644 --- a/centos-ci/setup/roles/rdgo-system/tasks/main.yml +++ b/centos-ci/setup/roles/rdgo-system/tasks/main.yml @@ -2,17 +2,6 @@ - include: epel7.yml - copy: - dest: /etc/yum.repos.d/walters-buildtools.repo - content: | - [walters-buildtools] - name=Copr repo for buildtools owned by walters - baseurl=https://copr-be.cloud.fedoraproject.org/results/walters/buildtools/epel-7-$basearch/ - gpgcheck=1 - gpgkey=https://copr-be.cloud.fedoraproject.org/results/walters/buildtools/pubkey.gpg - enabled=1 - enabled_metadata=1 - -- copy: dest: /etc/yum.repos.d/atomic7-testing.repo content: | [atomic7-testing] @@ -32,12 +21,10 @@ - yum: name={{ item }} state=latest disablerepo=atomic7-testing with_items: - rsync - - mock - libsolv - glib2 - fedpkg - PyYAML - - rpmdistro-gitoverlay - genisoimage - ansible - docker