Skip to content

Commit 0a8955d

Browse files
dotnet-maestro[bot]jonathanpeppersCopilot
authored
[main] Update dependencies from dotnet/dotnet, microsoft/testfx (#12267)
- **Dependency Updates**: - From [11.0.0-beta.26365.101 to 11.0.0-beta.26401.101][3] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Feed - From [0.11.5-preview.26365.101 to 0.11.5-preview.26401.101][3] - Microsoft.DotNet.Cecil - From [11.0.0-preview.7.26365.101 to 11.0.0-rc.1.26401.101][3] - Microsoft.NET.ILLink - Microsoft.NETCore.App.Ref - From [11.0.100-preview.7.26365.101 to 11.0.100-rc.1.26401.101][3] - Microsoft.NET.Sdk - Microsoft.TemplateEngine.Authoring.Tasks [3]: dotnet/dotnet@cb8306a...5da2de2 ## Additional changes - Run APK instrumentation through `dotnet test` and set `DOTNET_HOST_PATH` as a workaround pending dotnet/sdk#55581. - Ensure nested MSBuild invocations include bound Java source JARs on the `javac` classpath. - Temporarily skip the Mono APK smoke test due to dotnet/runtime#131760. Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent ea9964c commit 0a8955d

21 files changed

Lines changed: 285 additions & 134 deletions

File tree

build-tools/automation/yaml-templates/apk-instrumentation.yaml

Lines changed: 25 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -11,51 +11,6 @@ parameters:
1111
condition: succeeded()
1212

1313
steps:
14-
# Build and install the APK to the device first, so that ComputeRunArguments
15-
# can resolve the package name from AndroidManifest.xml.
16-
#
17-
# Retry the install up to 3 times: the emulator/ADB connection occasionally
18-
# drops mid-install (XAGCPU7000 "device offline") and a retry usually recovers.
19-
# If every attempt fails, continueOnError: false fails the lane immediately -
20-
# there is no point running the tests against a device where the app was never
21-
# installed (that only wastes CI time and produces a misleading
22-
# INSTRUMENTATION_FAILED). See dotnet/android#11830.
23-
- template: /build-tools/automation/yaml-templates/run-dotnet-preview.yaml
24-
parameters:
25-
configuration: ${{ parameters.buildConfiguration }}
26-
xaSourcePath: ${{ parameters.xaSourcePath }}
27-
displayName: build ${{ parameters.testName }}
28-
project: ${{ parameters.project }}
29-
arguments: >-
30-
-t:Install
31-
-bl:${{ parameters.xaSourcePath }}/bin/Test${{ parameters.configuration }}/build-${{ parameters.testName }}.binlog
32-
-c ${{ parameters.configuration }} ${{ parameters.extraBuildArgs }}
33-
condition: ${{ parameters.condition }}
34-
retryCountOnTaskFailure: 3
35-
continueOnError: false
36-
37-
# If the install above failed, snapshot device state so we can classify WHY on
38-
# the next iteration instead of guessing: connectivity (adb devices/get-state),
39-
# disk pressure (df), storage-service readiness (the StorageStatsManager NPE
40-
# from install-create), boot completion, and how many test apps have piled up.
41-
# Best-effort and time-bounded so it never hangs or fails the lane itself.
42-
- script: |
43-
set +e
44-
echo "===== adb devices -l ====="; adb devices -l
45-
echo "===== adb get-state ====="; adb get-state
46-
echo "===== boot completion ====="; adb shell getprop sys.boot_completed; adb shell getprop dev.bootcomplete
47-
echo "===== df /data ====="; adb shell df /data
48-
echo "===== df /storage/emulated/0 ====="; adb shell df /storage/emulated/0
49-
echo "===== dumpsys diskstats ====="; adb shell dumpsys diskstats
50-
echo "===== storaged (storage stats service) ====="; adb shell dumpsys storaged
51-
echo "===== installed 3rd-party packages ====="; adb shell pm list packages -3
52-
echo "===== end device state ====="
53-
exit 0
54-
displayName: diagnose install failure ${{ parameters.testName }}
55-
condition: failed()
56-
continueOnError: true
57-
timeoutInMinutes: 3
58-
5914
# Run dotnet test from the project directory so it finds the project-local
6015
# global.json with "test": { "runner": "Microsoft.Testing.Platform" }.
6116
# This enables MTP mode, which uses RunCommand/RunArguments to invoke
@@ -74,12 +29,36 @@ steps:
7429
$env:PATH = "${DOTNET_ROOT};$env:PATH"
7530
$dotnetPath = "${DOTNET_ROOT}\dotnet.exe"
7631
}
77-
& $dotnetPath test $projectFile --no-build -bl:${{ parameters.xaSourcePath }}/bin/Test${{ parameters.configuration }}/run-${{ parameters.testName }}.binlog -c ${{ parameters.configuration }} --results-directory $resultsDir --report-trx --report-trx-filename ${{ parameters.testName }}.trx --output Detailed ${{ parameters.extraBuildArgs }}
32+
# Workaround for https://github.com/dotnet/sdk/pull/55581
33+
$env:DOTNET_HOST_PATH = $dotnetPath
34+
& $dotnetPath test $projectFile -bl:${{ parameters.xaSourcePath }}/bin/Test${{ parameters.configuration }}/run-${{ parameters.testName }}.binlog -c ${{ parameters.configuration }} --results-directory $resultsDir --report-trx --report-trx-filename ${{ parameters.testName }}.trx --output Detailed ${{ parameters.extraBuildArgs }}
7835
Pop-Location
7936
displayName: run ${{ parameters.testName }}
8037
condition: ${{ parameters.condition }}
8138
continueOnError: true
8239

40+
# If the install above failed, snapshot device state so we can classify WHY on
41+
# the next iteration instead of guessing: connectivity (adb devices/get-state),
42+
# disk pressure (df), storage-service readiness (the StorageStatsManager NPE
43+
# from install-create), boot completion, and how many test apps have piled up.
44+
# Best-effort and time-bounded so it never hangs or fails the lane itself.
45+
- script: |
46+
set +e
47+
echo "===== adb devices -l ====="; adb devices -l
48+
echo "===== adb get-state ====="; adb get-state
49+
echo "===== boot completion ====="; adb shell getprop sys.boot_completed; adb shell getprop dev.bootcomplete
50+
echo "===== df /data ====="; adb shell df /data
51+
echo "===== df /storage/emulated/0 ====="; adb shell df /storage/emulated/0
52+
echo "===== dumpsys diskstats ====="; adb shell dumpsys diskstats
53+
echo "===== storaged (storage stats service) ====="; adb shell dumpsys storaged
54+
echo "===== installed 3rd-party packages ====="; adb shell pm list packages -3
55+
echo "===== end device state ====="
56+
exit 0
57+
displayName: diagnose install failure ${{ parameters.testName }}
58+
condition: failed()
59+
continueOnError: true
60+
timeoutInMinutes: 3
61+
8362
- script: >
8463
DEST="$(Build.StagingDirectory)/Test${{ parameters.configuration }}/${{ parameters.artifactFolder }}/" &&
8564
mkdir -p "$DEST" &&

build-tools/automation/yaml-templates/stage-package-tests.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,8 @@ stages:
158158
extraBuildArgs: -p:UseMonoRuntime=true -p:_DisableCheckForUnsupportedMonoMobileRuntime=true
159159
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
160160
artifactFolder: $(DotNetTargetFramework)-Mono
161+
# https://github.com/dotnet/runtime/issues/131760
162+
condition: false
161163

162164
- template: /build-tools/automation/yaml-templates/apk-instrumentation.yaml
163165
parameters:

eng/Version.Details.xml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
<Dependencies>
22
<ProductDependencies>
3-
<Dependency Name="Microsoft.NET.Sdk" Version="11.0.100-preview.7.26365.101">
3+
<Dependency Name="Microsoft.NET.Sdk" Version="11.0.100-rc.1.26401.101">
44
<Uri>https://github.com/dotnet/dotnet</Uri>
5-
<Sha>cb8306a63c5cf24e9381108a3a9eb58907fd0f60</Sha>
5+
<Sha>5da2de22f7c6e2ebe7ed4c16c614b00183145d3c</Sha>
66
</Dependency>
7-
<Dependency Name="Microsoft.NET.ILLink" Version="11.0.0-preview.7.26365.101">
7+
<Dependency Name="Microsoft.NET.ILLink" Version="11.0.0-rc.1.26401.101">
88
<Uri>https://github.com/dotnet/dotnet</Uri>
9-
<Sha>cb8306a63c5cf24e9381108a3a9eb58907fd0f60</Sha>
9+
<Sha>5da2de22f7c6e2ebe7ed4c16c614b00183145d3c</Sha>
1010
</Dependency>
11-
<Dependency Name="Microsoft.NETCore.App.Ref" Version="11.0.0-preview.7.26365.101">
11+
<Dependency Name="Microsoft.NETCore.App.Ref" Version="11.0.0-rc.1.26401.101">
1212
<Uri>https://github.com/dotnet/dotnet</Uri>
13-
<Sha>cb8306a63c5cf24e9381108a3a9eb58907fd0f60</Sha>
13+
<Sha>5da2de22f7c6e2ebe7ed4c16c614b00183145d3c</Sha>
1414
</Dependency>
15-
<Dependency Name="Microsoft.DotNet.Cecil" Version="0.11.5-preview.26365.101">
15+
<Dependency Name="Microsoft.DotNet.Cecil" Version="0.11.5-preview.26401.101">
1616
<Uri>https://github.com/dotnet/dotnet</Uri>
17-
<Sha>cb8306a63c5cf24e9381108a3a9eb58907fd0f60</Sha>
17+
<Sha>5da2de22f7c6e2ebe7ed4c16c614b00183145d3c</Sha>
1818
</Dependency>
1919
<Dependency Name="Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest-11.0.100-preview.4" Version="11.0.100-preview.4.26215.121">
2020
<Uri>https://github.com/dotnet/dotnet</Uri>
@@ -36,21 +36,21 @@
3636
</Dependency>
3737
</ProductDependencies>
3838
<ToolsetDependencies>
39-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="11.0.0-beta.26365.101">
39+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="11.0.0-beta.26401.101">
4040
<Uri>https://github.com/dotnet/dotnet</Uri>
41-
<Sha>cb8306a63c5cf24e9381108a3a9eb58907fd0f60</Sha>
41+
<Sha>5da2de22f7c6e2ebe7ed4c16c614b00183145d3c</Sha>
4242
</Dependency>
43-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="11.0.0-beta.26365.101">
43+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="11.0.0-beta.26401.101">
4444
<Uri>https://github.com/dotnet/dotnet</Uri>
45-
<Sha>cb8306a63c5cf24e9381108a3a9eb58907fd0f60</Sha>
45+
<Sha>5da2de22f7c6e2ebe7ed4c16c614b00183145d3c</Sha>
4646
</Dependency>
47-
<Dependency Name="Microsoft.TemplateEngine.Authoring.Tasks" Version="11.0.100-preview.7.26365.101">
47+
<Dependency Name="Microsoft.TemplateEngine.Authoring.Tasks" Version="11.0.100-rc.1.26401.101">
4848
<Uri>https://github.com/dotnet/dotnet</Uri>
49-
<Sha>cb8306a63c5cf24e9381108a3a9eb58907fd0f60</Sha>
49+
<Sha>5da2de22f7c6e2ebe7ed4c16c614b00183145d3c</Sha>
5050
</Dependency>
51-
<Dependency Name="MSTest" Version="4.4.0-preview.26376.8">
51+
<Dependency Name="MSTest" Version="4.4.0-preview.26402.3">
5252
<Uri>https://github.com/microsoft/testfx</Uri>
53-
<Sha>20bae7233d7d0036ec6e20f52933e7d8418b22f8</Sha>
53+
<Sha>e492730d840fc5864eff04230dd993041cf6189a</Sha>
5454
</Dependency>
5555
</ToolsetDependencies>
5656
</Dependencies>

eng/Versions.props

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
<Project>
22
<!--Package versions-->
33
<PropertyGroup>
4-
<MicrosoftNETSdkPackageVersion>11.0.100-preview.7.26365.101</MicrosoftNETSdkPackageVersion>
4+
<MicrosoftNETSdkPackageVersion>11.0.100-rc.1.26401.101</MicrosoftNETSdkPackageVersion>
55
<MicrosoftDotnetSdkInternalPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetSdkInternalPackageVersion>
6-
<MicrosoftNETILLinkPackageVersion>11.0.0-preview.7.26365.101</MicrosoftNETILLinkPackageVersion>
7-
<MicrosoftNETCoreAppRefPackageVersion>11.0.0-preview.7.26365.101</MicrosoftNETCoreAppRefPackageVersion>
6+
<MicrosoftNETILLinkPackageVersion>11.0.0-rc.1.26401.101</MicrosoftNETILLinkPackageVersion>
7+
<MicrosoftNETCoreAppRefPackageVersion>11.0.0-rc.1.26401.101</MicrosoftNETCoreAppRefPackageVersion>
88
<MicrosoftDotNetApiCompatPackageVersion>7.0.0-beta.22103.1</MicrosoftDotNetApiCompatPackageVersion>
99
<!-- Last version built for net10.0, needed for CI steps that only have the .NET 10 SDK installed (e.g., BAR manifest publishing) -->
1010
<MicrosoftDotNetBuildTasksFeedPackageVersionNet10>11.0.0-beta.26060.102</MicrosoftDotNetBuildTasksFeedPackageVersionNet10>
11-
<MicrosoftDotNetBuildTasksFeedPackageVersion>11.0.0-beta.26365.101</MicrosoftDotNetBuildTasksFeedPackageVersion>
11+
<MicrosoftDotNetBuildTasksFeedPackageVersion>11.0.0-beta.26401.101</MicrosoftDotNetBuildTasksFeedPackageVersion>
1212
<MicrosoftNETWorkloadMonoToolchainCurrentManifest110100preview4PackageVersion>11.0.100-preview.4.26215.121</MicrosoftNETWorkloadMonoToolchainCurrentManifest110100preview4PackageVersion>
1313
<MicrosoftNETWorkloadEmscriptenCurrentManifest110100preview4PackageVersion>11.0.100-preview.4.26215.121</MicrosoftNETWorkloadEmscriptenCurrentManifest110100preview4PackageVersion>
1414
<MicrosoftNETWorkloadMonoToolChainPackageVersion>$(MicrosoftNETWorkloadMonoToolChainCurrentManifest110100preview4PackageVersion)</MicrosoftNETWorkloadMonoToolChainPackageVersion>
1515
<MicrosoftNETWorkloadEmscriptenPackageVersion>$(MicrosoftNETWorkloadEmscriptenCurrentManifest110100preview4PackageVersion)</MicrosoftNETWorkloadEmscriptenPackageVersion>
16-
<MicrosoftTemplateEngineAuthoringTasksPackageVersion>11.0.100-preview.7.26365.101</MicrosoftTemplateEngineAuthoringTasksPackageVersion>
17-
<MicrosoftDotNetCecilPackageVersion>0.11.5-preview.26365.101</MicrosoftDotNetCecilPackageVersion>
18-
<MSTestPackageVersion>4.4.0-preview.26376.8</MSTestPackageVersion>
16+
<MicrosoftTemplateEngineAuthoringTasksPackageVersion>11.0.100-rc.1.26401.101</MicrosoftTemplateEngineAuthoringTasksPackageVersion>
17+
<MicrosoftDotNetCecilPackageVersion>0.11.5-preview.26401.101</MicrosoftDotNetCecilPackageVersion>
18+
<MSTestPackageVersion>4.4.0-preview.26402.3</MSTestPackageVersion>
1919
<SystemIOHashingPackageVersion>10.0.10</SystemIOHashingPackageVersion>
2020
<SystemReflectionMetadataPackageVersion>11.0.0-preview.1.26104.118</SystemReflectionMetadataPackageVersion>
2121
<!-- Previous .NET Android version -->

eng/common/build.ps1

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Param(
2323
[switch] $clean,
2424
[switch][Alias('pb')]$productBuild,
2525
[switch]$fromVMR,
26+
[switch]$disablePipelineSetResult,
2627
[switch][Alias('bl')]$binaryLog,
2728
[string][Alias('bln')]$binaryLogName = '',
2829
[switch][Alias('nobl')]$excludeCIBinarylog,
@@ -80,6 +81,7 @@ function Print-Usage() {
8081
Write-Host " -nodeReuse <value> Sets nodereuse msbuild parameter ('true' or 'false')"
8182
Write-Host " -buildCheck Sets /check msbuild parameter"
8283
Write-Host " -fromVMR Set when building from within the VMR"
84+
Write-Host " -disablePipelineSetResult Set to disable masking the actual exit code in the pipeline when the build fails"
8385
Write-Host ""
8486

8587
Write-Host "Command line arguments not listed above are passed thru to msbuild."

eng/common/build.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,14 @@ usage()
4040
echo " --projects <value> Project or solution file(s) to build"
4141
echo " --ci Set when running on CI server"
4242
echo " --excludeCIBinarylog Don't output binary log (short: -nobl)"
43+
echo " --pipelinesLog Promote msbuild errors/warnings to Azure Pipelines timeline issues; defaults to on in CI (short: -pl)"
4344
echo " --prepareMachine Prepare machine for CI run, clean up processes after build"
4445
echo " --nodeReuse <value> Sets nodereuse msbuild parameter ('true' or 'false')"
4546
echo " --warnAsError <value> Sets warnaserror msbuild parameter ('true' or 'false')"
4647
echo " --warnNotAsError <value> Sets a semi-colon delimited list of warning codes that should not be treated as errors"
4748
echo " --buildCheck <value> Sets /check msbuild parameter"
4849
echo " --fromVMR Set when building from within the VMR"
50+
echo " --disablePipelineSetResult Set to disable masking the actual exit code in the pipeline when the build fails"
4951
echo ""
5052
echo "Command line arguments not listed above are passed thru to msbuild."
5153
echo "Arguments can also be passed in with a single hyphen."
@@ -68,6 +70,7 @@ build=false
6870
source_build=false
6971
product_build=false
7072
from_vmr=false
73+
disable_pipeline_set_result=false
7174
rebuild=false
7275
test=false
7376
integration_test=false
@@ -86,6 +89,7 @@ build_check=false
8689
binary_log=false
8790
binary_log_name=''
8891
exclude_ci_binary_log=false
92+
pipelines_log=false
8993

9094
projects=''
9195
configuration=''
@@ -124,6 +128,9 @@ while [[ $# -gt 0 ]]; do
124128
-excludecibinarylog|-nobl)
125129
exclude_ci_binary_log=true
126130
;;
131+
-pipelineslog|-pl)
132+
pipelines_log=true
133+
;;
127134
-restore|-r)
128135
restore=true
129136
;;
@@ -152,6 +159,9 @@ while [[ $# -gt 0 ]]; do
152159
-fromvmr|-from-vmr)
153160
from_vmr=true
154161
;;
162+
-disablepipelinesetresult|-disable-pipeline-set-result)
163+
disable_pipeline_set_result=true
164+
;;
155165
-test|-t)
156166
test=true
157167
;;
@@ -213,6 +223,7 @@ if [[ -z "$configuration" ]]; then
213223
fi
214224

215225
if [[ "$ci" == true ]]; then
226+
pipelines_log=true
216227
# Disable node reuse on CI unless explicitly opted in via MSBUILD_NODEREUSE_ENABLED.
217228
# Internal testing only; this env var will be replaced with a switch (https://github.com/dotnet/arcade/issues/17013) and must not be depended on.
218229
if [[ "${MSBUILD_NODEREUSE_ENABLED:-}" != "1" ]]; then

eng/common/core-templates/job/helix-job-monitor.yml

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,14 @@ parameters:
6565
type: boolean
6666
default: true
6767

68+
# When true, test results are reported to Azure DevOps using the fully qualified test name
69+
# (Namespace.Type.Method) as the stable automatedTestName and the visible title is qualified as
70+
# well (--use-fully-qualified-test-name). Opt-in because it changes AzDO test identity and display;
71+
# primarily useful for frameworks like MSTest whose display name is only the method name.
72+
- name: useFullyQualifiedTestName
73+
type: boolean
74+
default: false
75+
6876
# Advanced: optional pipeline artifact (produced earlier in this run) that contains the tool
6977
# nupkg. When set, the artifact is downloaded and the tool is installed from the nupkg into
7078
# a local tool-path; this bypasses the repo's .config/dotnet-tools.json manifest and is
@@ -96,9 +104,11 @@ jobs:
96104
pool:
97105
${{ if eq(variables['System.TeamProject'], 'public') }}:
98106
name: $(DncEngPublicBuildPool)
107+
os: linux
99108
demands: ImageOverride -equals build.azurelinux.3.amd64.open
100109
${{ else }}:
101110
name: $(DncEngInternalBuildPool)
111+
os: linux
102112
demands: ImageOverride -equals build.azurelinux.3.amd64
103113
steps:
104114
- checkout: self
@@ -176,24 +186,32 @@ jobs:
176186
set -euo pipefail
177187
178188
toolArgs=(
179-
--helix-base-uri '${{ parameters.helixBaseUri }}'
180-
--polling-interval-seconds '${{ parameters.pollingIntervalSeconds }}'
181-
--fail-on-failed-tests '${{ parameters.failWorkItemsWithFailedTests }}'
182-
--max-wait-minutes "$((${{ parameters.timeoutInMinutes }} - 5))" # Set the tool's timeout slightly lower than the Azure DevOps job timeout to allow it to exit gracefully.
183-
--stage-name '$(System.StageName)'
189+
--helix-base-uri '${{ parameters.helixBaseUri }}'
190+
--polling-interval-seconds '${{ parameters.pollingIntervalSeconds }}'
191+
--fail-on-failed-tests '${{ parameters.failWorkItemsWithFailedTests }}'
192+
--use-fully-qualified-test-name '${{ parameters.useFullyQualifiedTestName }}'
193+
--max-wait-minutes "$((${{ parameters.timeoutInMinutes }} - 5))" # Set the tool's timeout slightly lower than the Azure DevOps job timeout to allow it to exit gracefully.
194+
--stage-name '$(System.StageName)'
195+
--stage-attempt '$(System.StageAttempt)'
184196
)
185197
186198
organization='${{ parameters.organization }}'
187199
repository='${{ parameters.repository }}'
188200
189201
# Fall back to Azure DevOps-provided environment variables when the caller did not
190202
# supply organization / repository explicitly. BUILD_REPOSITORY_NAME is typically
191-
# 'owner/repo' for GitHub-backed builds.
203+
# 'owner/repo' for GitHub-backed builds and 'owner-repo' for internal builds.
192204
if [ -z "$organization" ] || [ -z "$repository" ]; then
193205
buildRepoName="${BUILD_REPOSITORY_NAME:-}"
194206
if [ -n "$buildRepoName" ] && [[ "$buildRepoName" == */* ]]; then
195207
repoOwner="${buildRepoName%%/*}"
196208
repoName="${buildRepoName#*/}"
209+
elif [ -n "$buildRepoName" ] && [[ "$buildRepoName" == *-* ]]; then
210+
repoOwner="${buildRepoName%%-*}"
211+
repoName="${buildRepoName#*-}"
212+
fi
213+
214+
if [ -n "${repoOwner:-}" ] && [ -n "${repoName:-}" ]; then
197215
if [ -z "$organization" ]; then organization="$repoOwner"; fi
198216
if [ -z "$repository" ]; then repository="$repoName"; fi
199217
fi

0 commit comments

Comments
 (0)