Skip to content

Commit

Permalink
ci.yml: upload *.failed test failure artifacts
Browse files Browse the repository at this point in the history
Also upgrade to v4 of the upload-artifact and checkout actions.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
  • Loading branch information
tytso committed Apr 18, 2024
1 parent 5b599a3 commit 5182bd6
Showing 1 changed file with 42 additions and 12 deletions.
54 changes: 42 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,22 @@ jobs:
name: Build and test with gcc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: ./configure CC=gcc CFLAGS="$DEF_CFLAGS"
- run: make -j8 check V=1 CFLAGS_WARN="-Werror"
- run: make -j8 install V=1 DESTDIR=$PWD/installdir
- run: make -j8 uninstall V=1 DESTDIR=$PWD/installdir
- if: failure()
uses: actions/upload-artifact@v4
with:
name: gcc-test-fail-logs
path: tests/*.failed

clang-build-and-test:
name: Build and test with clang
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
Expand All @@ -27,16 +32,21 @@ jobs:
- run: make -j8 check V=1 CFLAGS_WARN="-Werror"
- run: make -j8 install V=1 DESTDIR=$PWD/installdir
- run: make -j8 uninstall V=1 DESTDIR=$PWD/installdir
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: ubuntu-config.h
path: lib/config.h
- if: failure()
uses: actions/upload-artifact@v4
with:
name: clang-test-fail-logs
path: tests/*.failed

i386-build-and-test:
name: Build and test with gcc -m32
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
Expand All @@ -45,45 +55,65 @@ jobs:
- run: make -j8 check V=1 CFLAGS_WARN="-Werror"
- run: make -j8 install V=1 DESTDIR=$PWD/installdir
- run: make -j8 uninstall V=1 DESTDIR=$PWD/installdir
- if: failure()
uses: actions/upload-artifact@v4
with:
name: i386-test-fail-logs
path: tests/*.failed

asan-build-and-test:
name: Build and test with ASAN enabled
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y clang
- run: echo "ASAN_CFLAGS=$DEF_CFLAGS -fsanitize=address -fno-sanitize-recover=address" >> $GITHUB_ENV
- run: ./configure CC=clang CFLAGS="$ASAN_CFLAGS" LDFLAGS="$ASAN_CFLAGS"
- run: make -j8 check V=1 CFLAGS_WARN="-Werror"
- if: failure()
uses: actions/upload-artifact@v4
with:
name: asan-test-fail-logs
path: tests/*.failed

ubsan-build-and-test:
name: Build and test with UBSAN enabled
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y clang
- run: echo "UBSAN_CFLAGS=$DEF_CFLAGS -fsanitize=undefined -fno-sanitize-recover=undefined" >> $GITHUB_ENV
- run: ./configure CC=clang CFLAGS="$UBSAN_CFLAGS" LDFLAGS="$UBSAN_CFLAGS"
- run: make -j8 check V=1 CFLAGS_WARN="-Werror"
- if: failure()
uses: actions/upload-artifact@v4
with:
name: ubsan-test-fail-logs
path: tests/*.failed

macos-build-and-test:
name: Build and test on macOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: ./configure CFLAGS="$DEF_CFLAGS"
# -Wno-error=deprecated-declarations is needed to suppress known warnings
# due to e2fsprogs' use of sbrk(0) and daemon().
- run: make -j8 check V=1 CFLAGS_WARN="-Werror -Wno-error=deprecated-declarations"
- if: failure()
uses: actions/upload-artifact@v4
with:
name: macos-test-fail-logs
path: tests/*.failed
- run: make -j8 install DESTDIR=$PWD/installdir
- run: make -j8 uninstall DESTDIR=$PWD/installdir
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: macOS-config.h
path: lib/config.h
Expand All @@ -100,7 +130,7 @@ jobs:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: msys2/setup-msys2@v2
with:
msystem: ${{matrix.sys}}
Expand All @@ -121,7 +151,7 @@ jobs:
- run: make -j8 -C lib/e2p/ all V=1 CFLAGS_WARN="-Werror"
- run: make -j8 -C misc/ mke2fs V=1 CFLAGS_WARN="-Werror"
- run: misc/mke2fs.exe -T ext4 image.ext4 128M
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: windows-${{matrix.env}}-config.h
path: lib/config.h
Expand All @@ -140,7 +170,7 @@ jobs:
- { arch: x86_64, target: x86_64-linux-android }
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# See https://developer.android.com/ndk/guides/other_build_systems#autoconf
- name: configure
run: |
Expand All @@ -154,7 +184,7 @@ jobs:
export STRIP=$TOOLCHAIN/bin/llvm-strip
./configure --host=${{matrix.target}} CFLAGS="$DEF_CFLAGS"
- run: make -j8 V=1 CFLAGS_WARN="-Werror"
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: android-${{matrix.arch}}-config.h
path: lib/config.h

0 comments on commit 5182bd6

Please sign in to comment.