diff options
Diffstat (limited to '.github/workflows/integration.yml')
-rw-r--r-- | .github/workflows/integration.yml | 197 |
1 files changed, 162 insertions, 35 deletions
diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index ab075b0..6e323b7 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -2,30 +2,147 @@ name: Integration Test on: pull_request: - branches: [ master ] + branches: [ main ] env: DEBUGFAIL: "${{ secrets.ACTIONS_STEP_DEBUG && 'rd.debug' }}" jobs: - test: + basic: + name: ${{ matrix.test }} on ${{ matrix.container }} runs-on: ubuntu-latest timeout-minutes: 30 concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }} + group: basic-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }} cancel-in-progress: true strategy: matrix: container: [ - "arch:latest", - "debian:latest", - "fedora:latest", - "gentoo:latest", - "opensuse:latest", - "ubuntu:latest", + "alpine", + "arch", + "debian", + "fedora", + "gentoo", + "opensuse", + "ubuntu", + "void", ] test: [ "01", + ] + fail-fast: false + container: + image: ghcr.io/dracut-ng/${{ matrix.container }} + options: "--privileged -v /dev:/dev" + steps: + - name: "Checkout Repository" + 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 }} + runs-on: ubuntu-latest + timeout-minutes: 45 + concurrency: + group: network-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }} + cancel-in-progress: true + strategy: + matrix: + container: [ + "fedora", + ] + network: [ + "network", + ] + test: [ + "20", + "40", + "50", + "60", + ] + fail-fast: false + container: + image: ghcr.io/dracut-ng/${{ matrix.container }} + options: "--privileged -v /dev:/dev" + steps: + - 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 }} + runs-on: ubuntu-latest + timeout-minutes: 45 + concurrency: + group: network-legacy-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }} + cancel-in-progress: true + strategy: + matrix: + container: [ + "opensuse", + ] + network: [ + "network-legacy", + ] + test: [ + "20", + "30", + "40", + ] + fail-fast: false + container: + image: ghcr.io/dracut-ng/${{ matrix.container }} + options: "--privileged -v /dev:/dev" + steps: + - 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 }} + runs-on: ubuntu-latest + timeout-minutes: 45 + concurrency: + group: systemd-networkd-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }} + cancel-in-progress: true + strategy: + matrix: + container: [ + "arch", + ] + network: [ + "systemd-networkd", + ] + test: [ + "35", + "40", + ] + fail-fast: false + container: + image: ghcr.io/dracut-ng/${{ matrix.container }} + options: "--privileged -v /dev:/dev" + steps: + - 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: + name: ${{ matrix.test }} on ${{ matrix.container }} + runs-on: ubuntu-latest + timeout-minutes: 30 + concurrency: + group: extended-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }} + cancel-in-progress: true + strategy: + matrix: + container: [ + "arch", + "debian", + "fedora", + "gentoo", + "ubuntu", + ] + test: [ "02", "03", "04", @@ -43,50 +160,60 @@ jobs: ] fail-fast: false container: - image: ghcr.io/dracutdevs/${{ matrix.container }} + image: ghcr.io/dracut-ng/${{ matrix.container }} options: "--privileged -v /dev:/dev" steps: - name: "Checkout Repository" - uses: actions/checkout@v1 - with: - fetch-depth: 0 - + uses: actions/checkout@v4 - name: "${{ matrix.container }} TEST-${{ matrix.test }}" run: ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} - network: + dracut-cpio: + name: ${{ matrix.test }} on ${{ matrix.container }} runs-on: ubuntu-latest - timeout-minutes: 45 + timeout-minutes: 30 concurrency: - group: ${{ 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: matrix: container: [ - "fedora:latest", - ] - network: [ - "network-manager", - "network-legacy", - #"systemd-networkd", - #"connman", + "opensuse", ] test: [ - "20", - "30", - "35", - "40", - "60", - # "50", # times out + "63", ] fail-fast: false container: - image: ghcr.io/dracutdevs/${{ matrix.container }} + image: ghcr.io/dracut-ng/${{ matrix.container }} options: "--privileged -v /dev:/dev" steps: - name: "Checkout Repository" - uses: actions/checkout@v3 + 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 + runs-on: ubuntu-latest + timeout-minutes: 30 + concurrency: + group: arm64-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }} + cancel-in-progress: true + strategy: + matrix: + container: [ + "debian", + "fedora", + ] + test: [ + "98", + ] + fail-fast: false + steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 with: - fetch-depth: 0 - + 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 }} + 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 }} |