Skip to content

Commit f8ba27b

Browse files
committed
Replace windows_only with a general skip_platforms input in publish_nuget.yml
Allows skipping any subset of linux-arm64/macos/wasm/manylinux artifacts and their validation checks, so a release can go out while one platform's build is still in flight (e.g. publish everything once macOS is the only pending build).
1 parent ef6b14c commit f8ba27b

1 file changed

Lines changed: 44 additions & 7 deletions

File tree

.github/workflows/publish_nuget.yml

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ on:
77
description: "Publish with the -beta suffix kept (pre-release)"
88
type: boolean
99
default: false
10+
skip_platforms:
11+
description: "Comma-separated platforms to skip (linux-arm64, macos, wasm, manylinux)"
12+
type: string
13+
default: ""
1014

1115
jobs:
1216
Prepare:
@@ -32,6 +36,7 @@ jobs:
3236
branch: ${{ github.ref_name }}
3337

3438
- name: Download ubuntu arm64 artifact
39+
if: ${{ !contains(inputs.skip_platforms, 'linux-arm64') }}
3540
uses: dawidd6/action-download-artifact@v21
3641
with:
3742
github_token: ${{secrets.GITHUB_TOKEN}}
@@ -40,6 +45,7 @@ jobs:
4045
branch: ${{ github.ref_name }}
4146

4247
- name: Download macos artifact
48+
if: ${{ !contains(inputs.skip_platforms, 'macos') }}
4349
uses: dawidd6/action-download-artifact@v21
4450
with:
4551
github_token: ${{secrets.GITHUB_TOKEN}}
@@ -48,6 +54,7 @@ jobs:
4854
branch: ${{ github.ref_name }}
4955

5056
- name: Download wasm artifact
57+
if: ${{ !contains(inputs.skip_platforms, 'wasm') }}
5158
uses: dawidd6/action-download-artifact@v21
5259
with:
5360
github_token: ${{secrets.GITHUB_TOKEN}}
@@ -56,6 +63,7 @@ jobs:
5663
branch: ${{ github.ref_name }}
5764

5865
- name: Download manylinux artifact
66+
if: ${{ !contains(inputs.skip_platforms, 'manylinux') }}
5967
uses: dawidd6/action-download-artifact@v21
6068
with:
6169
github_token: ${{secrets.GITHUB_TOKEN}}
@@ -67,6 +75,8 @@ jobs:
6775
ls -l
6876
6977
- name: Validate expected packages exist
78+
env:
79+
SKIP_PLATFORMS: ${{ inputs.skip_platforms }}
7080
run: |
7181
set -euo pipefail
7282
@@ -83,6 +93,13 @@ jobs:
8393
fi
8494
}
8595
96+
skip_has() {
97+
case ",${SKIP_PLATFORMS}," in
98+
*",$1,"*) return 0 ;;
99+
*) return 1 ;;
100+
esac
101+
}
102+
86103
check_package "OpenCvSharp5.5.*.nupkg"
87104
check_package "OpenCvSharp5.Extensions.*.nupkg"
88105
check_package "OpenCvSharp5.WpfExtensions.*.nupkg"
@@ -92,13 +109,33 @@ jobs:
92109
check_package "OpenCvSharp5.runtime.win.slim.*.nupkg"
93110
check_package "OpenCvSharp5.Windows.[0-9]*.nupkg"
94111
check_package "OpenCvSharp5.Windows.Slim.*.nupkg"
95-
check_package "OpenCvSharp5.runtime.linux-arm.*.nupkg"
96-
check_package "OpenCvSharp5.runtime.linux-arm64.*.nupkg"
97-
check_package "OpenCvSharp5.runtime.wasm.*.nupkg"
98-
check_package "OpenCvSharp5.official.runtime.linux-x64.[0-9]*.nupkg"
99-
check_package "OpenCvSharp5.official.runtime.linux-x64.slim.*.nupkg"
100-
check_package "OpenCvSharp5.runtime.osx.x64.*.nupkg"
101-
check_package "OpenCvSharp5.runtime.osx.arm64.*.nupkg"
112+
113+
if skip_has linux-arm64; then
114+
echo "skip_platforms: skipping linux-arm64 package checks"
115+
else
116+
check_package "OpenCvSharp5.runtime.linux-arm.*.nupkg"
117+
check_package "OpenCvSharp5.runtime.linux-arm64.*.nupkg"
118+
fi
119+
120+
if skip_has wasm; then
121+
echo "skip_platforms: skipping wasm package checks"
122+
else
123+
check_package "OpenCvSharp5.runtime.wasm.*.nupkg"
124+
fi
125+
126+
if skip_has manylinux; then
127+
echo "skip_platforms: skipping manylinux package checks"
128+
else
129+
check_package "OpenCvSharp5.official.runtime.linux-x64.[0-9]*.nupkg"
130+
check_package "OpenCvSharp5.official.runtime.linux-x64.slim.*.nupkg"
131+
fi
132+
133+
if skip_has macos; then
134+
echo "skip_platforms: skipping macos package checks"
135+
else
136+
check_package "OpenCvSharp5.runtime.osx.x64.*.nupkg"
137+
check_package "OpenCvSharp5.runtime.osx.arm64.*.nupkg"
138+
fi
102139
103140
if [ "$failed" -gt 0 ]; then
104141
echo ""

0 commit comments

Comments
 (0)