Skip to content

Commit ecd06d7

Browse files
committed
Use vagrant/libvirt to test flatpaks requiring escalated privileges; install vagrant dependencies on CI
1 parent 2c18ac5 commit ecd06d7

File tree

4 files changed

+38
-10
lines changed

4 files changed

+38
-10
lines changed

.github/workflows/molecule-test.yaml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,26 @@ jobs:
66
runs-on: ubuntu-latest
77

88
steps:
9-
- uses: actions/checkout@v3
9+
- name: Check out code
10+
uses: actions/checkout@v3
1011

1112
- name: Set up Python 3
1213
uses: actions/setup-python@v4
1314
with:
1415
python-version: 3.x
1516

17+
- name: Install vagrant and libvirt packages
18+
run:
19+
sudo apt-get install --no-install-recommends
20+
libvirt-daemon-system
21+
vagrant-libvirt
22+
qemu-kvm
23+
libguestfs-tools
24+
25+
# HACK molecule does not emit colored output with sudo
26+
- name: Allow any user to run libvirt
27+
run: sudo chmod o+rw /var/run/libvirt/libvirt-sock
28+
1629
- name: Install test runner
1730
run: python3 -m pip install tox
1831

requirements.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
molecule[docker]==4.0.4
22

3+
molecule-plugins[vagrant]==v23.0.0
4+
python-vagrant==1.0.0
5+
36
# ansible-compat 3.0 requires ansible 2.11
47
ansible-compat<3.0
58

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
- name: Converge
3+
hosts: all
4+
pre_tasks:
5+
- name: Update apt cache
6+
ansible.builtin.apt:
7+
update_cache: yes
8+
cache_valid_time: 3600
9+
become: yes
10+
roles:
11+
# dynamically set role name from role directory name
12+
- role: "{{ lookup('env','MOLECULE_PROJECT_DIRECTORY').split('/')[-1] }}"
13+
become: yes
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
# molecule config stub
22
# extends --base-config molecule/default/molecule.yml
33
---
4+
driver:
5+
name: vagrant
6+
provider:
7+
# zoom flatpak requires ability to create namespace
8+
name: libvirt
9+
provision: true
410
platforms:
5-
- name: instance
11+
- name: bullseye
612
# pin to current debian stable
7-
image: python:3-bullseye
8-
pre_build_image: true
9-
# zoom flatpak requires ability to create namespace
10-
privileged: true
11-
provisioner:
12-
name: ansible
13-
playbooks:
14-
converge: ../../../../molecule/default/converge.yml
13+
box: debian/bullseye64

0 commit comments

Comments
 (0)