summaryrefslogtreecommitdiffstats
path: root/.github/workflows/integration.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/integration.yml')
-rw-r--r--.github/workflows/integration.yml197
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 }}