CI: Upload failed screendump tests when run in github actions

It's a bit of a pain to debug failing screendump tests without knowing
exactly what went wrong. Therefore include actions/upload-artifact for
the Github CI runners and have them uploaded those failing screen dump
tests automatically.

Let's add this step to each of the Linux/MacOS/Windows workflows but do
not duplicate the code, factor it out to a single file
.github/actions/screendump/action.yml and reference this one from the
main ci.yml file

Example:
https://github.com/chrisbra/vim/actions/runs/9085493619

closes: #14771

Co-authored-by: dundargoc <gocdundar@gmail.com>
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Christian Brabandt
2024-05-15 21:48:11 +02:00
parent eff20eb35d
commit 8314de8fd4
3 changed files with 36 additions and 0 deletions

26
.github/actions/screendump/action.yml vendored Normal file
View File

@ -0,0 +1,26 @@
name: 'screendump'
description: "Upload failed syntax tests"
runs:
using: "composite"
steps:
- name: Upload failed syntax tests
uses: actions/upload-artifact@v4
with:
# Name of the artifact to upload.
name: ${{ github.workflow }}-${{ github.job }}-${{ join(matrix.*, '-') }}-failed-syntax-tests
# A file, directory or wildcard pattern that describes what
# to upload.
path: |
${{ github.workspace }}/runtime/syntax/testdir/failed/*
${{ github.workspace }}/src/testdir/failed/*
# The desired behavior if no files are found using the
# provided path.
if-no-files-found: ignore
# Duration after which artifact will expire in days. 0 means
# using repository settings.
retention-days: 0
# If true, an artifact with a matching name will be deleted
overwrite: true

View File

@ -270,6 +270,9 @@ jobs:
do_test() { sg audio "sg $(id -gn) '$*'"; }
do_test make ${SHADOWOPT} ${TEST}
- if: ${{ !cancelled() }}
uses: ./.github/actions/screendump
- name: Vim tags
if: contains(matrix.extra, 'vimtags')
run: |
@ -396,6 +399,9 @@ jobs:
run: |
make ${TEST}
- if: ${{ !cancelled() }}
uses: ./.github/actions/screendump
windows:
runs-on: windows-2022
@ -691,6 +697,9 @@ jobs:
nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\vim || exit 1
)
- if: ${{ !cancelled() }}
uses: ./.github/actions/screendump
- name: Generate gcov files
if: matrix.coverage
shell: msys2 {0}

View File

@ -10,6 +10,7 @@ SRC_ALL = \
.github/ISSUE_TEMPLATE/feature_request.md \
.github/workflows/ci.yml \
.github/workflows/codeql-analysis.yml \
.github/actions/screendump/action.yml \
.github/workflows/coverity.yml \
.github/dependabot.yml \
.gitignore \