diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index ec86e0b7f..b289449cf 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -6,7 +6,7 @@ on:
paths: ['src/Microsoft.OpenApi.Hidi/**', '.github/workflows/**']
env:
REGISTRY: msgraphprod.azurecr.io
- IMAGE_NAME: public/hidi
+ IMAGE_NAME: public/openapi/hidi
jobs:
push_to_registry:
environment:
@@ -17,7 +17,7 @@ jobs:
- name: Check out the repo
uses: actions/checkout@v3
- name: Login to GitHub package feed
- uses: docker/login-action@v2.0.0
+ uses: docker/login-action@v2.1.0
with:
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
@@ -30,13 +30,13 @@ jobs:
id: getversion
- name: Push to GitHub Packages - Nightly
if: ${{ github.ref == 'refs/heads/vnext' }}
- uses: docker/build-push-action@v3.1.1
+ uses: docker/build-push-action@v3.2.0
with:
push: true
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:nightly
- name: Push to GitHub Packages - Release
if: ${{ github.ref == 'refs/heads/master' }}
- uses: docker/build-push-action@v3.1.1
+ uses: docker/build-push-action@v3.2.0
with:
push: true
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest,${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.getversion.outputs.version }}
diff --git a/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj b/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj
index 55d529a06..c77e30194 100644
--- a/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj
+++ b/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj
@@ -15,7 +15,7 @@
Microsoft.OpenApi.Hidi
hidi
./../../artifacts
- 1.1.0-preview2
+ 1.1.0-preview3
OpenAPI.NET CLI tool for slicing OpenAPI documents
© Microsoft Corporation. All rights reserved.
OpenAPI .NET
@@ -42,8 +42,8 @@
-
-
+
+
diff --git a/src/Microsoft.OpenApi/Writers/SpecialCharacterStringExtensions.cs b/src/Microsoft.OpenApi/Writers/SpecialCharacterStringExtensions.cs
index d4f78a5c1..6e1ea2beb 100644
--- a/src/Microsoft.OpenApi/Writers/SpecialCharacterStringExtensions.cs
+++ b/src/Microsoft.OpenApi/Writers/SpecialCharacterStringExtensions.cs
@@ -192,7 +192,7 @@ internal static string GetYamlCompatibleString(this string input)
if (decimal.TryParse(input, NumberStyles.Float, CultureInfo.InvariantCulture, out var _) ||
IsHexadecimalNotation(input) ||
bool.TryParse(input, out var _) ||
- DateTime.TryParse(input, out var _))
+ DateTime.TryParse(input, CultureInfo.InvariantCulture, DateTimeStyles.None, out var _))
{
return $"'{input}'";
}
diff --git a/test/Microsoft.OpenApi.Readers.Tests/Microsoft.OpenApi.Readers.Tests.csproj b/test/Microsoft.OpenApi.Readers.Tests/Microsoft.OpenApi.Readers.Tests.csproj
index 1579f85e5..1c46de041 100644
--- a/test/Microsoft.OpenApi.Readers.Tests/Microsoft.OpenApi.Readers.Tests.csproj
+++ b/test/Microsoft.OpenApi.Readers.Tests/Microsoft.OpenApi.Readers.Tests.csproj
@@ -251,7 +251,7 @@
-
+
diff --git a/test/Microsoft.OpenApi.Tests/Microsoft.OpenApi.Tests.csproj b/test/Microsoft.OpenApi.Tests/Microsoft.OpenApi.Tests.csproj
index b922d72d8..d1f97f6f3 100644
--- a/test/Microsoft.OpenApi.Tests/Microsoft.OpenApi.Tests.csproj
+++ b/test/Microsoft.OpenApi.Tests/Microsoft.OpenApi.Tests.csproj
@@ -15,12 +15,12 @@
-
+
-
+
all
diff --git a/test/Microsoft.OpenApi.Tests/Writers/OpenApiWriterSpecialCharacterTests.cs b/test/Microsoft.OpenApi.Tests/Writers/OpenApiWriterSpecialCharacterTests.cs
index f23cc442a..6ac47d6c3 100644
--- a/test/Microsoft.OpenApi.Tests/Writers/OpenApiWriterSpecialCharacterTests.cs
+++ b/test/Microsoft.OpenApi.Tests/Writers/OpenApiWriterSpecialCharacterTests.cs
@@ -148,5 +148,26 @@ public void WriteStringWithNewlineCharactersInArrayAsYamlWorks(string input, str
// Assert
actual.Should().Be(expected);
}
+
+ [Theory]
+ [InlineData("1.8.0", " '1.8.0'", "en-US")]
+ [InlineData("1.8.0", " '1.8.0'", "en-GB")]
+ [InlineData("1.13.0", " '1.13.0'", "en-US")]
+ [InlineData("1.13.0", " '1.13.0'", "en-GB")]
+ public void WriteStringAsYamlDoesNotDependOnSystemCulture(string input, string expected, string culture)
+ {
+ CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo(culture);
+
+ // Arrange
+ var outputStringWriter = new StringWriter(CultureInfo.InvariantCulture);
+ var writer = new OpenApiYamlWriter(outputStringWriter);
+
+ // Act
+ writer.WriteValue(input);
+ var actual = outputStringWriter.GetStringBuilder().ToString();
+
+ // Assert
+ actual.Should().Be(expected);
+ }
}
}