diff --git a/.github/workflows/_artifacts_linux.yml b/.github/workflows/_artifacts_linux.yml
index b7d63b4066..088ab99d87 100644
--- a/.github/workflows/_artifacts_linux.yml
+++ b/.github/workflows/_artifacts_linux.yml
@@ -47,10 +47,6 @@ jobs:
with:
name: native-${{ runner.os }}
path: ${{ github.workspace }}/artifacts/packages/native
-# -
-# name: Setup QEMU
-# if: inputs.arch == 'arm64'
-# uses: docker/setup-qemu-action@v3
-
name: Echo
shell: pwsh
diff --git a/.github/workflows/_docker.yml b/.github/workflows/_docker.yml
index 74cc1c85db..5f6816cb19 100644
--- a/.github/workflows/_docker.yml
+++ b/.github/workflows/_docker.yml
@@ -37,10 +37,6 @@ jobs:
with:
name: nuget
path: ${{ github.workspace }}/artifacts/packages/nuget
-# -
-# name: Setup QEMU
-# if: inputs.arch == 'arm64'
-# uses: docker/setup-qemu-action@v3
-
name: Docker Test
if: success() && github.event_name == 'pull_request' || github.repository_owner != 'GitTools'
diff --git a/build/common/Utilities/DockerContextExtensions.cs b/build/common/Utilities/DockerContextExtensions.cs
index 523c3eb8e0..8a19f01a9c 100644
--- a/build/common/Utilities/DockerContextExtensions.cs
+++ b/build/common/Utilities/DockerContextExtensions.cs
@@ -114,7 +114,7 @@ public static void DockerTestImage(this BuildContextBase context, DockerImage do
var tags = context.GetDockerTags(dockerImage, dockerImage.Architecture);
foreach (var tag in tags)
{
- context.DockerTestRun(tag, dockerImage.Architecture, "/repo", "/showvariable", "FullSemver");
+ context.DockerTestRun(tag, dockerImage.Architecture, "/repo", "/showvariable", "FullSemver", "/nocache");
}
}
diff --git a/src/GitVersion.Core.Tests/Core/GitVersionExecutorTests.cs b/src/GitVersion.Core.Tests/Core/GitVersionExecutorTests.cs
index fc6a2fee19..57666f7b16 100644
--- a/src/GitVersion.Core.Tests/Core/GitVersionExecutorTests.cs
+++ b/src/GitVersion.Core.Tests/Core/GitVersionExecutorTests.cs
@@ -92,31 +92,33 @@ public void CacheKeyForWorktree()
public void CacheFileExistsOnDisk()
{
const string versionCacheFileContent = """
- Major: 4
- Minor: 10
- Patch: 3
- PreReleaseTag: test.19
- PreReleaseTagWithDash: -test.19
- PreReleaseLabel: test
- PreReleaseLabelWithDash: -test
- PreReleaseNumber: 19
- WeightedPreReleaseNumber: 19
- BuildMetaData:
- FullBuildMetaData: Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
- MajorMinorPatch: 4.10.3
- SemVer: 4.10.3-test.19
- AssemblySemVer: 4.10.3.0
- AssemblySemFileVer: 4.10.3.0
- FullSemVer: 4.10.3-test.19
- InformationalVersion: 4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
- BranchName: feature/test
- EscapedBranchName: feature-test
- Sha: dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
- ShortSha: dd2a29af
- VersionSourceSha: 4.10.2
- CommitsSinceVersionSource: 19
- CommitDate: 2015-11-10
- UncommittedChanges: 0
+ {
+ "Major": 4,
+ "Minor": 10,
+ "Patch": 3,
+ "PreReleaseTag": "test.19",
+ "PreReleaseTagWithDash": "-test.19",
+ "PreReleaseLabel": "test",
+ "PreReleaseLabelWithDash": "-test",
+ "PreReleaseNumber": 19,
+ "WeightedPreReleaseNumber": 19,
+ "BuildMetaData": null,
+ "FullBuildMetaData": "Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f",
+ "MajorMinorPatch": "4.10.3",
+ "SemVer": "4.10.3-test.19",
+ "AssemblySemVer": "4.10.3.0",
+ "AssemblySemFileVer": "4.10.3.0",
+ "FullSemVer": "4.10.3-test.19",
+ "InformationalVersion": "4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f",
+ "BranchName": "feature/test",
+ "EscapedBranchName": "feature-test",
+ "Sha": "dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f",
+ "ShortSha": "dd2a29af",
+ "VersionSourceSha": "4.10.2",
+ "CommitsSinceVersionSource": 19,
+ "CommitDate": "2015-11-10T00:00:00.000Z",
+ "UncommittedChanges": 0
+ }
""";
var stringBuilder = new StringBuilder();
@@ -152,29 +154,31 @@ public void CacheFileExistsOnDisk()
public void CacheFileExistsOnDiskWhenOverrideConfigIsSpecifiedVersionShouldBeDynamicallyCalculatedWithoutSavingInCache()
{
const string versionCacheFileContent = """
- Major: 4
- Minor: 10
- Patch: 3
- PreReleaseTag: test.19
- PreReleaseTagWithDash: -test.19
- PreReleaseLabel: test
- PreReleaseLabelWithDash: -test
- PreReleaseNumber: 19
- BuildMetaData:
- FullBuildMetaData: Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
- MajorMinorPatch: 4.10.3
- SemVer: 4.10.3-test.19
- AssemblySemVer: 4.10.3.0
- AssemblySemFileVer: 4.10.3.0
- FullSemVer: 4.10.3-test.19
- InformationalVersion: 4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
- BranchName: feature/test
- EscapedBranchName: feature-test
- Sha: dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
- ShortSha: dd2a29af
- CommitsSinceVersionSource: 19
- CommitDate: 2015-11-10
- UncommittedChanges: 0
+ {
+ "Major": 4,
+ "Minor": 10,
+ "Patch": 3,
+ "PreReleaseTag": "test.19",
+ "PreReleaseTagWithDash": "-test.19",
+ "PreReleaseLabel": "test",
+ "PreReleaseLabelWithDash": "-test",
+ "PreReleaseNumber": 19,
+ "BuildMetaData": null,
+ "FullBuildMetaData": "Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f",
+ "MajorMinorPatch": "4.10.3",
+ "SemVer": "4.10.3-test.19",
+ "AssemblySemVer": "4.10.3.0",
+ "AssemblySemFileVer": "4.10.3.0",
+ "FullSemVer": "4.10.3-test.19",
+ "InformationalVersion": "4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f",
+ "BranchName": "feature/test",
+ "EscapedBranchName": "feature-test",
+ "Sha": "dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f",
+ "ShortSha": "dd2a29af",
+ "CommitsSinceVersionSource": 19,
+ "CommitDate": "2015-11-10T00:00:00.000Z",
+ "UncommittedChanges": 0
+ }
""";
using var fixture = new EmptyRepositoryFixture();
@@ -236,31 +240,33 @@ public void CacheFileIsMissing()
public void ConfigChangeInvalidatesCache(string configFileName)
{
const string versionCacheFileContent = """
- Major: 4
- Minor: 10
- Patch: 3
- PreReleaseTag: test.19
- PreReleaseTagWithDash: -test.19
- PreReleaseLabel: test
- PreReleaseLabelWithDash: -test
- PreReleaseNumber: 19
- WeightedPreReleaseNumber: 19
- BuildMetaData:
- FullBuildMetaData: Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
- MajorMinorPatch: 4.10.3
- SemVer: 4.10.3-test.19
- AssemblySemVer: 4.10.3.0
- AssemblySemFileVer: 4.10.3.0
- FullSemVer: 4.10.3-test.19
- InformationalVersion: 4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
- BranchName: feature/test
- EscapedBranchName: feature-test
- Sha: dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
- ShortSha: dd2a29af
- VersionSourceSha: 4.10.2
- CommitsSinceVersionSource: 19
- CommitDate: 2015-11-10
- UncommittedChanges: 0
+ {
+ "Major": 4,
+ "Minor": 10,
+ "Patch": 3,
+ "PreReleaseTag": "test.19",
+ "PreReleaseTagWithDash": "-test.19",
+ "PreReleaseLabel": "test",
+ "PreReleaseLabelWithDash": "-test",
+ "PreReleaseNumber": 19,
+ "WeightedPreReleaseNumber": 19,
+ "BuildMetaData": null,
+ "FullBuildMetaData": "Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f",
+ "MajorMinorPatch": "4.10.3",
+ "SemVer": "4.10.3-test.19",
+ "AssemblySemVer": "4.10.3.0",
+ "AssemblySemFileVer": "4.10.3.0",
+ "FullSemVer": "4.10.3-test.19",
+ "InformationalVersion": "4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f",
+ "BranchName": "feature/test",
+ "EscapedBranchName": "feature-test",
+ "Sha": "dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f",
+ "ShortSha": "dd2a29af",
+ "VersionSourceSha": "4.10.2",
+ "CommitsSinceVersionSource": 19,
+ "CommitDate": "2015-11-10T00:00:00.000Z",
+ "UncommittedChanges": 0
+ }
""";
using var fixture = new EmptyRepositoryFixture();
@@ -296,31 +302,33 @@ public void ConfigChangeInvalidatesCache(string configFileName)
public void NoCacheBypassesCache()
{
const string versionCacheFileContent = """
- Major: 4
- Minor: 10
- Patch: 3
- PreReleaseTag: test.19
- PreReleaseTagWithDash: -test.19
- PreReleaseLabel: test
- PreReleaseLabelWithDash: -test
- PreReleaseNumber: 19
- WeightedPreReleaseNumber: 19
- BuildMetaData:
- FullBuildMetaData: Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
- MajorMinorPatch: 4.10.3
- SemVer: 4.10.3-test.19
- AssemblySemVer: 4.10.3.0
- AssemblySemFileVer: 4.10.3.0
- FullSemVer: 4.10.3-test.19
- InformationalVersion: 4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
- BranchName: feature/test
- EscapedBranchName: feature-test
- Sha: dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
- ShortSha: dd2a29af
- VersionSourceSha: 4.10.2
- CommitsSinceVersionSource: 19
- CommitDate: 2015-11-10
- UncommittedChanges: 0
+ {
+ "Major": 4,
+ "Minor": 10,
+ "Patch": 3,
+ "PreReleaseTag": "test.19",
+ "PreReleaseTagWithDash": "-test.19",
+ "PreReleaseLabel": "test",
+ "PreReleaseLabelWithDash": "-test",
+ "PreReleaseNumber": 19,
+ "WeightedPreReleaseNumber": 19,
+ "BuildMetaData": null,
+ "FullBuildMetaData": "Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f",
+ "MajorMinorPatch": "4.10.3",
+ "SemVer": "4.10.3-test.19",
+ "AssemblySemVer": "4.10.3.0",
+ "AssemblySemFileVer": "4.10.3.0",
+ "FullSemVer": "4.10.3-test.19",
+ "InformationalVersion": "4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f",
+ "BranchName": "feature/test",
+ "EscapedBranchName": "feature-test",
+ "Sha": "dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f",
+ "ShortSha": "dd2a29af",
+ "VersionSourceSha": "4.10.2",
+ "CommitsSinceVersionSource": 19,
+ "CommitDate": "2015-11-10T00:00:00.000Z",
+ "UncommittedChanges": 0
+ }
""";
using var fixture = new EmptyRepositoryFixture();
diff --git a/src/GitVersion.Output/GitVersion.Output.csproj b/src/GitVersion.Output/GitVersion.Output.csproj
index 60b7379e65..da36e3d835 100644
--- a/src/GitVersion.Output/GitVersion.Output.csproj
+++ b/src/GitVersion.Output/GitVersion.Output.csproj
@@ -8,11 +8,7 @@
-
-
-
-
-
+
diff --git a/src/GitVersion.Output/Serializer/VersionVariableSerializer.cs b/src/GitVersion.Output/Serializer/VersionVariableSerializer.cs
index 0f9a279a1a..734cb6b263 100644
--- a/src/GitVersion.Output/Serializer/VersionVariableSerializer.cs
+++ b/src/GitVersion.Output/Serializer/VersionVariableSerializer.cs
@@ -87,19 +87,14 @@ private static GitVersionVariables FromDictionary(IEnumerable>(reader);
- return FromDictionary(dictionary);
+ var json = fileSystem.ReadAllText(filePath);
+ return FromJson(json);
}
private void ToFileInternal(GitVersionVariables gitVersionVariables, string filePath)
{
- var dictionary = gitVersionVariables.ToDictionary(x => x.Key, x => x.Value);
- using var stream = fileSystem.OpenWrite(filePath);
- using var sw = new StreamWriter(stream);
- var serializer = new YamlDotNet.Serialization.Serializer();
- serializer.Serialize(sw, dictionary);
+ var json = ToJson(gitVersionVariables);
+ fileSystem.WriteAllText(filePath, json);
}
private static JsonSerializerOptions JsonSerializerOptions() => new() { WriteIndented = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, Converters = { new VersionVariablesJsonStringConverter() } };
diff --git a/tests/scripts/test-global-tool.sh b/tests/scripts/test-global-tool.sh
index 913920bca6..537921c7de 100644
--- a/tests/scripts/test-global-tool.sh
+++ b/tests/scripts/test-global-tool.sh
@@ -21,7 +21,7 @@ result=$(dotnet tool install GitVersion.Tool --version $version --tool-path /too
status=$?
if test $status -eq 0
then
- /tools/dotnet-gitversion $repoPath /showvariable FullSemver
+ /tools/dotnet-gitversion $repoPath /showvariable FullSemver /nocache
else
echo $result
fi
diff --git a/tests/scripts/test-native-tool.sh b/tests/scripts/test-native-tool.sh
index bc92984886..557c28e1df 100644
--- a/tests/scripts/test-native-tool.sh
+++ b/tests/scripts/test-native-tool.sh
@@ -21,7 +21,7 @@ result=$(tar -xvpf /native/gitversion-$runtime-$version.tar.gz -C /native) # >/d
status=$?
if test $status -eq 0
then
- /native/gitversion $repoPath /showvariable FullSemver;
+ /native/gitversion $repoPath /showvariable FullSemver /nocache
else
echo $result
fi