diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index 82dd2a1e7..01282a7a8 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -1,6 +1,6 @@
{
"name": "C# (.NET Core)",
- "image": "mcr.microsoft.com/vscode/devcontainers/dotnetcore:3.1",
+ "image": "mcr.microsoft.com/vscode/devcontainers/dotnet:5.0",
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
},
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3b4c7e844..92274d25c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -17,8 +17,18 @@ jobs:
uses: actions/checkout@v2
with:
fetch-depth: 0
+ - name: Setup .NET Core 2.1
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: "2.1.x"
+ - name: Setup .NET Core 3.1
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: "3.1.x"
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v1
- name: Run tests
- run: dotnet test --collect:"XPlat Code Coverage"
+ run: dotnet test --collect:"XPlat Code Coverage" --logger "GitHubActions"
- name: Upload coverage
uses: actions/upload-artifact@v2
with:
@@ -31,6 +41,8 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@v2
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v1
- uses: actions/download-artifact@v2
with:
name: Code coverage ubuntu-latest
@@ -64,6 +76,8 @@ jobs:
uses: actions/checkout@v2
with:
fetch-depth: 0
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v1
- name: Create packages
run: dotnet pack --configuration Release --output ./packages
- name: Upload a Build Artifact
@@ -81,6 +95,8 @@ jobs:
uses: actions/checkout@v2
with:
fetch-depth: 0
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v1
- uses: actions/download-artifact@v2
with:
name: NuGet packages
diff --git a/Directory.Build.props b/Directory.Build.props
index 27b7e146a..c1f77ebed 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -7,8 +7,11 @@
$(MSBuildThisFileDirectory)StrongName.snk
true
snupkg
- 8.0
- $(DefineConstants);FEATURE_ASYNC_FILE;FEATURE_ENUMERATION_OPTIONS;FEATURE_ADVANCED_PATH_OPERATIONS
+ 9.0
+ testing
+ https://github.com/System-IO-Abstractions/System.IO.Abstractions
+ MIT
+ $(DefineConstants);FEATURE_ASYNC_FILE;FEATURE_ENUMERATION_OPTIONS;FEATURE_ADVANCED_PATH_OPERATIONSFEATURE_PATH_JOIN_WITH_SPAN
diff --git a/benchmarks/System.IO.Abstractions.Benchmarks/System.IO.Abstractions.Benchmarks.csproj b/benchmarks/System.IO.Abstractions.Benchmarks/System.IO.Abstractions.Benchmarks.csproj
index 6874eb189..6cb94912f 100644
--- a/benchmarks/System.IO.Abstractions.Benchmarks/System.IO.Abstractions.Benchmarks.csproj
+++ b/benchmarks/System.IO.Abstractions.Benchmarks/System.IO.Abstractions.Benchmarks.csproj
@@ -3,7 +3,7 @@
System.IO.Abstractions.Benchmarks
System.IO.Abstractions.Benchmarks
Bencharmks comparisons.
- netcoreapp3.1;net461
+ net5.0;netcoreapp3.1;net461
https://github.com/System-IO-Abstractions/System.IO.Abstractions
MIT
testing
diff --git a/global.json b/global.json
index 3acb9fdbd..a46dc9b06 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "3.1.300",
- "rollForward": "latestMinor"
+ "version": "5.0.100",
+ "rollForward": "latestFeature"
}
}
diff --git a/src/System.IO.Abstractions.TestingHelpers/MockFile.cs b/src/System.IO.Abstractions.TestingHelpers/MockFile.cs
index 507a9a636..3714dcb6e 100644
--- a/src/System.IO.Abstractions.TestingHelpers/MockFile.cs
+++ b/src/System.IO.Abstractions.TestingHelpers/MockFile.cs
@@ -20,20 +20,14 @@ public MockFile(IMockFileDataAccessor mockFileDataAccessor) : base(mockFileDataA
public override void AppendAllLines(string path, IEnumerable contents)
{
- mockFileDataAccessor.PathVerifier.IsLegalAbsoluteOrRelative(path, "path");
- VerifyValueIsNotNull(contents, "contents");
-
AppendAllLines(path, contents, MockFileData.DefaultEncoding);
}
public override void AppendAllLines(string path, IEnumerable contents, Encoding encoding)
{
- if (encoding == null)
- {
- throw new ArgumentNullException(nameof(encoding));
- }
-
mockFileDataAccessor.PathVerifier.IsLegalAbsoluteOrRelative(path, "path");
+ VerifyValueIsNotNull(contents, nameof(contents));
+ VerifyValueIsNotNull(encoding, nameof(encoding));
var concatContents = contents.Aggregate("", (a, b) => a + b + Environment.NewLine);
AppendAllText(path, concatContents, encoding);
@@ -492,13 +486,6 @@ public override string[] ReadAllLines(string path, Encoding encoding)
public override string ReadAllText(string path)
{
- mockFileDataAccessor.PathVerifier.IsLegalAbsoluteOrRelative(path, "path");
-
- if (!mockFileDataAccessor.FileExists(path))
- {
- throw CommonExceptions.FileNotFound(path);
- }
-
return ReadAllText(path, MockFileData.DefaultEncoding);
}
@@ -506,6 +493,11 @@ public override string ReadAllText(string path, Encoding encoding)
{
mockFileDataAccessor.PathVerifier.IsLegalAbsoluteOrRelative(path, "path");
+ if (!mockFileDataAccessor.FileExists(path))
+ {
+ throw CommonExceptions.FileNotFound(path);
+ }
+
if (encoding == null)
{
throw new ArgumentNullException(nameof(encoding));
diff --git a/src/System.IO.Abstractions.TestingHelpers/System.IO.Abstractions.TestingHelpers.csproj b/src/System.IO.Abstractions.TestingHelpers/System.IO.Abstractions.TestingHelpers.csproj
index ce27c683d..c100295ec 100644
--- a/src/System.IO.Abstractions.TestingHelpers/System.IO.Abstractions.TestingHelpers.csproj
+++ b/src/System.IO.Abstractions.TestingHelpers/System.IO.Abstractions.TestingHelpers.csproj
@@ -3,10 +3,7 @@
System.IO.Abstractions.TestingHelpers
System.IO.Abstractions.TestingHelpers
A set of pre-built mocks to help when testing file system interactions.
- netstandard2.1;netstandard2.0;net461
- https://github.com/System-IO-Abstractions/System.IO.Abstractions
- MIT
- testing
+ net5.0;netstandard2.1;netstandard2.0;net461
diff --git a/src/System.IO.Abstractions/System.IO.Abstractions.csproj b/src/System.IO.Abstractions/System.IO.Abstractions.csproj
index 2909becd9..3e5010bff 100644
--- a/src/System.IO.Abstractions/System.IO.Abstractions.csproj
+++ b/src/System.IO.Abstractions/System.IO.Abstractions.csproj
@@ -3,15 +3,14 @@
System.IO.Abstractions
System.IO.Abstractions
A set of abstractions to help make file system interactions testable.
- netstandard2.1;netstandard2.0;net461
- https://github.com/System-IO-Abstractions/System.IO.Abstractions
- MIT
- testing
- $(DefineConstants);FEATURE_ASYNC_FILE;FEATURE_ENUMERATION_OPTIONS;FEATURE_ADVANCED_PATH_OPERATIONS;FEATURE_PATH_JOIN_WITH_SPAN
+ net5.0;netstandard2.1;netstandard2.0;net461
-
+
+
+
+
all
diff --git a/tests/System.IO.Abstractions.TestingHelpers.Tests/MockFileReadAllLinesTests.cs b/tests/System.IO.Abstractions.TestingHelpers.Tests/MockFileReadAllLinesTests.cs
index 6febaff86..7fd7dddbb 100644
--- a/tests/System.IO.Abstractions.TestingHelpers.Tests/MockFileReadAllLinesTests.cs
+++ b/tests/System.IO.Abstractions.TestingHelpers.Tests/MockFileReadAllLinesTests.cs
@@ -148,8 +148,8 @@ public void MockFile_ReadAllLinesAsync_NotExistingFile_ThrowsCorrectFileNotFound
var absentFileNameFullPath = XFS.Path(@"c:\you surely don't have such file.hope-so");
var mockFileSystem = new MockFileSystem();
- var act = new AsyncTestDelegate(() =>
- mockFileSystem.File.ReadAllTextAsync(absentFileNameFullPath)
+ var act = new AsyncTestDelegate(async() =>
+ await mockFileSystem.File.ReadAllTextAsync(absentFileNameFullPath)
);
var exception = Assert.CatchAsync(act);
diff --git a/tests/System.IO.Abstractions.TestingHelpers.Tests/System.IO.Abstractions.TestingHelpers.Tests.csproj b/tests/System.IO.Abstractions.TestingHelpers.Tests/System.IO.Abstractions.TestingHelpers.Tests.csproj
index 235b3171d..99e2b56c3 100644
--- a/tests/System.IO.Abstractions.TestingHelpers.Tests/System.IO.Abstractions.TestingHelpers.Tests.csproj
+++ b/tests/System.IO.Abstractions.TestingHelpers.Tests/System.IO.Abstractions.TestingHelpers.Tests.csproj
@@ -1,6 +1,6 @@
- netcoreapp3.1;netcoreapp2.1
+ net5.0;netcoreapp3.1;netcoreapp2.1
$(TargetFrameworks);net461
The unit tests for our pre-built mocks
System.IO.Abstractions.TestingHelpers.Tests
@@ -8,6 +8,13 @@
false
true
+
+
+ true
+
@@ -25,6 +32,7 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
all
+
diff --git a/tests/System.IO.Abstractions.Tests/ApiParityTests.cs b/tests/System.IO.Abstractions.Tests/ApiParityTests.cs
index b6ca22666..644d8655a 100644
--- a/tests/System.IO.Abstractions.Tests/ApiParityTests.cs
+++ b/tests/System.IO.Abstractions.Tests/ApiParityTests.cs
@@ -1,6 +1,5 @@
using System.Collections.Generic;
using System.Linq;
-using System.Reflection;
using NUnit.Framework;
using Snapshooter;
using Snapshooter.NUnit;
@@ -92,9 +91,11 @@ public ApiDiff(IEnumerable extraMembers, IEnumerable missingMemb
#if NETCOREAPP3_1
private const string snapshotSuffix = ".NET Core 3.1";
#elif NETCOREAPP2_1
- private const string snapshotSuffix = ".NET Core 2.1";
+ private const string snapshotSuffix = ".NET Core 2.1";
#elif NET461
- private const string snapshotSuffix = ".NET Framework 4.6.1";
+ private const string snapshotSuffix = ".NET Framework 4.6.1";
+#elif NET5_0
+ private const string snapshotSuffix = ".NET 5.0";
#else
#error Unknown target framework.
#endif
diff --git a/tests/System.IO.Abstractions.Tests/System.IO.Abstractions.Tests.csproj b/tests/System.IO.Abstractions.Tests/System.IO.Abstractions.Tests.csproj
index 58a726b4c..fc1dc4566 100644
--- a/tests/System.IO.Abstractions.Tests/System.IO.Abstractions.Tests.csproj
+++ b/tests/System.IO.Abstractions.Tests/System.IO.Abstractions.Tests.csproj
@@ -1,6 +1,6 @@
- netcoreapp3.1;netcoreapp2.1
+ net5.0;netcoreapp3.1;netcoreapp2.1
$(TargetFrameworks);net461
The unit tests for our the core abstractions
System.IO.Abstractions.Tests
@@ -8,6 +8,13 @@
false
true
+
+
+ true
+
@@ -16,6 +23,7 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
all
+
diff --git a/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.DirectoryInfo_.NET 5.0.snap b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.DirectoryInfo_.NET 5.0.snap
new file mode 100644
index 000000000..a7e18d8c3
--- /dev/null
+++ b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.DirectoryInfo_.NET 5.0.snap
@@ -0,0 +1,14 @@
+{
+ "ExtraMembers": [
+ "System.Security.AccessControl.DirectorySecurity GetAccessControl()",
+ "System.Security.AccessControl.DirectorySecurity GetAccessControl(System.Security.AccessControl.AccessControlSections)",
+ "Void Create(System.Security.AccessControl.DirectorySecurity)",
+ "Void SetAccessControl(System.Security.AccessControl.DirectorySecurity)"
+ ],
+ "MissingMembers": [
+ "System.Object GetLifetimeService()",
+ "System.Object InitializeLifetimeService()",
+ "Void .ctor(System.String)",
+ "Void GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)"
+ ]
+}
diff --git a/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.Directory_.NET 5.0.snap b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.Directory_.NET 5.0.snap
new file mode 100644
index 000000000..ca0811fbe
--- /dev/null
+++ b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.Directory_.NET 5.0.snap
@@ -0,0 +1,12 @@
+{
+ "ExtraMembers": [
+ "System.IO.Abstractions.IDirectoryInfo CreateDirectory(System.String, System.Security.AccessControl.DirectorySecurity)",
+ "System.Security.AccessControl.DirectorySecurity GetAccessControl(System.String)",
+ "System.Security.AccessControl.DirectorySecurity GetAccessControl(System.String, System.Security.AccessControl.AccessControlSections)",
+ "Void SetAccessControl(System.String, System.Security.AccessControl.DirectorySecurity)"
+ ],
+ "MissingMembers": [
+ "System.String[] GetFileSystemEntries(System.String, System.String, System.IO.EnumerationOptions)",
+ "System.String[] GetFileSystemEntries(System.String, System.String, System.IO.SearchOption)"
+ ]
+}
diff --git a/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.DriveInfo_.NET 5.0.snap b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.DriveInfo_.NET 5.0.snap
new file mode 100644
index 000000000..8c885b472
--- /dev/null
+++ b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.DriveInfo_.NET 5.0.snap
@@ -0,0 +1,7 @@
+{
+ "ExtraMembers": [],
+ "MissingMembers": [
+ "System.IO.Abstractions.IDriveInfo[] GetDrives()",
+ "Void .ctor(System.String)"
+ ]
+}
diff --git a/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.FileInfo_.NET 5.0.snap b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.FileInfo_.NET 5.0.snap
new file mode 100644
index 000000000..ae8e3379d
--- /dev/null
+++ b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.FileInfo_.NET 5.0.snap
@@ -0,0 +1,14 @@
+{
+ "ExtraMembers": [
+ "System.Security.AccessControl.FileSecurity GetAccessControl()",
+ "System.Security.AccessControl.FileSecurity GetAccessControl(System.Security.AccessControl.AccessControlSections)",
+ "Void SetAccessControl(System.Security.AccessControl.FileSecurity)"
+ ],
+ "MissingMembers": [
+ "System.Object GetLifetimeService()",
+ "System.Object InitializeLifetimeService()",
+ "Void .ctor(System.String)",
+ "Void GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)",
+ "Void MoveTo(System.String, Boolean)"
+ ]
+}
diff --git a/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.File_.NET 5.0.snap b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.File_.NET 5.0.snap
new file mode 100644
index 000000000..1b942add5
--- /dev/null
+++ b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.File_.NET 5.0.snap
@@ -0,0 +1,12 @@
+{
+ "ExtraMembers": [
+ "System.Security.AccessControl.FileSecurity GetAccessControl(System.String)",
+ "System.Security.AccessControl.FileSecurity GetAccessControl(System.String, System.Security.AccessControl.AccessControlSections)",
+ "System.Threading.Tasks.Task WriteAllLinesAsync(System.String, System.String[], System.Text.Encoding, System.Threading.CancellationToken)",
+ "System.Threading.Tasks.Task WriteAllLinesAsync(System.String, System.String[], System.Threading.CancellationToken)",
+ "Void SetAccessControl(System.String, System.Security.AccessControl.FileSecurity)"
+ ],
+ "MissingMembers": [
+ "Void Move(System.String, System.String, Boolean)"
+ ]
+}
diff --git a/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.Path_.NET 5.0.snap b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.Path_.NET 5.0.snap
new file mode 100644
index 000000000..99325883a
--- /dev/null
+++ b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.Path_.NET 5.0.snap
@@ -0,0 +1,35 @@
+{
+ "ExtraMembers": [
+ "Char get_AltDirectorySeparatorChar()",
+ "Char get_DirectorySeparatorChar()",
+ "Char get_PathSeparator()",
+ "Char get_VolumeSeparatorChar()",
+ "Char[] get_InvalidPathChars()"
+ ],
+ "MissingMembers": [
+ "Boolean EndsInDirectorySeparator(System.ReadOnlySpan`1[System.Char])",
+ "Boolean EndsInDirectorySeparator(System.String)",
+ "Boolean HasExtension(System.ReadOnlySpan`1[System.Char])",
+ "Boolean IsPathFullyQualified(System.ReadOnlySpan`1[System.Char])",
+ "Boolean IsPathFullyQualified(System.String)",
+ "Boolean IsPathRooted(System.ReadOnlySpan`1[System.Char])",
+ "Boolean TryJoin(System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char], System.Span`1[System.Char], Int32 ByRef)",
+ "Boolean TryJoin(System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char], System.Span`1[System.Char], Int32 ByRef)",
+ "System.ReadOnlySpan`1[System.Char] GetDirectoryName(System.ReadOnlySpan`1[System.Char])",
+ "System.ReadOnlySpan`1[System.Char] GetExtension(System.ReadOnlySpan`1[System.Char])",
+ "System.ReadOnlySpan`1[System.Char] GetFileName(System.ReadOnlySpan`1[System.Char])",
+ "System.ReadOnlySpan`1[System.Char] GetFileNameWithoutExtension(System.ReadOnlySpan`1[System.Char])",
+ "System.ReadOnlySpan`1[System.Char] GetPathRoot(System.ReadOnlySpan`1[System.Char])",
+ "System.ReadOnlySpan`1[System.Char] TrimEndingDirectorySeparator(System.ReadOnlySpan`1[System.Char])",
+ "System.String GetFullPath(System.String, System.String)",
+ "System.String GetRelativePath(System.String, System.String)",
+ "System.String Join(System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char])",
+ "System.String Join(System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char])",
+ "System.String Join(System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char])",
+ "System.String Join(System.String, System.String)",
+ "System.String Join(System.String, System.String, System.String)",
+ "System.String Join(System.String, System.String, System.String, System.String)",
+ "System.String Join(System.String[])",
+ "System.String TrimEndingDirectorySeparator(System.String)"
+ ]
+}
diff --git a/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.Path_.NET Core 3.1.snap b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.Path_.NET Core 3.1.snap
index 99bae9707..99325883a 100644
--- a/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.Path_.NET Core 3.1.snap
+++ b/tests/System.IO.Abstractions.Tests/__snapshots__/ApiParityTests.Path_.NET Core 3.1.snap
@@ -11,13 +11,20 @@
"Boolean EndsInDirectorySeparator(System.String)",
"Boolean HasExtension(System.ReadOnlySpan`1[System.Char])",
"Boolean IsPathFullyQualified(System.ReadOnlySpan`1[System.Char])",
+ "Boolean IsPathFullyQualified(System.String)",
"Boolean IsPathRooted(System.ReadOnlySpan`1[System.Char])",
+ "Boolean TryJoin(System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char], System.Span`1[System.Char], Int32 ByRef)",
+ "Boolean TryJoin(System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char], System.Span`1[System.Char], Int32 ByRef)",
"System.ReadOnlySpan`1[System.Char] GetDirectoryName(System.ReadOnlySpan`1[System.Char])",
"System.ReadOnlySpan`1[System.Char] GetExtension(System.ReadOnlySpan`1[System.Char])",
"System.ReadOnlySpan`1[System.Char] GetFileName(System.ReadOnlySpan`1[System.Char])",
"System.ReadOnlySpan`1[System.Char] GetFileNameWithoutExtension(System.ReadOnlySpan`1[System.Char])",
"System.ReadOnlySpan`1[System.Char] GetPathRoot(System.ReadOnlySpan`1[System.Char])",
"System.ReadOnlySpan`1[System.Char] TrimEndingDirectorySeparator(System.ReadOnlySpan`1[System.Char])",
+ "System.String GetFullPath(System.String, System.String)",
+ "System.String GetRelativePath(System.String, System.String)",
+ "System.String Join(System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char])",
+ "System.String Join(System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char])",
"System.String Join(System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char], System.ReadOnlySpan`1[System.Char])",
"System.String Join(System.String, System.String)",
"System.String Join(System.String, System.String, System.String)",
diff --git a/version.json b/version.json
index c2ddd63ae..7788c99ce 100644
--- a/version.json
+++ b/version.json
@@ -1,13 +1,15 @@
{
"$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
- "version": "12.2",
+ "version": "13.0",
"assemblyVersion": {
"precision": "major"
},
- "publicReleaseRefSpec": ["^refs/heads/main$"],
+ "publicReleaseRefSpec": [
+ "^refs/heads/main$"
+ ],
"cloudBuild": {
"buildNumber": {
"enabled": true
}
}
-}
+}
\ No newline at end of file