btrfs-progs: ci: split functional tests for devel workflow

We can run more tests in parallel, the overall CI run time will be
shorter (from 12m to 5m) at the cost of building the same sources.
Also build documentation only once.

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2023-11-01 21:32:28 +01:00
parent 1faaa874a1
commit d185801b45
1 changed files with 45 additions and 9 deletions

View File

@ -14,9 +14,12 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- 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 - 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
- name: Configure - name: Configure
run: ./autogen.sh && ./configure run: ./autogen.sh && ./configure
- name: Documentation
run: make V=1 -C Documentation
- name: Make static - name: Make static
run: make V=1 EXTRA_CFLAGS='-march=x86-64' static run: make V=1 EXTRA_CFLAGS='-march=x86-64' static
- name: Make box.static - name: Make box.static
@ -32,7 +35,8 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- 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 - 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 libaio-dev liburing-dev attr jq
- name: Configure - name: Configure
run: ./autogen.sh && ./configure --disable-documentation run: ./autogen.sh && ./configure --disable-documentation
- name: Make - name: Make
@ -53,27 +57,59 @@ jobs:
run: make hash-speedtest && ./hash-speedtest 1 run: make hash-speedtest && ./hash-speedtest 1
- name: Tests hash (correctness) - name: Tests hash (correctness)
run: make hash-vectest && ./hash-vectest run: make hash-vectest && ./hash-vectest
test-all: test-mkfs:
name: Functional tests name: Test mkfs.btrfs
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- run: uname -a
- run: sudo modprobe btrfs - 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 - run: sudo apt-get install -y pkg-config gcc liblzo2-dev libzstd-dev libblkid-dev uuid-dev zlib1g-dev libext2fs-dev e2fsprogs libudev-dev libaio-dev liburing-dev attr jq
- name: Configure - name: Configure
run: ./autogen.sh && ./configure run: ./autogen.sh && ./configure --disable-documentation
- name: Make - name: Make
run: make V=1 run: make V=1
- name: Tests cli
run: sudo make TEST_LOG=dump test-cli
- name: Tests mkfs - name: Tests mkfs
run: sudo make TEST_LOG=dump test-mkfs run: sudo make TEST_LOG=dump test-mkfs
test-check:
name: Test btrfs check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- 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 libaio-dev liburing-dev attr jq
- name: Configure
run: ./autogen.sh && ./configure --disable-documentation
- name: Make
run: make V=1
- name: Tests check - name: Tests check
run: sudo make TEST_LOG=dump test-check run: sudo make TEST_LOG=dump test-check
- name: Tests check (lowmem) - name: Tests check (lowmem)
run: sudo make TEST_LOG=dump test-check-lowmem run: sudo make TEST_LOG=dump test-check-lowmem
test-misc:
name: Test misc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- 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 libaio-dev liburing-dev attr jq
- name: Configure
run: ./autogen.sh && ./configure --disable-documentation
- name: Make
run: make V=1
- name: Tests misc - name: Tests misc
run: sudo make TEST_LOG=dump test-misc run: sudo make TEST_LOG=dump test-misc
test-other:
name: Test cli, fuzz
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- 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 libaio-dev liburing-dev attr jq
- name: Configure
run: ./autogen.sh && ./configure --disable-documentation
- name: Make
run: make V=1
- name: Tests cli
run: sudo make TEST_LOG=dump test-cli
- name: Tests fuzz - name: Tests fuzz
run: sudo make TEST_LOG=dump test-fuzz run: sudo make TEST_LOG=dump test-fuzz