btrfs-progs/.github/workflows/pull-request.yml
David Sterba 328e3e632c btrfs-progs: ci: save test logs to artifacts on failure
Wherever it makes sense, save the logs as artifacts when something
fails (most likely the main step with real tests).

Signed-off-by: David Sterba <dsterba@suse.com>
2024-01-31 18:35:31 +01:00

51 lines
1.8 KiB
YAML

# Workflow for testing pull request against branches 'devel' or 'master'
#
# Derived from CI workflow for 'devel' but simplified to only the most common
# tests, more problems could be caught by other workflows after merge.
#
# - build tests
# - various runtime tests
name: Pull request build and tests
run-name: Pull request build and tests
on:
pull_request:
branches: [ "devel", "master" ]
jobs:
build:
runs-on: ubuntu-latest
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
# - name: Musl build
# run: sudo docker run kdave/ci-musl-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --disable-backtrace --disable-libudev
- name: Make static
run: make V=1 EXTRA_CFLAGS='-march=x86-64' static
- name: Make box.static
run: make V=1 EXTRA_CFLAGS='-march=x86-64' btrfs.box.static
- name: Tests cli
run: sudo make TEST_LOG=dump test-cli
- name: Tests mkfs
run: sudo make TEST_LOG=dump test-mkfs
- name: Tests check
run: sudo make TEST_LOG=dump test-check
- name: Tests check (lowmem)
run: sudo make TEST_LOG=dump test-check-lowmem
- name: Tests misc
run: sudo make TEST_LOG=dump test-misc
- name: Tests fuzz
run: sudo make TEST_LOG=dump test-fuzz
- 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