2023-08-24 16:26:01 +00:00
|
|
|
# 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:
|
2024-01-30 18:32:58 +00:00
|
|
|
- uses: actions/checkout@v4
|
2023-08-24 16:26:01 +00:00
|
|
|
- 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
|
2023-12-06 13:51:35 +00:00
|
|
|
run: ./autogen.sh && ./configure --disable-documentation
|
2023-08-24 16:26:01 +00:00
|
|
|
- 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
|
2023-09-12 22:47:30 +00:00
|
|
|
- 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
|
2023-08-24 16:26:01 +00:00
|
|
|
- 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
|
2024-01-31 16:57:04 +00:00
|
|
|
- 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
|