mirror of
https://github.com/linux-system-roles/network.git
synced 2026-01-23 10:25:28 +00:00
* Pass in a YAML true value as `__bootc_validation: true` using
the --extra-vars option to ensure that `__bootc_validation` is
treated as a boolean and not a string value.
`-e "__bootc_validation: true"`
You can also use JSON format:
`-e '{"__bootc_validation": true}'`
but YAML is simpler in this case.
* Use tox-lsr version 3.11.1
* Ensure the citest bad comment works when the test was cancelled in
addition to the failure case.
* Update contributing.md documentation
* Update number of nodes to use in testing farm, if needed
* remove unnecessary ansible-lint skips
Signed-off-by: Rich Megginson <rmeggins@redhat.com>
44 lines
2.1 KiB
YAML
44 lines
2.1 KiB
YAML
---
|
|
name: Re-run failed testing farm tests
|
|
on:
|
|
issue_comment:
|
|
types:
|
|
- created
|
|
permissions:
|
|
contents: read
|
|
jobs:
|
|
citest_bad_rerun:
|
|
if: |
|
|
github.event.issue.pull_request
|
|
&& contains(fromJson('["[citest_bad]", "[citest-bad]", "[citest bad]"]'), github.event.comment.body)
|
|
&& contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
|
permissions:
|
|
actions: write # for re-running failed jobs: https://docs.github.com/en/rest/actions/workflow-runs?apiVersion=2022-11-28#re-run-a-job-from-a-workflow-run
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Wait 10s until tft.yml workflow is created and skipped because new comment don't match [citest]
|
|
run: sleep 10s
|
|
|
|
- name: Re-run failed jobs for this PR
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
REPO: ${{ github.repository }}
|
|
PR_TITLE: ${{ github.event.issue.title }}
|
|
run: |
|
|
PENDING_RUN=$(gh api "repos/$REPO/actions/workflows/tft.yml/runs?event=issue_comment" \
|
|
| jq -r "[.workflow_runs[] | select( .display_title == \"$PR_TITLE\") | \
|
|
select(.status == \"pending\" or .status == \"queued\" or .status == \"in_progress\") | .id][0]")
|
|
# if pending run don't exist, take the last run with failure state
|
|
if [ "$PENDING_RUN" != "null" ]; then
|
|
echo "The workflow $PENDING_RUN is still running, wait for it to finish to re-run"
|
|
exit 1
|
|
fi
|
|
# TF tests can fail or can be cancelled due to TF internal issues
|
|
RUN_ID=$(gh api "repos/$REPO/actions/workflows/tft.yml/runs?event=issue_comment" \
|
|
| jq -r "[.workflow_runs[] | select( .display_title == \"$PR_TITLE\" ) | select( .conclusion == \"failure\" or .conclusion == \"cancelled\" ) | .id][0]")
|
|
if [ "$RUN_ID" = "null" ]; then
|
|
echo "Failed workflow not found, exiting"
|
|
exit 1
|
|
fi
|
|
echo "Re-running workflow $RUN_ID"
|
|
gh api --method POST repos/$REPO/actions/runs/$RUN_ID/rerun-failed-jobs
|