@@ -231,3 +231,72 @@ jobs:
231231 uses : re-actors/alls-green@release/v1
232232 with :
233233 jobs : ${{ toJSON(needs) }}
234+
235+ iop-tests :
236+ strategy :
237+ fail-fast : false
238+ matrix :
239+ certificate_source :
240+ - default
241+ - installer
242+ runs-on : ubuntu-24.04
243+ steps :
244+ - uses : actions/checkout@v5
245+ - name : Set up Python
246+ uses : actions/setup-python@v6
247+ with :
248+ python-version : ' 3.12'
249+ - name : Setup libvirt for Vagrant
250+ uses : voxpupuli/setup-vagrant@v0
251+ - name : Install Ansible
252+ run : pip install --upgrade ansible-core
253+ - name : Setup environment
254+ run : ./setup-environment
255+ - name : Start VMs
256+ run : |
257+ ./forge vms start
258+ - name : Configure repositories
259+ run : |
260+ ./forge setup-repositories
261+ - name : Create installer certificates
262+ if : contains(matrix.certificate_source, 'installer')
263+ run : |
264+ ./forge installer-certs
265+ - name : Run image pull
266+ run : |
267+ ./foremanctl pull-images
268+ - name : Run deployment
269+ run : |
270+ ./foremanctl deploy --enable-iop true --certificate-source=${{ matrix.certificate_source }} --foreman-initial-admin-password=changeme
271+ - name : Setup hammer
272+ run : |
273+ ./foremanctl setup-hammer
274+ - name : Run tests
275+ run : |
276+ ./forge test --pytest-args="--certificate-source=${{ matrix.certificate_source }}"
277+ - name : Run smoker
278+ run : |
279+ ./forge smoker
280+ - name : Archive smoker report
281+ if : ${{ always() }}
282+ uses : actions/upload-artifact@v5
283+ with :
284+ name : smoker-iop-${{ matrix.certificate_source }}
285+ path : " /home/runner/smoker/report/"
286+ - name : Generate sos reports
287+ if : ${{ always() }}
288+ run : ./forge sos
289+ - name : Archive sos reports
290+ if : ${{ always() }}
291+ uses : actions/upload-artifact@v5
292+ with :
293+ name : sosreport-iop-${{ matrix.certificate_source }}
294+ path : sos/
295+ - name : Setup upterm session
296+ if : ${{ failure() }}
297+ uses : owenthereal/action-upterm@v1
298+ with :
299+ # # limits ssh access and adds the ssh public key for the user which triggered the workflow
300+ limit-access-to-actor : true
301+ # # If no one connects after 5 minutes, shut down server.
302+ wait-timeout-minutes : 5
0 commit comments