Mercurial > vim
changeset 35183:9a1ac66c788d
CI: Upload failed screendump tests when run in github actions
Commit: https://github.com/vim/vim/commit/8314de8fd4aa4d18fc524f960f5d683a2d8cba32
Author: Christian Brabandt <cb@256bit.org>
Date: Wed May 15 21:48:11 2024 +0200
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>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 15 May 2024 22:00:04 +0200 |
parents | 205878036d87 |
children | 0a80fe1a9125 |
files | .github/actions/screendump/action.yml .github/workflows/ci.yml Filelist |
diffstat | 3 files changed, 36 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/.github/actions/screendump/action.yml @@ -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
--- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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}