Skip to content

Workflow file for this run

name: Integration Test
on:
pull_request:
branches: [ main ]
paths-ignore:
- antora-playbook.yaml
- 'doc_site/**'
- 'man/**'
env:
# set V to 2 when re-running jobs with debug logging enabled
# see https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/enabling-debug-logging
V: "${{ secrets.ACTIONS_STEP_DEBUG && '2' }}"
jobs:
basic:
# run this test on all containers
name: ${{ matrix.test }} on ${{ matrix.container }}
runs-on: ubuntu-latest
timeout-minutes: 30
concurrency:
group: basic-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}
cancel-in-progress: true
strategy:
fail-fast: false
matrix:
container: [
"alpine",
"arch",
"debian",
"fedora",
"gentoo",
"opensuse",
"ubuntu",
"void",
]
test: [
"10",
]
container:
image: ghcr.io/dracut-ng/${{ matrix.container }}
options: '--device=/dev/kvm'
steps:
- name: "Checkout Repository"
uses: actions/checkout@v4
- name: "${{ matrix.container }} TEST-${{ matrix.test }}"
run: ./test/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
extended:
needs: basic
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:
fail-fast: false
matrix:
container: [
"alpine:edge",
"arch",
"debian:sid",
"fedora:rawhid",
"gentoo",
"opensuse",
"ubuntu:rolling",
"void",
]
test: [
"11",
"12",
"20",
"21",
"22",
"23",
"24",
"25",
"26",
"30",
"40",
"41",
"42",
"80",
"81",
]
container:
image: ghcr.io/dracut-ng/${{ matrix.container }}
options: '--device=/dev/kvm'
steps:
- name: "Checkout Repository"
uses: actions/checkout@v4
- name: "${{ matrix.container }} TEST-${{ matrix.test }}"
run: ./test/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
dracut-cpio:
needs: basic
name: ${{ matrix.test }} on ${{ matrix.container }}
runs-on: ubuntu-latest
timeout-minutes: 30
concurrency:
group: dracut-cpio-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}
cancel-in-progress: true
strategy:
fail-fast: false
matrix:
container: [
"opensuse",
]
test: [
"82",
]
container:
image: ghcr.io/dracut-ng/${{ matrix.container }}
options: '--device=/dev/kvm'
steps:
- name: "Checkout Repository"
uses: actions/checkout@v4
- name: "${{ matrix.container }} TEST-${{ matrix.test }}"
run: ./test/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
arm64:
needs: basic
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:
fail-fast: false
matrix:
container: [
"debian-arm64",
"fedora-arm64",
]
test: [
"80",
]
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 '--device=/dev/kvm' -v $PWD:/w ghcr.io/dracut-ng/${{ matrix.container }} /w/test/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
network:
needs: basic
# all nfs based on default networking
name: ${{ matrix.test }} on ${{ matrix.container }}
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:
fail-fast: false
matrix:
container: [
"arch",
"debian",
"fedora",
"gentoo",
"opensuse",
"ubuntu",
]
test: [
"60",
"61",
"62",
]
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: '--device=/dev/kvm'
steps:
- name: "Checkout Repository"
uses: actions/checkout@v4
- name: "${{ matrix.container }} TEST-${{ matrix.test }}"
run: USE_NETWORK=${{ matrix.network }} ./test/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
# network-advanced:
# name: ${{ matrix.test }} on ${{ matrix.container }}
# runs-on: ubuntu-latest
# timeout-minutes: 45
# concurrency:
# group: network-iscsi-${{ 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: [ "70","71","72" ]
# 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: '--device=/dev/kvm'
# steps:
# - name: "Checkout Repository"
# uses: actions/checkout@v4
# - name: "${{ matrix.container }} TEST-${{ matrix.test }}"
# run: USE_NETWORK=${{ matrix.network }} ./test/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}