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.
This commit is contained in:
parent
b78097c2c8
commit
cabb5ce26c
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user