Create an issue for failed tests from a pytest-reportlog file or update an existing one if it already exists.
How this works:
pytest-reportlog
writes a complete and machine-readable log of failed tests.- The action extracts the failed tests and creates a report while making sure that it fits into the character limits of github issue forms.
- The action looks for existing open issues with the configured title and label a. if one exists: replace the old description with the report b. if there is none: open a new issue and insert the report
To use the issue-from-pytest-log
action in workflows, simply add a new step:
jobs:
my-job:
...
strategy:
fail-fast: false
...
...
- uses: actions/setup-python@v4
with:
python-version: "3.11"
cache: pip
...
- run: <
pip install --upgrade pytest-reportlog
...
- run: <
pytest --report-log pytest-log.jsonl
...
- uses: xarray-contrib/issue-from-pytest-log@main
if: |
failure()
&& ...
with:
log-path: pytest-log.jsonl
See this repository for example issues. For more realistic examples, see
xarray
(workflow, example issue)dask
(workflow, example issue)
required.
Use log-path
to specify where the output of pytest-reportlog
is.
optional. Default: ⚠️ Nightly upstream-dev CI failed ⚠️
In case you don't like the default title for new issues, this setting can be used to set a different one:
- uses: xarray-contrib/issue-from-pytest-log@v1
with:
log-path: pytest-log.jsonl
issue-title: "Nightly CI failed"
The title can also be parametrized, in which case a separate issue will be opened for each variation of the title.
optional. Default: CI
The label to set on the new issue.
- uses: xarray-contrib/issue-from-pytest-log@v1
with:
log-path: pytest-log.jsonl
issue-label: "CI"