| |
@@ -12,3 +12,64 @@
|
| |
to {{ playbook_dir }}/source/
|
| |
* flatten: Strip one level of path prefix in source tree. This
|
| |
defaults to True
|
| |
+ * fetch_only: If True the role will only fetch the source and will skip rpmbuild --bp part.
|
| |
+ Set to True if spec file %prep section requires packages that are not available on test runner.
|
| |
+ This defaults to False
|
| |
+
|
| |
+ Example usage:
|
| |
+
|
| |
+ ---
|
| |
+ - hosts: localhost
|
| |
+ tags:
|
| |
+ - classic
|
| |
+ roles:
|
| |
+ - role: standard-test-source
|
| |
+
|
| |
+ - role: standard-test-basic
|
| |
+ required_packages:
|
| |
+ - make
|
| |
+ tests:
|
| |
+ - smoke:
|
| |
+ dir: ./source
|
| |
+ run: make check
|
| |
+
|
| |
+
|
| |
+ Example usage with fetch_only = True:
|
| |
+
|
| |
+ ---
|
| |
+ - hosts: localhost
|
| |
+ tags:
|
| |
+ - classic
|
| |
+ vars:
|
| |
+ # standard-test-basic directory for tests are relative to {{ env_workdir }}
|
| |
+ env_workdir: /var/test
|
| |
+ pre_tasks:
|
| |
+ - import_role:
|
| |
+ name: standard-test-source
|
| |
+ vars:
|
| |
+ fetch_only: True
|
| |
+
|
| |
+ - name: Copy files including source to test environment
|
| |
+ synchronize:
|
| |
+ src: "{{ playbook_dir }}/.."
|
| |
+ dest: "{{ env_workdir }}"
|
| |
+ mode: push
|
| |
+ ssh_args: "-o UserKnownHostsFile=/dev/null"
|
| |
+
|
| |
+ roles:
|
| |
+ - role: standard-test-basic
|
| |
+ required_packages:
|
| |
+ - autoconf
|
| |
+ - automake
|
| |
+ - make
|
| |
+ - rpm-build
|
| |
+ tests:
|
| |
+ - prepare-source:
|
| |
+ dir: ./
|
| |
+ run: rpmbuild -bp {{env_workdir}}/*.spec --nodeps --define "_sourcedir {{env_workdir}}" --define "_builddir {{env_workdir}}/source"
|
| |
+ - flatten-source:
|
| |
+ dir: ./
|
| |
+ run: shopt -s dotglob; mv {{env_workdir}}/source/*/* {{env_workdir}}/source
|
| |
+ - smoke:
|
| |
+ dir: ./source
|
| |
+ run: make check
|
| |
related to https://pagure.io/standard-test-roles/issue/313