buildah/tests/test_buildah.yml

69 lines
1.7 KiB
YAML

---
- hosts: localhost
vars:
- artifacts: ./artifacts
# FIXME! It would be cleaner to include 'buildah' in this list; but the
# dnf module is broken in ansible <= 2.8, it doesn't report failures
# to install as long as _one_ package installs! So if buildah installs
# but buildah-tests doesn't, the `dnf` stanza succeeds, then the test
# one fails with a less-than-helpful error.
#
# See https://github.com/ansible/ansible/pull/49760
- required_packages:
- buildah-tests
tags:
- classic
- name: install packages
dnf: name="{{ required_packages }}" state=installed
# Sigh; RHEL8 doesn't have BATS
- name: bats | fetch and unpack tarball
unarchive:
src: https://github.com/bats-core/bats-core/archive/v1.1.0.tar.gz
dest: /root
remote_src: true
- name: bats | install
command: ./install.sh /usr/local
args:
chdir: /root/bats-core-1.1.0
## - name: local registry | setup
- name: create nonroot user
user:
name: testuser
shell: /bin/bash
- block:
- name: root | run test
script: ./test_buildah.sh
always:
- name: root | pull out logs
fetch:
src: "/tmp/{{ item }}"
dest: "{{ artifacts }}/{{ item }}"
flat: yes
with_items:
- test.root.log
- test.root.debug.log
- block:
- name: nonroot | run test
script: ./test_buildah.sh
args:
chdir: /home/testuser
become: yes
become_user: testuser
always:
- name: nonroot | pull out logs
fetch:
src: "/tmp/{{ item }}"
dest: "{{ artifacts }}/{{ item }}"
flat: yes
with_items:
- test.testuser.log
- test.testuser.debug.log
when: false