From cabb5ce26c6dda4435d4aa8c4c478aa540ce2e08 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Tue, 22 Aug 2017 21:09:19 +0200 Subject: [PATCH] tests: Avoid using koji to download srpm Just download the actual source tarball from the spec file using the fedpkg command and use dit directly. --- tests/tests.yml | 67 +++++++++++++------------------------------------ 1 file changed, 17 insertions(+), 50 deletions(-) diff --git a/tests/tests.yml b/tests/tests.yml index 035e0b2..7332b96 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -8,12 +8,20 @@ tasks: # XXX: move to standard-test-roles, e.g. standard-test-get-source - - name: install koji + - name: install requirements package: name={{item}} state=present # XXX: state=latest with_items: - - koji - - rpm-build - - dnf-plugins-core + - fedpkg + + # The dist doesn't actually matter here + - name: download and extract sources + command: fedpkg --dist=master prep + args: + chdir: "{{playbook_dir}}/.." + + - name: get source directory from environment + shell: "rpm -q --specfile {{playbook_dir}}/../rpm-ostree.spec --qf '{{playbook_dir}}/../%{NAME}-%{VERSION}\n' | head -n1" + register: srcdir - name: provision VM qemu_provision: @@ -25,46 +33,8 @@ vmssh: ssh -F {{qemu.statedir}}/ssh-config vmcheck - block: - - name: get source rpm from environment - command: "{{vmssh}} rpm -q rpm-ostree --qf '%{SOURCERPM}'" - register: srpm - - - name: create temporary source dir - tempfile: state=directory - register: tmpd - - # XXX: this approach is probably going to break apart once we start - # running tests per dist-git PR (since they'll probably not be built in - # koji anymore) - - name: download source rpm - command: koji download-build --rpm {{srpm.stdout}} - args: - chdir: "{{tmpd.path}}" - - - set_fact: - srpmpath: "{{tmpd.path}}/{{srpm.stdout}}" - - - name: install build dependencies - command: dnf builddep -y {{srpmpath}} - - - name: extract source rpm - command: > - rpmbuild --define "_srcrpmdir {{tmpd.path}}" - --define "_buildrootdir {{tmpd.path}}" - --define "_rpmdir {{tmpd.path}}" - --define "_specdir {{tmpd.path}}" - --define "_sourcedir {{tmpd.path}}" - --define "_builddir {{tmpd.path}}" - -rp {{srpmpath}} - - # XXX: this should be made a param to the role and kept in sync with %setup - # -n $DIR. here we just assume the default name in case -n is not used - - name: construct buildsubdir from rpmdb - command: rpm -qp {{srpmpath}} --qf '{{tmpd.path}}/%{NAME}-%{VERSION}' - register: buildsubdir - - name: import ssh-config - command: cp {{qemu.statedir}}/ssh-config {{buildsubdir.stdout}} + command: cp {{qemu.statedir}}/ssh-config {{srcdir.stdout}} # XXX: need to upstream this - name: create and rebase onto vmcheck @@ -85,10 +55,10 @@ VMTESTS: 1 SKIP_VMOVERLAY: 1 TESTS: basic layering-basic - topsrcdir: "{{buildsubdir.stdout}}" - commondir: "{{buildsubdir.stdout}}/tests/common" + topsrcdir: "{{srcdir.stdout}}" + commondir: "{{srcdir.stdout}}/tests/common" args: - chdir: "{{buildsubdir.stdout}}" + chdir: "{{srcdir.stdout}}" always: - name: teardown VM @@ -97,10 +67,7 @@ - name: fetch vmcheck results synchronize: - src: "{{buildsubdir.stdout}}/vmcheck/" + src: "{{srcdir.stdout}}/vmcheck/" dest: "{{artifacts}}/vmcheck" mode: pull delete: yes - - - name: delete temporary dir - file: path="{{tmpd.path}}" state=absent