1+ name : RocketModFix.Unturned.Redist.Matrix
2+
3+ on :
4+ # push:
5+ # branches: [ master ]
6+ # paths:
7+ # - 'redist/redist-*/**'
8+ workflow_dispatch :
9+ inputs :
10+ variant :
11+ description : ' Which variant to update'
12+ required : true
13+ type : choice
14+ options :
15+ - all
16+ - Client
17+ - Client-Preview
18+ - Client-Preview-Old
19+ - Client-Preview-Publicized
20+ - Client-Publicized
21+ - Server
22+ - Server-Preview
23+ - Server-Preview-Old
24+ - Server-Preview-Publicized
25+ - Server-Publicized
26+
27+ jobs :
28+ build :
29+ name : " Build ${{ matrix.variant }}"
30+ runs-on : ubuntu-22.04
31+
32+ strategy :
33+ matrix :
34+ include :
35+ # Client variants
36+ - variant : " Client"
37+ nuspec_path : " redist/redist-client/RocketModFix.Unturned.Redist.Client.nuspec"
38+ trigger_path : " redist/redist-client/**"
39+ workflow_trigger : " Update Unturned Redist for Client"
40+ - variant : " Client-Preview"
41+ nuspec_path : " redist/redist-client-preview/RocketModFix.Unturned.Redist.Client.nuspec"
42+ trigger_path : " redist/redist-client-preview/**"
43+ workflow_trigger : " Update Unturned Redist for Client Preview"
44+ - variant : " Client-Preview-Old"
45+ nuspec_path : " redist/redist-client-preview-old/RocketModFix.Unturned.Redist.Client.nuspec"
46+ trigger_path : " redist/redist-client-preview-old/**"
47+ workflow_trigger : " Update Unturned Redist for Client Preview Old"
48+ - variant : " Client-Preview-Publicized"
49+ nuspec_path : " redist/redist-client-preview-publicized/RocketModFix.Unturned.Redist.Client.nuspec"
50+ trigger_path : " redist/redist-client-preview-publicized/**"
51+ workflow_trigger : " Update Unturned Redist for Client Preview"
52+ - variant : " Client-Publicized"
53+ nuspec_path : " redist/redist-client-publicized/RocketModFix.Unturned.Redist.Client.nuspec"
54+ trigger_path : " redist/redist-client-publicized/**"
55+ workflow_trigger : " Update Unturned Redist for Client Publicized"
56+
57+ # Server variants
58+ - variant : " Server"
59+ nuspec_path : " redist/redist-server/RocketModFix.Unturned.Redist.Server.nuspec"
60+ trigger_path : " redist/redist-server/**"
61+ workflow_trigger : " Update Unturned Redist for Server"
62+ - variant : " Server-Preview"
63+ nuspec_path : " redist/redist-server-preview/RocketModFix.Unturned.Redist.Server.nuspec"
64+ trigger_path : " redist/redist-server-preview/**"
65+ workflow_trigger : " Update Unturned Redist for Server Preview"
66+ - variant : " Server-Preview-Old"
67+ nuspec_path : " redist/redist-server-preview-old/RocketModFix.Unturned.Redist.Server.nuspec"
68+ trigger_path : " redist/redist-server-preview-old/**"
69+ workflow_trigger : " Update Unturned Redist for Server Preview Old"
70+ - variant : " Server-Preview-Publicized"
71+ nuspec_path : " redist/redist-server-preview-publicized/RocketModFix.Unturned.Redist.Server.nuspec"
72+ trigger_path : " redist/redist-server-preview-publicized/**"
73+ workflow_trigger : " Update Unturned Redist for Server Preview"
74+ - variant : " Server-Publicized"
75+ nuspec_path : " redist/redist-server-publicized/RocketModFix.Unturned.Redist.Server.nuspec"
76+ trigger_path : " redist/redist-server-publicized/**"
77+ workflow_trigger : " Update Unturned Redist for Server Publicized"
78+
79+ # Only run if this is a workflow_dispatch with a specific variant or "all", or if the path matches
80+ if : |
81+ github.event_name == 'workflow_dispatch' &&
82+ (github.event.inputs.variant == 'all' || github.event.inputs.variant == matrix.variant) ||
83+ github.event_name == 'push' && contains(toJSON(github.event.commits[0].modified), matrix.trigger_path) ||
84+ github.event_name == 'workflow_run' && github.event.workflow_run.name == matrix.workflow_trigger
85+
86+ steps :
87+ - name : Checkout code
88+ uses : actions/checkout@v4
89+
90+ - uses : nuget/setup-nuget@v2
91+ name : Setup NuGet
92+ with :
93+ nuget-api-key : ${{ secrets.NUGET_DEPLOY_KEY }}
94+
95+ - uses : ./.github/actions/nuget-pack
96+ id : nuget-pack
97+ with :
98+ nuspec_path : ${{ matrix.nuspec_path }}
99+ nuget_key : ${{ secrets.NUGET_DEPLOY_KEY }}
100+ nuget_push : true
0 commit comments