From b0c2b4d9c00798611680996037abc8674857269f Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Sun, 21 Apr 2024 20:47:09 +0200 Subject: [PATCH 1/8] Split CI into OS-specific workflows --- .github/workflows/00-ci.yml | 99 -------------------------------- .github/workflows/00-linux.yml | 49 ++++++++++++++++ .github/workflows/00-macos.yml | 42 ++++++++++++++ .github/workflows/00-windows.yml | 51 ++++++++++++++++ 4 files changed, 142 insertions(+), 99 deletions(-) delete mode 100644 .github/workflows/00-ci.yml create mode 100644 .github/workflows/00-linux.yml create mode 100644 .github/workflows/00-macos.yml create mode 100644 .github/workflows/00-windows.yml diff --git a/.github/workflows/00-ci.yml b/.github/workflows/00-ci.yml deleted file mode 100644 index 8de410f0..00000000 --- a/.github/workflows/00-ci.yml +++ /dev/null @@ -1,99 +0,0 @@ -name: CI - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - schedule: - - cron: "0 6 * * *" - -jobs: - build-and-test-ubuntu-stable: - uses: './.github/workflows/01-build-and-test-unix.yml' - with: - os: 'ubuntu-latest' - toolchain: 'stable' - - build-and-test-ubuntu-beta: - uses: './.github/workflows/01-build-and-test-unix.yml' - with: - os: 'ubuntu-latest' - toolchain: 'beta' - - build-and-test-ubuntu-msrv: - uses: './.github/workflows/01-build-and-test-unix.yml' - with: - os: 'ubuntu-latest' - toolchain: '1.63.0' - msrv: true - - # Nightly check is performed on ubuntu only. - build-and-test-ubuntu-nightly: - uses: './.github/workflows/01-build-and-test-unix.yml' - with: - os: 'ubuntu-latest' - toolchain: 'nightly' - - build-and-test-macos-stable: - uses: './.github/workflows/01-build-and-test-unix.yml' - with: - os: 'macos-latest' - toolchain: 'stable' - - build-and-test-macos-beta: - uses: './.github/workflows/01-build-and-test-unix.yml' - with: - os: 'macos-latest' - toolchain: 'beta' - - build-and-test-macos-msrv: - uses: './.github/workflows/01-build-and-test-unix.yml' - with: - os: 'macos-latest' - toolchain: '1.63.0' - msrv: true - - build-and-test-windows-stable: - uses: './.github/workflows/01-build-and-test-windows.yml' - with: - os: 'windows-latest' - toolchain: 'stable' - secrets: - NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} - NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }} - - build-and-test-windows-beta: - uses: './.github/workflows/01-build-and-test-windows.yml' - with: - os: 'windows-latest' - toolchain: 'beta' - secrets: - NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} - NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }} - - build-and-test-windows-msrv: - uses: './.github/workflows/01-build-and-test-windows.yml' - with: - os: 'windows-latest' - toolchain: '1.63.0' - msrv: true - secrets: - NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} - NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }} - - coverage-all-stable: - strategy: - matrix: - os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - uses: './.github/workflows/02-coverage.yml' - with: - os: ${{ matrix.os }} - - lint-all-stable: - strategy: - matrix: - os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - uses: './.github/workflows/03-lint.yml' - with: - os: ${{ matrix.os }} diff --git a/.github/workflows/00-linux.yml b/.github/workflows/00-linux.yml new file mode 100644 index 00000000..505bdb0c --- /dev/null +++ b/.github/workflows/00-linux.yml @@ -0,0 +1,49 @@ +name: 'Linux' + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + schedule: + - cron: "0 6 * * *" + +env: + PCAP_CI_OS: 'ubuntu-latest' + +jobs: + build-and-test-stable: + uses: './.github/workflows/01-build-and-test-unix.yml' + with: + os: ${{ env.PCAP_CI_OS }} + toolchain: 'stable' + + build-and-test-beta: + uses: './.github/workflows/01-build-and-test-unix.yml' + with: + os: ${{ env.PCAP_CI_OS }} + toolchain: 'beta' + + build-and-test-msrv: + uses: './.github/workflows/01-build-and-test-unix.yml' + with: + os: ${{ env.PCAP_CI_OS }} + toolchain: '1.63.0' + msrv: true + + # Nightly check is performed on ubuntu only. + build-and-test-nightly: + uses: './.github/workflows/01-build-and-test-unix.yml' + with: + os: ${{ env.PCAP_CI_OS }} + toolchain: 'nightly' + + coverage-stable: + uses: './.github/workflows/02-coverage.yml' + with: + os: ${{ env.PCAP_CI_OS }} + + lint-stable: + uses: './.github/workflows/03-lint.yml' + with: + os: ${{ env.PCAP_CI_OS }} diff --git a/.github/workflows/00-macos.yml b/.github/workflows/00-macos.yml new file mode 100644 index 00000000..09eb3572 --- /dev/null +++ b/.github/workflows/00-macos.yml @@ -0,0 +1,42 @@ +name: 'Mac OS' + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + schedule: + - cron: "0 6 * * *" + +env: + PCAP_CI_OS: 'macos-latest' + +jobs: + build-and-test-stable: + uses: './.github/workflows/01-build-and-test-unix.yml' + with: + os: ${{ env.PCAP_CI_OS }} + toolchain: 'stable' + + build-and-test-beta: + uses: './.github/workflows/01-build-and-test-unix.yml' + with: + os: ${{ env.PCAP_CI_OS }} + toolchain: 'beta' + + build-and-test-msrv: + uses: './.github/workflows/01-build-and-test-unix.yml' + with: + os: ${{ env.PCAP_CI_OS }} + toolchain: '1.63.0' + msrv: true + + coverage-stable: + uses: './.github/workflows/02-coverage.yml' + with: + os: ${{ env.PCAP_CI_OS }} + + lint-stable: + uses: './.github/workflows/03-lint.yml' + with: + os: ${{ env.PCAP_CI_OS }} diff --git a/.github/workflows/00-windows.yml b/.github/workflows/00-windows.yml new file mode 100644 index 00000000..0ef412e6 --- /dev/null +++ b/.github/workflows/00-windows.yml @@ -0,0 +1,51 @@ +name: 'Windows' + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + schedule: + - cron: "0 6 * * *" + +env: + PCAP_CI_OS: 'windows-latest' + +jobs: + build-and-test-stable: + uses: './.github/workflows/01-build-and-test-windows.yml' + with: + os: ${{ env.PCAP_CI_OS }} + toolchain: 'stable' + secrets: + NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} + NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }} + + build-and-test-beta: + uses: './.github/workflows/01-build-and-test-windows.yml' + with: + os: ${{ env.PCAP_CI_OS }} + toolchain: 'beta' + secrets: + NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} + NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }} + + build-and-test-msrv: + uses: './.github/workflows/01-build-and-test-windows.yml' + with: + os: ${{ env.PCAP_CI_OS }} + toolchain: '1.63.0' + msrv: true + secrets: + NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} + NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }} + + coverage-stable: + uses: './.github/workflows/02-coverage.yml' + with: + os: ${{ env.PCAP_CI_OS }} + + lint-all-stable: + uses: './.github/workflows/03-lint.yml' + with: + os: ${{ env.PCAP_CI_OS }} From add7f368d37b15646e788268229309979e009ea2 Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Sun, 21 Apr 2024 20:50:45 +0200 Subject: [PATCH 2/8] I hate github actions --- .github/workflows/00-linux.yml | 15 ++++++--------- .github/workflows/00-macos.yml | 13 +++++-------- .github/workflows/00-windows.yml | 13 +++++-------- 3 files changed, 16 insertions(+), 25 deletions(-) diff --git a/.github/workflows/00-linux.yml b/.github/workflows/00-linux.yml index 505bdb0c..f5f14e07 100644 --- a/.github/workflows/00-linux.yml +++ b/.github/workflows/00-linux.yml @@ -8,26 +8,23 @@ on: schedule: - cron: "0 6 * * *" -env: - PCAP_CI_OS: 'ubuntu-latest' - jobs: build-and-test-stable: uses: './.github/workflows/01-build-and-test-unix.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'ubuntu-latest' toolchain: 'stable' build-and-test-beta: uses: './.github/workflows/01-build-and-test-unix.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'ubuntu-latest' toolchain: 'beta' build-and-test-msrv: uses: './.github/workflows/01-build-and-test-unix.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'ubuntu-latest' toolchain: '1.63.0' msrv: true @@ -35,15 +32,15 @@ jobs: build-and-test-nightly: uses: './.github/workflows/01-build-and-test-unix.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'ubuntu-latest' toolchain: 'nightly' coverage-stable: uses: './.github/workflows/02-coverage.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'ubuntu-latest' lint-stable: uses: './.github/workflows/03-lint.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'ubuntu-latest' diff --git a/.github/workflows/00-macos.yml b/.github/workflows/00-macos.yml index 09eb3572..87a9eff4 100644 --- a/.github/workflows/00-macos.yml +++ b/.github/workflows/00-macos.yml @@ -8,35 +8,32 @@ on: schedule: - cron: "0 6 * * *" -env: - PCAP_CI_OS: 'macos-latest' - jobs: build-and-test-stable: uses: './.github/workflows/01-build-and-test-unix.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'macos-latest' toolchain: 'stable' build-and-test-beta: uses: './.github/workflows/01-build-and-test-unix.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'macos-latest' toolchain: 'beta' build-and-test-msrv: uses: './.github/workflows/01-build-and-test-unix.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'macos-latest' toolchain: '1.63.0' msrv: true coverage-stable: uses: './.github/workflows/02-coverage.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'macos-latest' lint-stable: uses: './.github/workflows/03-lint.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'macos-latest' diff --git a/.github/workflows/00-windows.yml b/.github/workflows/00-windows.yml index 0ef412e6..e6238e05 100644 --- a/.github/workflows/00-windows.yml +++ b/.github/workflows/00-windows.yml @@ -8,14 +8,11 @@ on: schedule: - cron: "0 6 * * *" -env: - PCAP_CI_OS: 'windows-latest' - jobs: build-and-test-stable: uses: './.github/workflows/01-build-and-test-windows.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'windows-latest' toolchain: 'stable' secrets: NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} @@ -24,7 +21,7 @@ jobs: build-and-test-beta: uses: './.github/workflows/01-build-and-test-windows.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'windows-latest' toolchain: 'beta' secrets: NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} @@ -33,7 +30,7 @@ jobs: build-and-test-msrv: uses: './.github/workflows/01-build-and-test-windows.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'windows-latest' toolchain: '1.63.0' msrv: true secrets: @@ -43,9 +40,9 @@ jobs: coverage-stable: uses: './.github/workflows/02-coverage.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'windows-latest' lint-all-stable: uses: './.github/workflows/03-lint.yml' with: - os: ${{ env.PCAP_CI_OS }} + os: 'windows-latest' From b46f9dd129b80f0d2a5c6ef2a115046345bf7222 Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Sun, 21 Apr 2024 20:56:37 +0200 Subject: [PATCH 3/8] Simplifications and clarifications --- .github/workflows/00-linux.yml | 32 ++++++++------------------------ .github/workflows/00-macos.yml | 24 +++++++----------------- .github/workflows/00-windows.yml | 30 +++++++----------------------- 3 files changed, 22 insertions(+), 64 deletions(-) diff --git a/.github/workflows/00-linux.yml b/.github/workflows/00-linux.yml index f5f14e07..e4c076b5 100644 --- a/.github/workflows/00-linux.yml +++ b/.github/workflows/00-linux.yml @@ -9,38 +9,22 @@ on: - cron: "0 6 * * *" jobs: - build-and-test-stable: + linux-build-and-test-stable: + strategy: + matrix: + # Nightly check is performed on ubuntu only. + toolchain: [ 'stable', 'beta', '1.63', 'nightly' ] uses: './.github/workflows/01-build-and-test-unix.yml' with: os: 'ubuntu-latest' - toolchain: 'stable' + toolchain: ${{ matrix.toolchain }} - build-and-test-beta: - uses: './.github/workflows/01-build-and-test-unix.yml' - with: - os: 'ubuntu-latest' - toolchain: 'beta' - - build-and-test-msrv: - uses: './.github/workflows/01-build-and-test-unix.yml' - with: - os: 'ubuntu-latest' - toolchain: '1.63.0' - msrv: true - - # Nightly check is performed on ubuntu only. - build-and-test-nightly: - uses: './.github/workflows/01-build-and-test-unix.yml' - with: - os: 'ubuntu-latest' - toolchain: 'nightly' - - coverage-stable: + linux-coverage-stable: uses: './.github/workflows/02-coverage.yml' with: os: 'ubuntu-latest' - lint-stable: + linux-lint-stable: uses: './.github/workflows/03-lint.yml' with: os: 'ubuntu-latest' diff --git a/.github/workflows/00-macos.yml b/.github/workflows/00-macos.yml index 87a9eff4..0414ea7e 100644 --- a/.github/workflows/00-macos.yml +++ b/.github/workflows/00-macos.yml @@ -9,31 +9,21 @@ on: - cron: "0 6 * * *" jobs: - build-and-test-stable: + macos-build-and-test-stable: + strategy: + matrix: + toolchain: [ 'stable', 'beta', '1.63' ] uses: './.github/workflows/01-build-and-test-unix.yml' with: os: 'macos-latest' - toolchain: 'stable' + toolchain: ${{ matrix.toolchain }} - build-and-test-beta: - uses: './.github/workflows/01-build-and-test-unix.yml' - with: - os: 'macos-latest' - toolchain: 'beta' - - build-and-test-msrv: - uses: './.github/workflows/01-build-and-test-unix.yml' - with: - os: 'macos-latest' - toolchain: '1.63.0' - msrv: true - - coverage-stable: + macos-coverage-stable: uses: './.github/workflows/02-coverage.yml' with: os: 'macos-latest' - lint-stable: + macos-lint-stable: uses: './.github/workflows/03-lint.yml' with: os: 'macos-latest' diff --git a/.github/workflows/00-windows.yml b/.github/workflows/00-windows.yml index e6238e05..d5b9760c 100644 --- a/.github/workflows/00-windows.yml +++ b/.github/workflows/00-windows.yml @@ -9,40 +9,24 @@ on: - cron: "0 6 * * *" jobs: - build-and-test-stable: + windows-build-and-test-stable: + strategy: + matrix: + toolchain: [ 'stable', 'beta', '1.63' ] uses: './.github/workflows/01-build-and-test-windows.yml' with: os: 'windows-latest' - toolchain: 'stable' + toolchain: ${{ matrix.toolchain }} secrets: NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }} - build-and-test-beta: - uses: './.github/workflows/01-build-and-test-windows.yml' - with: - os: 'windows-latest' - toolchain: 'beta' - secrets: - NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} - NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }} - - build-and-test-msrv: - uses: './.github/workflows/01-build-and-test-windows.yml' - with: - os: 'windows-latest' - toolchain: '1.63.0' - msrv: true - secrets: - NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} - NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }} - - coverage-stable: + windows-coverage-stable: uses: './.github/workflows/02-coverage.yml' with: os: 'windows-latest' - lint-all-stable: + windows-lint-all-stable: uses: './.github/workflows/03-lint.yml' with: os: 'windows-latest' From f221c082e0775a17a9d7c91319e836246af789fb Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Sun, 21 Apr 2024 20:57:15 +0200 Subject: [PATCH 4/8] Update README --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 444c179b..5190469b 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,9 @@ This is a **Rust language** crate for accessing the packet sniffing capabilities of libpcap (or Npcap on Windows). If you need anything, feel free to post an issue or submit a pull request! -[![CI](https://github.com/rust-pcap/pcap/actions/workflows/00-ci.yml/badge.svg)](https://github.com/rust-pcap/pcap/actions/workflows/00-ci.yml) +[![CI](https://github.com/rust-pcap/pcap/actions/workflows/00-linux.yml/badge.svg)](https://github.com/rust-pcap/pcap/actions/workflows/00-linux.yml) +[![CI](https://github.com/rust-pcap/pcap/actions/workflows/00-macos.yml/badge.svg)](https://github.com/rust-pcap/pcap/actions/workflows/00-macos.yml) +[![CI](https://github.com/rust-pcap/pcap/actions/workflows/00-windows.yml/badge.svg)](https://github.com/rust-pcap/pcap/actions/workflows/00-windows.yml) [![Coverage](https://rust-pcap.github.io/pcap/badges/flat.svg)](https://rust-pcap.github.io/pcap/index.html) [![Crates.io](https://img.shields.io/crates/v/pcap.svg)](https://crates.io/crates/pcap) [![Docs.rs](https://docs.rs/pcap/badge.svg)](https://docs.rs/pcap) From 8a82f930a27909b95718fb790666465f04bd58c3 Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Sun, 21 Apr 2024 20:58:34 +0200 Subject: [PATCH 5/8] Fix --- .github/workflows/00-linux.yml | 2 +- .github/workflows/00-macos.yml | 2 +- .github/workflows/00-windows.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/00-linux.yml b/.github/workflows/00-linux.yml index e4c076b5..9825691e 100644 --- a/.github/workflows/00-linux.yml +++ b/.github/workflows/00-linux.yml @@ -9,7 +9,7 @@ on: - cron: "0 6 * * *" jobs: - linux-build-and-test-stable: + linux-build-and-test: strategy: matrix: # Nightly check is performed on ubuntu only. diff --git a/.github/workflows/00-macos.yml b/.github/workflows/00-macos.yml index 0414ea7e..4bb59722 100644 --- a/.github/workflows/00-macos.yml +++ b/.github/workflows/00-macos.yml @@ -9,7 +9,7 @@ on: - cron: "0 6 * * *" jobs: - macos-build-and-test-stable: + macos-build-and-test: strategy: matrix: toolchain: [ 'stable', 'beta', '1.63' ] diff --git a/.github/workflows/00-windows.yml b/.github/workflows/00-windows.yml index d5b9760c..9f74487d 100644 --- a/.github/workflows/00-windows.yml +++ b/.github/workflows/00-windows.yml @@ -9,7 +9,7 @@ on: - cron: "0 6 * * *" jobs: - windows-build-and-test-stable: + windows-build-and-test: strategy: matrix: toolchain: [ 'stable', 'beta', '1.63' ] From f2d4828ac65f547e8e534907ad76628570a34e57 Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Sun, 21 Apr 2024 21:00:41 +0200 Subject: [PATCH 6/8] Fix --- .github/workflows/00-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/00-windows.yml b/.github/workflows/00-windows.yml index 9f74487d..dccf294c 100644 --- a/.github/workflows/00-windows.yml +++ b/.github/workflows/00-windows.yml @@ -26,7 +26,7 @@ jobs: with: os: 'windows-latest' - windows-lint-all-stable: + windows-lint-stable: uses: './.github/workflows/03-lint.yml' with: os: 'windows-latest' From 2c59fdac3712ef42a2142c3dbd40aa1a35feddcf Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Sun, 21 Apr 2024 21:03:26 +0200 Subject: [PATCH 7/8] Try --- .github/workflows/00-linux.yml | 1 + .github/workflows/00-macos.yml | 1 + .github/workflows/00-windows.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/.github/workflows/00-linux.yml b/.github/workflows/00-linux.yml index 9825691e..04965914 100644 --- a/.github/workflows/00-linux.yml +++ b/.github/workflows/00-linux.yml @@ -18,6 +18,7 @@ jobs: with: os: 'ubuntu-latest' toolchain: ${{ matrix.toolchain }} + msrv: ${{ matrix.toolchain == '1.63' }} linux-coverage-stable: uses: './.github/workflows/02-coverage.yml' diff --git a/.github/workflows/00-macos.yml b/.github/workflows/00-macos.yml index 4bb59722..a75b7e6b 100644 --- a/.github/workflows/00-macos.yml +++ b/.github/workflows/00-macos.yml @@ -17,6 +17,7 @@ jobs: with: os: 'macos-latest' toolchain: ${{ matrix.toolchain }} + msrv: ${{ matrix.toolchain == '1.63' }} macos-coverage-stable: uses: './.github/workflows/02-coverage.yml' diff --git a/.github/workflows/00-windows.yml b/.github/workflows/00-windows.yml index dccf294c..569b0340 100644 --- a/.github/workflows/00-windows.yml +++ b/.github/workflows/00-windows.yml @@ -17,6 +17,7 @@ jobs: with: os: 'windows-latest' toolchain: ${{ matrix.toolchain }} + msrv: ${{ matrix.toolchain == '1.63' }} secrets: NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }} From 541479219803f41bdfaf691edd2e6aec1d0aa21b Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Sun, 21 Apr 2024 21:09:01 +0200 Subject: [PATCH 8/8] Explicit jobs are much clearer --- .github/workflows/00-linux.yml | 29 ++++++++++++++++++++++------- .github/workflows/00-macos.yml | 21 +++++++++++++++------ .github/workflows/00-windows.yml | 27 +++++++++++++++++++++------ 3 files changed, 58 insertions(+), 19 deletions(-) diff --git a/.github/workflows/00-linux.yml b/.github/workflows/00-linux.yml index 04965914..596765dc 100644 --- a/.github/workflows/00-linux.yml +++ b/.github/workflows/00-linux.yml @@ -9,16 +9,31 @@ on: - cron: "0 6 * * *" jobs: - linux-build-and-test: - strategy: - matrix: - # Nightly check is performed on ubuntu only. - toolchain: [ 'stable', 'beta', '1.63', 'nightly' ] + linux-build-and-test-stable: uses: './.github/workflows/01-build-and-test-unix.yml' with: os: 'ubuntu-latest' - toolchain: ${{ matrix.toolchain }} - msrv: ${{ matrix.toolchain == '1.63' }} + toolchain: 'stable' + + linux-build-and-test-beta: + uses: './.github/workflows/01-build-and-test-unix.yml' + with: + os: 'ubuntu-latest' + toolchain: 'beta' + + linux-build-and-test-msrv: + uses: './.github/workflows/01-build-and-test-unix.yml' + with: + os: 'ubuntu-latest' + toolchain: '1.63' + msrv: true + + # Nightly check is performed on ubuntu only. + linux-build-and-test-nightly: + uses: './.github/workflows/01-build-and-test-unix.yml' + with: + os: 'ubuntu-latest' + toolchain: 'nightly' linux-coverage-stable: uses: './.github/workflows/02-coverage.yml' diff --git a/.github/workflows/00-macos.yml b/.github/workflows/00-macos.yml index a75b7e6b..b3f378c1 100644 --- a/.github/workflows/00-macos.yml +++ b/.github/workflows/00-macos.yml @@ -9,15 +9,24 @@ on: - cron: "0 6 * * *" jobs: - macos-build-and-test: - strategy: - matrix: - toolchain: [ 'stable', 'beta', '1.63' ] + macos-build-and-test-stable: uses: './.github/workflows/01-build-and-test-unix.yml' with: os: 'macos-latest' - toolchain: ${{ matrix.toolchain }} - msrv: ${{ matrix.toolchain == '1.63' }} + toolchain: 'stable' + + macos-build-and-test-beta: + uses: './.github/workflows/01-build-and-test-unix.yml' + with: + os: 'macos-latest' + toolchain: 'beta' + + macos-build-and-test-msrv: + uses: './.github/workflows/01-build-and-test-unix.yml' + with: + os: 'macos-latest' + toolchain: '1.63' + msrv: true macos-coverage-stable: uses: './.github/workflows/02-coverage.yml' diff --git a/.github/workflows/00-windows.yml b/.github/workflows/00-windows.yml index 569b0340..8908ccbc 100644 --- a/.github/workflows/00-windows.yml +++ b/.github/workflows/00-windows.yml @@ -9,15 +9,30 @@ on: - cron: "0 6 * * *" jobs: - windows-build-and-test: - strategy: - matrix: - toolchain: [ 'stable', 'beta', '1.63' ] + windows-build-and-test-stable: uses: './.github/workflows/01-build-and-test-windows.yml' with: os: 'windows-latest' - toolchain: ${{ matrix.toolchain }} - msrv: ${{ matrix.toolchain == '1.63' }} + toolchain: 'stable' + secrets: + NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} + NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }} + + windows-build-and-test-beta: + uses: './.github/workflows/01-build-and-test-windows.yml' + with: + os: 'windows-latest' + toolchain: 'beta' + secrets: + NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} + NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }} + + windows-build-and-test-msrv: + uses: './.github/workflows/01-build-and-test-windows.yml' + with: + os: 'windows-latest' + toolchain: '1.63' + msrv: true secrets: NPCAP_OEM_PASSWORD: ${{ secrets.NPCAP_OEM_PASSWORD }} NPCAP_OEM_USERNAME: ${{ secrets.NPCAP_OEM_USERNAME }}