Skip to content

Commit

Permalink
Make isotovideo workflows more GitHub Native
Browse files Browse the repository at this point in the history
- Improved isotovideo example workflow, it can be easily extended
  with a matrix as per GitHub Actions docs [0].

  It brings:
  - A perl script for checking the test results, to remove `jq`
    usages.
  - Pipeline Artifacts, it's possible to inspect the test
    results after a run.

  And now the example workflow is green and not repeated.

- Skip job openQA if credentials are not configured.

[0]: https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#example-expanding-configurations

Co-authored-by: Martchus <martchus@gmx.net>
Co-authored-by: Tina Müller <cpan2@tinita.de>
Co-authored-by: Oliver Kurz <okurz@suse.de>
  • Loading branch information
4 people committed Feb 9, 2024
1 parent c54933b commit ed4c006
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 46 deletions.
19 changes: 0 additions & 19 deletions .github/workflows/isotovideo-action.yml

This file was deleted.

16 changes: 0 additions & 16 deletions .github/workflows/isotovideo-check-all-test-modules.yml

This file was deleted.

42 changes: 37 additions & 5 deletions .github/workflows/isotovideo.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,43 @@
---
name: isotovideo
# yamllint disable-line rule:truthy
on: [push, pull_request]
on:
- push
- pull_request
jobs:
test:
isotovideo:
strategy:
matrix:
# An example matrix, it'll create a derivate job for each
# item specified here. For simplicity sake the example below
# has the full var line since it's easy enough.
#
# For more complex setups it'll be worth exploring advance matrix setups
# see: https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#example-expanding-configurations
isotovideo-args:
- "--exit-status-from-test-results qemu_no_kvm=1 casedir=."
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run isotovideo against test code in happy-path scenario
run: podman run --rm -it -v .:/tests:Z registry.opensuse.org/devel/openqa/containers/isotovideo:qemu-x86 qemu_no_kvm=1 casedir=/tests
- uses: actions/checkout@v4

- name: Run isotovideo against test code
uses: "docker://registry.opensuse.org/devel/openqa/containers/isotovideo:qemu-x86"
with:
args: ${{ matrix.isotovideo-args }} ${{ env.ACTIONS_STEP_DEBUG && '--debug' || '' }}
entrypoint: 'isotovideo'

- name: Archive test artifcats
if: always()
uses: actions/upload-artifact@v3
with:
name: isotovideo-artifacts
path: |
./testresults/
./video.ogv
./video_time.vtt
./qemu_state.json
./serial_terminal.txt
./virtio_console.log
./virtio_console1.log
./virtio_console_user.log
retention-days: 7
7 changes: 1 addition & 6 deletions .github/workflows/openqa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,12 @@ jobs:
runs-on: ubuntu-latest
container:
image: registry.opensuse.org/devel/openqa/containers/tumbleweed:client
if: ${{ env.OPENQA_API_KEY && env.OPENQA_API_SECRET }}
steps:
- uses: actions/checkout@v4
- name: Trigger and monitor openQA test
id: openqa_schedule
run: |
if [[ "x$OPENQA_API_KEY" == 'x' && "x$OPENQA_API_SECRET" == 'x' ]]; then
echo "Skipping OpenQA Schedule step: No API Keys configured."
echo "Configure OPENQA_API_KEY & OPENQA_API_SECRET secrets"
exit 0
fi
openqa-cli schedule \
--monitor \
--host "${OPENQA_HOST:-https://openqa.opensuse.org}/" \
Expand Down

0 comments on commit ed4c006

Please sign in to comment.