@@ -107,3 +107,72 @@ jobs:
107107 limit-access-to-actor : true
108108 # # If no one connects after 5 minutes, shut down server.
109109 wait-timeout-minutes : 5
110+
111+ iop-tests :
112+ strategy :
113+ fail-fast : false
114+ matrix :
115+ certificate_source :
116+ - default
117+ - installer
118+ runs-on : ubuntu-24.04
119+ steps :
120+ - uses : actions/checkout@v5
121+ - name : Set up Python
122+ uses : actions/setup-python@v6
123+ with :
124+ python-version : ' 3.12'
125+ - name : Setup libvirt for Vagrant
126+ uses : voxpupuli/setup-vagrant@v0
127+ - name : Install Ansible
128+ run : pip install --upgrade ansible-core
129+ - name : Setup environment
130+ run : ./setup-environment
131+ - name : Start VMs
132+ run : |
133+ ./forge vms start
134+ - name : Configure repositories
135+ run : |
136+ ./forge setup-repositories
137+ - name : Create installer certificates
138+ if : contains(matrix.certificate_source, 'installer')
139+ run : |
140+ ./forge installer-certs
141+ - name : Run image pull
142+ run : |
143+ ./foremanctl pull-images
144+ - name : Run deployment
145+ run : |
146+ ./foremanctl deploy --enable-iop true --certificate-source=${{ matrix.certificate_source }} --foreman-initial-admin-password=changeme
147+ - name : Setup hammer
148+ run : |
149+ ./foremanctl setup-hammer
150+ - name : Run tests
151+ run : |
152+ ./forge test --pytest-args="--certificate-source=${{ matrix.certificate_source }}"
153+ - name : Run smoker
154+ run : |
155+ ./forge smoker
156+ - name : Archive smoker report
157+ if : ${{ always() }}
158+ uses : actions/upload-artifact@v5
159+ with :
160+ name : smoker-${{ matrix.certificate_source }}
161+ path : " /home/runner/smoker/report/"
162+ - name : Generate sos reports
163+ if : ${{ always() }}
164+ run : ./forge sos
165+ - name : Archive sos reports
166+ if : ${{ always() }}
167+ uses : actions/upload-artifact@v5
168+ with :
169+ name : sosreport-iop-${{ matrix.certificate_source }}
170+ path : sos/
171+ - name : Setup upterm session
172+ if : ${{ failure() }}
173+ uses : owenthereal/action-upterm@v1
174+ with :
175+ # # limits ssh access and adds the ssh public key for the user which triggered the workflow
176+ limit-access-to-actor : true
177+ # # If no one connects after 5 minutes, shut down server.
178+ wait-timeout-minutes : 5
0 commit comments