mirror of
https://github.com/kdave/btrfs-progs
synced 2025-01-28 08:22:46 +00:00
f642ec86e6
There's an update to CI hosted runners, https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md - kernel 6.8 - e2fsprogs 1.47 - gcc 13.2 - clang 18.1.3 Switch the workflow files to use it as ubuntu-latest still points to the 22.04 version. The updated versions let us avoid workarounds due to old version if e2fsprogs. The musl 32bit build seems to fail so pin the version to the last one where it's known to work. Signed-off-by: David Sterba <dsterba@suse.com>
96 lines
3.5 KiB
YAML
96 lines
3.5 KiB
YAML
# Run tests with sanitizers enabled
|
|
# - UBSAN - undefined behaviour (default)
|
|
# - ASAN - memory leaks etc
|
|
#
|
|
# There are known problems, for now only for targeted testing
|
|
|
|
name: Sanitizer checks
|
|
run-name: Sanitizer checks
|
|
on:
|
|
push:
|
|
branches:
|
|
- sanitize-test
|
|
- master
|
|
jobs:
|
|
build-ubsan:
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: uname -a
|
|
- run: sudo modprobe btrfs
|
|
- run: sudo apt-get install -y pkg-config gcc liblzo2-dev libzstd-dev libblkid-dev uuid-dev zlib1g-dev libext2fs-dev e2fsprogs libudev-dev python3-sphinx libaio-dev liburing-dev attr jq
|
|
- name: Configure
|
|
run: ./autogen.sh && ./configure --disable-documentation
|
|
- name: Make
|
|
run: make V=1 D=ubsan
|
|
- name: Tests cli
|
|
run: sudo make D=ubsan TEST_LOG=dump test-cli
|
|
- name: Tests mkfs
|
|
run: sudo make D=ubsan TEST_LOG=dump test-mkfs
|
|
- name: Tests check
|
|
run: sudo make D=ubsan TEST_LOG=dump test-check
|
|
- name: Tests check (lowmem)
|
|
run: sudo make D=ubsan TEST_LOG=dump test-check-lowmem
|
|
- name: Tests misc
|
|
run: sudo make D=ubsan TEST_LOG=dump test-misc
|
|
- name: Tests fuzz
|
|
run: sudo make D=ubsan TEST_LOG=dump test-fuzz
|
|
- name: Tests convert
|
|
run: sudo make D=ubsan TEST_LOG=dump test-convert
|
|
- name: Test internal APIs
|
|
run: make D=ubsan test-api
|
|
- name: Libbtrfsutil test
|
|
run: make D=ubsan test-libbtrfsutil
|
|
- name: Libbtrfs build test
|
|
run: make D=ubsan library-test
|
|
- name: Tests hash (correctness)
|
|
run: make D=ubsan hash-vectest && ./hash-vectest
|
|
- name: Save logs on failure
|
|
if: ${{ failure() }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: test-results
|
|
path: "tests/*-results.txt"
|
|
if-no-files-found: ignore
|
|
build-asan:
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: uname -a
|
|
- run: sudo modprobe btrfs
|
|
- run: sudo apt-get install -y pkg-config gcc liblzo2-dev libzstd-dev libblkid-dev uuid-dev zlib1g-dev libext2fs-dev e2fsprogs libudev-dev python3-sphinx libaio-dev liburing-dev attr jq
|
|
- name: Configure
|
|
run: ./autogen.sh && ./configure --disable-documentation
|
|
- name: Make
|
|
run: make V=1 D=asan
|
|
- name: Tests cli
|
|
run: sudo make D=asan TEST_LOG=dump test-cli
|
|
- name: Tests mkfs
|
|
run: sudo make D=asan TEST_LOG=dump test-mkfs
|
|
- name: Tests check
|
|
run: sudo make D=asan TEST_LOG=dump test-check
|
|
- name: Tests check (lowmem)
|
|
run: sudo make D=asan TEST_LOG=dump test-check-lowmem
|
|
- name: Tests misc
|
|
run: sudo make D=asan TEST_LOG=dump test-misc
|
|
- name: Tests fuzz
|
|
run: sudo make D=asan TEST_LOG=dump test-fuzz
|
|
- name: Tests convert
|
|
run: sudo make D=asan TEST_LOG=dump test-convert
|
|
- name: Test internal APIs
|
|
run: make D=asan test-api
|
|
# Temporary: the library or python bindings are not linked with ASAN and test cannot be run
|
|
# - name: Libbtrfsutil test
|
|
# run: make D=asan test-libbtrfsutil
|
|
# - name: Libbtrfs build test
|
|
# run: make D=asan library-test
|
|
- name: Tests hash (correctness)
|
|
run: make D=asan hash-vectest && ./hash-vectest
|
|
- name: Save logs on failure
|
|
if: ${{ failure() }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: test-results
|
|
path: "tests/*-results.txt"
|
|
if-no-files-found: ignore
|