@@ -139,51 +139,70 @@ Function Test-Environment {
139
139
[Alias (' RequiredMessage' , ' RequireMessage' )][String ]$MandatoryMessage = ' This process requires to invoke inside the GitHub Actions environment!' ,
140
140
[Switch ]$StepSummary # Deprecated, keep as legacy.
141
141
)
142
- If (
143
- ($Env: CI -ine ' true' ) -or
144
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_ACTION ) -or
145
- ($Env: GITHUB_ACTIONS -ine ' true' ) -or
146
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_ACTOR ) -or
147
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_ACTOR_ID ) -or
148
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_API_URL ) -or
149
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_ENV ) -or
150
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_EVENT_NAME ) -or
151
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_EVENT_PATH ) -or
152
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_GRAPHQL_URL ) -or
153
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_JOB ) -or
154
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_PATH ) -or
155
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_REF_NAME ) -or
156
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_REF_PROTECTED ) -or
157
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_REF_TYPE ) -or
158
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_REPOSITORY ) -or
159
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_REPOSITORY_ID ) -or
160
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_REPOSITORY_OWNER ) -or
161
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_REPOSITORY_OWNER_ID ) -or
162
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_RETENTION_DAYS ) -or
163
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_RUN_ATTEMPT ) -or
164
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_RUN_ID ) -or
165
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_RUN_NUMBER ) -or
166
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_SERVER_URL ) -or
167
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_SHA ) -or
168
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_STEP_SUMMARY ) -or
169
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_WORKFLOW ) -or
170
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_WORKFLOW_REF ) -or
171
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_WORKFLOW_SHA ) -or
172
- [String ]::IsNullOrWhiteSpace($Env: GITHUB_WORKSPACE ) -or
173
- [String ]::IsNullOrWhiteSpace($Env: RUNNER_ARCH ) -or
174
- [String ]::IsNullOrWhiteSpace($Env: RUNNER_NAME ) -or
175
- [String ]::IsNullOrWhiteSpace($Env: RUNNER_OS ) -or
176
- [String ]::IsNullOrWhiteSpace($Env: RUNNER_TEMP ) -or
177
- [String ]::IsNullOrWhiteSpace($Env: RUNNER_TOOL_CACHE ) -or
178
- ((
179
- $Artifact.IsPresent -or
180
- $Cache.IsPresent
181
- ) -and [String ]::IsNullOrWhiteSpace($Env: ACTIONS_RUNTIME_TOKEN )) -or
182
- ($Artifact.IsPresent -and [String ]::IsNullOrWhiteSpace($Env: ACTIONS_RUNTIME_URL )) -or
183
- ($Cache.IsPresent -and [String ]::IsNullOrWhiteSpace($Env: ACTIONS_CACHE_URL )) -or
184
- ($OpenIdConnect.IsPresent -and [String ]::IsNullOrWhiteSpace($Env: ACTIONS_ID_TOKEN_REQUEST_TOKEN )) -or
185
- ($OpenIdConnect.IsPresent -and [String ]::IsNullOrWhiteSpace($Env: ACTIONS_ID_TOKEN_REQUEST_URL ))
186
- ) {
142
+ [Hashtable []]$Conditions = @ (
143
+ @ { NeedTest = $True ; Name = ' CI' ; ExpectedValue = ' true' },
144
+ @ { NeedTest = $True ; Name = ' GITHUB_ACTION' ; },
145
+ @ { NeedTest = $True ; Name = ' GITHUB_ACTIONS' ; ExpectedValue = ' true' },
146
+ @ { NeedTest = $True ; Name = ' GITHUB_ACTOR' ; },
147
+ @ { NeedTest = $True ; Name = ' GITHUB_ACTOR_ID' ; },
148
+ @ { NeedTest = $True ; Name = ' GITHUB_API_URL' ; },
149
+ @ { NeedTest = $True ; Name = ' GITHUB_ENV' ; },
150
+ @ { NeedTest = $True ; Name = ' GITHUB_EVENT_NAME' ; },
151
+ @ { NeedTest = $True ; Name = ' GITHUB_EVENT_PATH' ; },
152
+ @ { NeedTest = $True ; Name = ' GITHUB_GRAPHQL_URL' ; },
153
+ @ { NeedTest = $True ; Name = ' GITHUB_JOB' ; },
154
+ @ { NeedTest = $True ; Name = ' GITHUB_PATH' ; },
155
+ @ { NeedTest = $True ; Name = ' GITHUB_REF_NAME' ; },
156
+ @ { NeedTest = $True ; Name = ' GITHUB_REF_PROTECTED' ; },
157
+ @ { NeedTest = $True ; Name = ' GITHUB_REF_TYPE' ; },
158
+ @ { NeedTest = $True ; Name = ' GITHUB_REPOSITORY' ; },
159
+ @ { NeedTest = $True ; Name = ' GITHUB_REPOSITORY_ID' ; },
160
+ @ { NeedTest = $True ; Name = ' GITHUB_REPOSITORY_OWNER' ; },
161
+ @ { NeedTest = $True ; Name = ' GITHUB_REPOSITORY_OWNER_ID' ; },
162
+ @ { NeedTest = $True ; Name = ' GITHUB_RETENTION_DAYS' ; },
163
+ @ { NeedTest = $True ; Name = ' GITHUB_RUN_ATTEMPT' ; },
164
+ @ { NeedTest = $True ; Name = ' GITHUB_RUN_ID' ; },
165
+ @ { NeedTest = $True ; Name = ' GITHUB_RUN_NUMBER' ; },
166
+ @ { NeedTest = $True ; Name = ' GITHUB_SERVER_URL' ; },
167
+ @ { NeedTest = $True ; Name = ' GITHUB_SHA' ; },
168
+ @ { NeedTest = $True ; Name = ' GITHUB_STEP_SUMMARY' ; },
169
+ @ { NeedTest = $True ; Name = ' GITHUB_WORKFLOW' ; },
170
+ @ { NeedTest = $True ; Name = ' GITHUB_WORKFLOW_REF' ; },
171
+ @ { NeedTest = $True ; Name = ' GITHUB_WORKFLOW_SHA' ; },
172
+ @ { NeedTest = $True ; Name = ' GITHUB_WORKSPACE' ; },
173
+ @ { NeedTest = $True ; Name = ' RUNNER_ARCH' ; },
174
+ @ { NeedTest = $True ; Name = ' RUNNER_NAME' ; },
175
+ @ { NeedTest = $True ; Name = ' RUNNER_OS' ; },
176
+ @ { NeedTest = $True ; Name = ' RUNNER_TEMP' ; },
177
+ @ { NeedTest = $True ; Name = ' RUNNER_TOOL_CACHE' ; },
178
+ @ { NeedTest = $Artifact.IsPresent -or $Cache.IsPresent ; Name = ' ACTIONS_RUNTIME_TOKEN' ; },
179
+ @ { NeedTest = $Artifact.IsPresent ; Name = ' ACTIONS_RUNTIME_URL' ; },
180
+ @ { NeedTest = $Cache.IsPresent ; Name = ' ACTIONS_CACHE_URL' ; },
181
+ @ { NeedTest = $OpenIdConnect.IsPresent ; Name = ' ACTIONS_ID_TOKEN_REQUEST_TOKEN' ; },
182
+ @ { NeedTest = $OpenIdConnect.IsPresent ; Name = ' ACTIONS_ID_TOKEN_REQUEST_URL' ; }
183
+ )
184
+ [Boolean ]$Failed = $False
185
+ ForEach ($Condition In $Conditions ) {
186
+ If ($Condition.NeedTest ) {
187
+ Try {
188
+ If ($Null -ieq $Condition.ExpectedValue ) {
189
+ If ([String ]::IsNullOrEmpty((Get-Content - LiteralPath " Env:\$ ( $Condition.Name ) " - ErrorAction ' SilentlyContinue' ))) {
190
+ Throw
191
+ }
192
+ }
193
+ Else {
194
+ If ((Get-Content - LiteralPath " Env:\$ ( $Condition.Name ) " - ErrorAction ' SilentlyContinue' ) -ine $Condition.ExpectedValue ) {
195
+ Throw
196
+ }
197
+ }
198
+ }
199
+ Catch {
200
+ $Failed = $True
201
+ Write-Warning - Message " Unable to get the GitHub Actions resources: Environment path `` $ ( $Condition.Name ) `` is undefined or not equal to expected value!"
202
+ }
203
+ }
204
+ }
205
+ If ($Failed ) {
187
206
If ($Mandatory.IsPresent ) {
188
207
Write-GitHubActionsFail - Message $MandatoryMessage
189
208
Throw
0 commit comments