Browse Source

fix path tests on linux?

pull/55/head
JT 1 year ago
parent
commit
682fa49e80
  1. 50
      Jenkinsfile
  2. 13
      StabilityMatrix.Tests/Models/InstalledPackageTests.cs

50
Jenkinsfile vendored

@ -11,37 +11,41 @@ node("Diligence") {
git branch: env.BRANCH_NAME, credentialsId: 'Ionite', url: "https://github.com/${author}/${repoName}.git" git branch: env.BRANCH_NAME, credentialsId: 'Ionite', url: "https://github.com/${author}/${repoName}.git"
} }
stage('Test') { try {
sh "dotnet test StabilityMatrix.Tests" stage('Test') {
} sh "dotnet test StabilityMatrix.Tests"
}
if (env.BRANCH_NAME == 'main') { if (env.BRANCH_NAME == 'main') {
stage('Set Version') { stage('Set Version') {
script { script {
if (env.TAG_NAME) { if (env.TAG_NAME) {
version = env.TAG_NAME.replaceFirst(/^v/, '') version = env.TAG_NAME.replaceFirst(/^v/, '')
} else { } else {
version = VersionNumber projectStartDate: '2023-06-21', versionNumberString: '${BUILDS_ALL_TIME}', worstResultForIncrement: 'SUCCESS' version = VersionNumber projectStartDate: '2023-06-21', versionNumberString: '${BUILDS_ALL_TIME}', worstResultForIncrement: 'SUCCESS'
}
} }
} }
}
stage('Publish Windows') { stage('Publish Windows') {
sh "dotnet publish ./StabilityMatrix.Avalonia/StabilityMatrix.Avalonia.csproj -c Release -o out -r win-x64 -p:PublishSingleFile=true -p:VersionPrefix=2.0.0 -p:VersionSuffix=${version} -p:IncludeNativeLibrariesForSelfExtract=true" sh "dotnet publish ./StabilityMatrix.Avalonia/StabilityMatrix.Avalonia.csproj -c Release -o out -r win-x64 -p:PublishSingleFile=true -p:VersionPrefix=2.0.0 -p:VersionSuffix=${version} -p:IncludeNativeLibrariesForSelfExtract=true"
} }
stage('Publish Linux') { stage('Publish Linux') {
sh "/home/jenkins/.dotnet/tools/pupnet --runtime linux-x64 --kind appimage --app-version ${version} --clean -y" sh "/home/jenkins/.dotnet/tools/pupnet --runtime linux-x64 --kind appimage --app-version ${version} --clean -y"
} }
stage ('Archive Artifacts') { stage ('Archive Artifacts') {
archiveArtifacts artifacts: 'out/*.exe', followSymlinks: false archiveArtifacts artifacts: 'out/*.exe', followSymlinks: false
archiveArtifacts artifacts: 'out/*.appimage', followSymlinks: false archiveArtifacts artifacts: 'out/*.appimage', followSymlinks: false
}
}
} finally {
stage('Cleanup') {
cleanWs()
} }
} }
stage('Cleanup') {
cleanWs()
}
} }

13
StabilityMatrix.Tests/Models/InstalledPackageTests.cs

@ -1,4 +1,5 @@
using StabilityMatrix.Core.Models; using System.Runtime.InteropServices;
using StabilityMatrix.Core.Models;
namespace StabilityMatrix.Tests.Models; namespace StabilityMatrix.Tests.Models;
@ -12,6 +13,16 @@ public class InstalledPackageTests
[DataRow("C:\\User\\AppData\\StabilityMatrix", "C:\\User\\AppData\\StabilityMatrix\\Packages\\abc", "Packages\\abc")] [DataRow("C:\\User\\AppData\\StabilityMatrix", "C:\\User\\AppData\\StabilityMatrix\\Packages\\abc", "Packages\\abc")]
public void TestGetSubPath(string relativeTo, string path, string? expected) public void TestGetSubPath(string relativeTo, string path, string? expected)
{ {
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
relativeTo = relativeTo.Replace("C:\\", $"{Path.DirectorySeparatorChar}")
.Replace('\\', Path.DirectorySeparatorChar);
path = path.Replace("C:\\", $"{Path.DirectorySeparatorChar}")
.Replace('\\', Path.DirectorySeparatorChar);
expected = expected?.Replace("C:\\", $"{Path.DirectorySeparatorChar}")
.Replace('\\', Path.DirectorySeparatorChar);
}
var result = InstalledPackage.GetSubPath(relativeTo, path); var result = InstalledPackage.GetSubPath(relativeTo, path);
Assert.AreEqual(expected, result); Assert.AreEqual(expected, result);
} }

Loading…
Cancel
Save