mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-17 01:51:00 +03:00
b7bc334d13
This commit changes the workflow of the github actions. We split the workflow into different parts: 1) build zfs modules for Ubuntu 20.04 and 22.04 (~25m) 2) 2x zloop test (~10m) + 2x sanity test (~25m) 3) functional testings in parts 1..5 (each ~1h) - these could be triggered, when sanity tests are ok - currently I just start them all in the same time 4) cleanup and create summary When everything is fine, the full run with all testings should be done in around 2 hours. The codeql.yml and checkstyle.yml are not part in this circle. The testings are also modified a bit: - report info about CPU and checksum benchmarks - reset the debugging logs for each test - when some error occurred, we call dmesg with -c to get only the log output for the last failed test - we empty also the dbgsys Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de> Closes #14078
72 lines
1.9 KiB
YAML
72 lines
1.9 KiB
YAML
name: zfs-linux
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
|
|
build:
|
|
name: Build
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [20.04, 22.04]
|
|
runs-on: ubuntu-${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
- name: Build modules
|
|
run: .github/workflows/scripts/setup-dependencies.sh build
|
|
- name: Prepare modules upload
|
|
run: tar czf modules-${{ matrix.os }}.tgz *.deb .github scripts/zfs-tests-color.sh tests/test-runner tests/ImageOS.txt
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
name: modules-${{ matrix.os }}
|
|
path: modules-${{ matrix.os }}.tgz
|
|
- name: Prepare scripts upload
|
|
run: tar czf scripts.tgz .github tests/test-runner
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
name: scripts
|
|
path: scripts.tgz
|
|
|
|
testings:
|
|
name: Testing
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [20.04, 22.04]
|
|
needs: build
|
|
uses: ./.github/workflows/zfs-linux-tests.yml
|
|
with:
|
|
os: ${{ matrix.os }}
|
|
|
|
cleanup:
|
|
if: always()
|
|
name: Cleanup
|
|
runs-on: ubuntu-22.04
|
|
needs: testings
|
|
steps:
|
|
- uses: actions/download-artifact@v3
|
|
- name: Generating summary
|
|
run: |
|
|
tar xzf scripts/scripts.tgz .github tests
|
|
.github/workflows/scripts/generate-summary.sh
|
|
# up to 4 steps, each can have 1 MiB output (for debugging log files)
|
|
- run: .github/workflows/scripts/generate-summary.sh 1
|
|
- run: .github/workflows/scripts/generate-summary.sh 2
|
|
- run: .github/workflows/scripts/generate-summary.sh 3
|
|
- run: .github/workflows/scripts/generate-summary.sh 4
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
name: Summary Files
|
|
path: Summary/
|
|
- uses: geekyeggo/delete-artifact@v2
|
|
with:
|
|
name: modules-20.04
|
|
- uses: geekyeggo/delete-artifact@v2
|
|
with:
|
|
name: modules-22.04
|