mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 11:19:32 +03:00
9ad150446f
GitHub Actions is transitioning from Node 16 to Node 20. So we need to update these: - actions/checkout@v3 -> v4 - actions/download-artifact@v3 -> v4 - actions/upload-artifact@v3 -> v4 and some minor changes Update also the documentation of the testings workflow. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Andrew Innes <andrew.c12@gmail.com> Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de> Closes #15820
125 lines
3.7 KiB
YAML
125 lines
3.7 KiB
YAML
name: zfs-linux-tests
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
os:
|
|
description: 'The ubuntu version: 20.02 or 22.04'
|
|
required: true
|
|
type: string
|
|
|
|
jobs:
|
|
|
|
zloop:
|
|
runs-on: ubuntu-${{ inputs.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: modules-${{ inputs.os }}
|
|
- name: Install modules
|
|
run: |
|
|
tar xzf modules-${{ inputs.os }}.tgz
|
|
.github/workflows/scripts/setup-dependencies.sh tests
|
|
- name: Tests
|
|
timeout-minutes: 30
|
|
run: |
|
|
sudo mkdir -p /var/tmp/zloop
|
|
# run for 10 minutes or at most 2 iterations for a maximum runner
|
|
# time of 20 minutes.
|
|
sudo /usr/share/zfs/zloop.sh -t 600 -I 2 -l -m1 -- -T 120 -P 60
|
|
- name: Prepare artifacts
|
|
if: failure()
|
|
run: |
|
|
sudo chmod +r -R /var/tmp/zloop/
|
|
- uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: Zpool-logs-${{ inputs.os }}
|
|
path: |
|
|
/var/tmp/zloop/*/
|
|
!/var/tmp/zloop/*/vdev/
|
|
retention-days: 14
|
|
if-no-files-found: ignore
|
|
- uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: Zpool-files-${{ inputs.os }}
|
|
path: |
|
|
/var/tmp/zloop/*/vdev/
|
|
retention-days: 14
|
|
if-no-files-found: ignore
|
|
|
|
sanity:
|
|
runs-on: ubuntu-${{ inputs.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: modules-${{ inputs.os }}
|
|
- name: Install modules
|
|
run: |
|
|
tar xzf modules-${{ inputs.os }}.tgz
|
|
.github/workflows/scripts/setup-dependencies.sh tests
|
|
- name: Tests
|
|
timeout-minutes: 60
|
|
shell: bash
|
|
run: |
|
|
set -o pipefail
|
|
/usr/share/zfs/zfs-tests.sh -vKR -s 3G -r sanity | scripts/zfs-tests-color.sh
|
|
- name: Prepare artifacts
|
|
if: success() || failure()
|
|
run: |
|
|
RESPATH="/var/tmp/test_results"
|
|
mv -f $RESPATH/current $RESPATH/testfiles
|
|
tar cf $RESPATH/sanity.tar -h -C $RESPATH testfiles
|
|
- uses: actions/upload-artifact@v4
|
|
if: success() || failure()
|
|
with:
|
|
name: Logs-${{ inputs.os }}-sanity
|
|
path: /var/tmp/test_results/sanity.tar
|
|
if-no-files-found: ignore
|
|
|
|
functional:
|
|
runs-on: ubuntu-${{ inputs.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
tests: [ part1, part2, part3, part4 ]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: modules-${{ inputs.os }}
|
|
- name: Install modules
|
|
run: |
|
|
tar xzf modules-${{ inputs.os }}.tgz
|
|
.github/workflows/scripts/setup-dependencies.sh tests
|
|
- name: Setup tests
|
|
run: |
|
|
.github/workflows/scripts/setup-functional.sh ${{ matrix.tests }} >> $GITHUB_ENV
|
|
- name: Tests
|
|
timeout-minutes: 120
|
|
shell: bash
|
|
run: |
|
|
set -o pipefail
|
|
/usr/share/zfs/zfs-tests.sh -vKR -s 3G -T ${{ env.TODO }} | scripts/zfs-tests-color.sh
|
|
- name: Prepare artifacts
|
|
if: success() || failure()
|
|
run: |
|
|
RESPATH="/var/tmp/test_results"
|
|
mv -f $RESPATH/current $RESPATH/testfiles
|
|
tar cf $RESPATH/${{ matrix.tests }}.tar -h -C $RESPATH testfiles
|
|
- uses: actions/upload-artifact@v4
|
|
if: success() || failure()
|
|
with:
|
|
name: Logs-${{ inputs.os }}-functional-${{ matrix.tests }}
|
|
path: /var/tmp/test_results/${{ matrix.tests }}.tar
|
|
if-no-files-found: ignore
|