diff --git a/.github/workflows/isotovideo-action.yml b/.github/workflows/isotovideo-action.yml deleted file mode 100644 index 078798b..0000000 --- a/.github/workflows/isotovideo-action.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: isotovideo - github action example -# yamllint disable-line rule:truthy -on: [push, pull_request] -jobs: - test: - runs-on: ubuntu-20.04 - container: - image: "registry.opensuse.org/devel/openqa/containers/isotovideo:qemu-x86-jq" - steps: - - uses: actions/checkout@v2 - - name: install jq - run: zypper -n in jq - - - name: Run isotovideo against test code - run: isotovideo qemu_no_kvm=1 casedir=. - - - name: fail if any test module failed - run: jq .result testresults/result-*.json | grep -v ok && echo "Test modules failed" && exit 1 diff --git a/.github/workflows/isotovideo-check-all-test-modules.yml b/.github/workflows/isotovideo-check-all-test-modules.yml deleted file mode 100644 index ee4ab09..0000000 --- a/.github/workflows/isotovideo-check-all-test-modules.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -name: isotovideo - check all test modules -# yamllint disable-line rule:truthy -on: [push, pull_request] -jobs: - test: - # "ubuntu-latest" at time of writing 2020-12-14 is Ubuntu 18.04 showing a - # network problem "level=error msg="could not find slirp4netns, the - # network namespace won't be configured: exec: \"slirp4netns\": executable - # file not found in $PATH"" - # which can be fixed with a more recent version of Ubuntu explicitly - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - - name: Run isotovideo against test code, fail if any test module failed - run: podman run --rm -it -v .:/tests:Z --entrypoint '' registry.opensuse.org/devel/openqa/containers/isotovideo:qemu-x86-jq /bin/sh -c 'isotovideo qemu_no_kvm=1 casedir=/tests && jq .result testresults/result-*.json | grep -v ok && echo "Test modules failed" && exit 1' diff --git a/.github/workflows/isotovideo.yml b/.github/workflows/isotovideo.yml index a08209b..d7280a3 100644 --- a/.github/workflows/isotovideo.yml +++ b/.github/workflows/isotovideo.yml @@ -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 diff --git a/.github/workflows/openqa.yml b/.github/workflows/openqa.yml index 07f0d1f..4833c78 100644 --- a/.github/workflows/openqa.yml +++ b/.github/workflows/openqa.yml @@ -19,10 +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@v3 + - uses: actions/checkout@v4 - name: Trigger and monitor openQA test - run: > + id: openqa_schedule + run: | openqa-cli schedule \ --monitor \ --host "${OPENQA_HOST:-https://openqa.opensuse.org}/" \