summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/container.yml4
-rw-r--r--.github/workflows/integration.yml191
-rw-r--r--.github/workflows/release.yml2
3 files changed, 113 insertions, 84 deletions
diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml
index 666f887..7f2853f 100644
--- a/.github/workflows/container.yml
+++ b/.github/workflows/container.yml
@@ -49,7 +49,7 @@ jobs:
- name: Set up env
run: echo "repository_owner=${GITHUB_REPOSITORY_OWNER,,}" >>${GITHUB_ENV}
- name: Build and Push Container
- uses: docker/build-push-action@v5
+ uses: docker/build-push-action@v6
with:
file: test/container/${{ matrix.config.dockerfile }}
tags: ghcr.io/${{env.repository_owner}}/${{ matrix.config.tag }}:latest
@@ -87,7 +87,7 @@ jobs:
- name: Set up env
run: echo "repository_owner=${GITHUB_REPOSITORY_OWNER,,}" >>${GITHUB_ENV}
- name: Build and Push Container
- uses: docker/build-push-action@v5
+ uses: docker/build-push-action@v6
with:
file: test/container/${{ matrix.config.dockerfile }}
tags: ghcr.io/${{env.repository_owner}}/${{ matrix.config.tag }}:latest
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 }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index a12126e..4347d69 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -32,7 +32,7 @@ jobs:
- name: Release
if: ${{ env.new_version }}
- uses: softprops/action-gh-release@v2.0.5
+ uses: softprops/action-gh-release@v2.0.6
with:
tag_name: ${{ env.new_version }}
name: dracut-${{ env.new_version }}