diff options
Diffstat (limited to '.github/workflows/integration.yml')
-rw-r--r-- | .github/workflows/integration.yml | 191 |
1 files changed, 110 insertions, 81 deletions
diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 6e323b7..7ccb0aa 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -9,6 +9,7 @@ env: jobs: basic: + # run this test on all containers name: ${{ matrix.test }} on ${{ matrix.container }} runs-on: ubuntu-latest timeout-minutes: 30 @@ -16,6 +17,7 @@ jobs: group: basic-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }} cancel-in-progress: true strategy: + fail-fast: false matrix: container: [ "alpine", @@ -30,7 +32,6 @@ jobs: test: [ "01", ] - fail-fast: false container: image: ghcr.io/dracut-ng/${{ matrix.container }} options: "--privileged -v /dev:/dev" @@ -39,28 +40,42 @@ jobs: uses: actions/checkout@v4 - name: "${{ matrix.container }} TEST-${{ matrix.test }}" run: ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} - network: - name: ${{ matrix.test }} on ${{ matrix.container }} using ${{ matrix.network }} + extended: + name: ${{ matrix.test }} on ${{ matrix.container }} runs-on: ubuntu-latest - timeout-minutes: 45 + timeout-minutes: 30 concurrency: - group: network-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }} + group: extended-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }} cancel-in-progress: true strategy: + fail-fast: false matrix: container: [ + "alpine", + "arch", + "debian", "fedora", - ] - network: [ - "network", + "gentoo", + "opensuse", + "ubuntu", + "void", ] test: [ - "20", - "40", - "50", - "60", + "02", + "03", + "04", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "62", + "98", ] - fail-fast: false container: image: ghcr.io/dracut-ng/${{ matrix.container }} options: "--privileged -v /dev:/dev" @@ -68,28 +83,23 @@ jobs: - name: "Checkout Repository" uses: actions/checkout@v4 - name: "${{ matrix.container }} TEST-${{ matrix.test }}" - run: USE_NETWORK=${{ matrix.network }} ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} - network-legacy: - name: ${{ matrix.test }} on ${{ matrix.container }} using ${{ matrix.network }} + run: ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} + dracut-cpio: + name: ${{ matrix.test }} on ${{ matrix.container }} runs-on: ubuntu-latest - timeout-minutes: 45 + timeout-minutes: 30 concurrency: - group: network-legacy-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }} + group: dracut-cpio-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }} cancel-in-progress: true strategy: + fail-fast: false matrix: container: [ "opensuse", ] - network: [ - "network-legacy", - ] test: [ - "20", - "30", - "40", + "63", ] - fail-fast: false container: image: ghcr.io/dracut-ng/${{ matrix.container }} options: "--privileged -v /dev:/dev" @@ -97,68 +107,65 @@ jobs: - name: "Checkout Repository" uses: actions/checkout@v4 - name: "${{ matrix.container }} TEST-${{ matrix.test }}" - run: USE_NETWORK=${{ matrix.network }} ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} - systemd-networkd: - name: ${{ matrix.test }} on ${{ matrix.container }} using ${{ matrix.network }} + run: ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} + arm64: + name: ${{ matrix.test }} on ${{ matrix.container }} on arm64 runs-on: ubuntu-latest - timeout-minutes: 45 + timeout-minutes: 30 concurrency: - group: systemd-networkd-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }} + group: arm64-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }} cancel-in-progress: true strategy: + fail-fast: false matrix: container: [ - "arch", - ] - network: [ - "systemd-networkd", + "debian", + "fedora", ] test: [ - "35", - "40", + "98", ] - fail-fast: false - container: - image: ghcr.io/dracut-ng/${{ matrix.container }} - options: "--privileged -v /dev:/dev" steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + with: + platforms: 'linux/arm64' - name: "Checkout Repository" uses: actions/checkout@v4 - name: "${{ matrix.container }} TEST-${{ matrix.test }}" - run: USE_NETWORK=${{ matrix.network }} ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} - extended: + run: docker run --platform linux/arm64 --privileged -v /dev:/dev -v $PWD:/w ghcr.io/dracut-ng/${{ matrix.container }} /w/tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} + network: + # all nfs based on default networking name: ${{ matrix.test }} on ${{ matrix.container }} runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 45 concurrency: - group: extended-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }} + group: network-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }} cancel-in-progress: true strategy: + fail-fast: false matrix: container: [ "arch", "debian", "fedora", "gentoo", + "opensuse", "ubuntu", ] test: [ - "02", - "03", - "04", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18", - "62", - "98", + "20", + "50", + "60", ] - fail-fast: false + include: + - network: "" + - # on debian run tests with systemd-networkd + container: "debian" + network: "systemd-networkd" + - # on openSUSE run tests with network-legacy + container: "opensuse" + network: "network-legacy" container: image: ghcr.io/dracut-ng/${{ matrix.container }} options: "--privileged -v /dev:/dev" @@ -166,23 +173,36 @@ jobs: - name: "Checkout Repository" uses: actions/checkout@v4 - name: "${{ matrix.container }} TEST-${{ matrix.test }}" - run: ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} - dracut-cpio: + run: USE_NETWORK=${{ matrix.network }} ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} + network-iscsi: name: ${{ matrix.test }} on ${{ matrix.container }} runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 45 concurrency: - group: dracut-cpio-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }} + group: network-iscsi-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }} cancel-in-progress: true strategy: + # run tests sequentially + max-parallel: 1 + fail-fast: false matrix: container: [ + "arch", + "debian", + "fedora", + "gentoo", "opensuse", + "ubuntu", ] - test: [ - "63", - ] - fail-fast: false + test: [ "30","35" ] + include: + - network: "" + - # on debian run tests with systemd-networkd + container: "debian" + network: "systemd-networkd" + - # on openSUSE run tests with network-legacy + container: "opensuse" + network: "network-legacy" container: image: ghcr.io/dracut-ng/${{ matrix.container }} options: "--privileged -v /dev:/dev" @@ -190,30 +210,39 @@ jobs: - name: "Checkout Repository" uses: actions/checkout@v4 - name: "${{ matrix.container }} TEST-${{ matrix.test }}" - run: ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} - arm64: - name: ${{ matrix.test }} on ${{ matrix.container }} on arm64 + run: USE_NETWORK=${{ matrix.network }} ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} + network-nbd: + name: ${{ matrix.test }} on ${{ matrix.container }} runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 45 concurrency: - group: arm64-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }} + group: network-nbd-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }} cancel-in-progress: true strategy: + # run tests sequentially + max-parallel: 1 + fail-fast: false matrix: container: [ + "arch", "debian", "fedora", + "opensuse", ] - test: [ - "98", - ] - fail-fast: false + test: [ "40" ] + include: + - network: "" + - # on openSUSE run tests with network-legacy + container: "opensuse" + network: "network-legacy" + - # on debian run this test on network-legacy to be able to pass it + container: "debian" + network: "network-legacy" + container: + image: ghcr.io/dracut-ng/${{ matrix.container }} + options: "--privileged -v /dev:/dev" steps: - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - with: - platforms: 'linux/arm64' - name: "Checkout Repository" uses: actions/checkout@v4 - name: "${{ matrix.container }} TEST-${{ matrix.test }}" - run: docker run --platform linux/arm64 --privileged -v /dev:/dev -v $PWD:/w ghcr.io/dracut-ng/${{ matrix.container }} /w/tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} + run: USE_NETWORK=${{ matrix.network }} ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} |