From 715bce75719d66e9277e65bfe94808f538219421 Mon Sep 17 00:00:00 2001 From: Kyriakos Sidiropoulos Date: Mon, 29 Jul 2024 16:57:55 +0200 Subject: [PATCH 1/2] refa (Laerdal.Builder.targets): consolidate path-variables so as to ensure that absolute paths are being used --- Laerdal.Scripts/Laerdal.Builder.targets | 44 +++++++++++++++---------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/Laerdal.Scripts/Laerdal.Builder.targets b/Laerdal.Scripts/Laerdal.Builder.targets index 60c8840..c59b9aa 100644 --- a/Laerdal.Scripts/Laerdal.Builder.targets +++ b/Laerdal.Scripts/Laerdal.Builder.targets @@ -33,15 +33,23 @@ Release true + $(MSBuildThisFileDirectory) + + $([System.IO.Path]::Combine( '$(Laerdal_Script_FolderPath)', '..' )) + $([System.IO.Path]::GetFullPath( '$(Laerdal_RootDirectory_Folderpath)' )) + $(BUILD_ARTIFACTSTAGINGDIRECTORY) - $([System.IO.Path]::Combine($(MSBuildThisFileDirectory), `..`, `Artifacts/`)) + $([System.IO.Path]::Combine($(Laerdal_RootDirectory_Folderpath), `Artifacts/`)) - $([System.IO.Path]::Combine($(MSBuildThisFileDirectory), `..`, `TestResults`)) + $([System.IO.Path]::GetFullPath( '$(PackageOutputPath)' )) + + $([System.IO.Path]::Combine($(Laerdal_RootDirectory_Folderpath), `TestResults`)) true + false @@ -59,13 +67,13 @@ $(BUILD_REPOSITORY_NAME) True - $([System.IO.Path]::Combine($(MSBuildThisFileDirectory), `..`, `Laerdal.McuMgr`, `Laerdal.McuMgr.csproj`)) - $([System.IO.Path]::Combine($(MSBuildThisFileDirectory), `..`, `Laerdal.McuMgr.Bindings.iOS`, `Laerdal.McuMgr.Bindings.iOS.csproj`)) - $([System.IO.Path]::Combine($(MSBuildThisFileDirectory), `..`, `Laerdal.McuMgr.Bindings.Android`, `Laerdal.McuMgr.Bindings.Android.csproj`)) - $([System.IO.Path]::Combine($(MSBuildThisFileDirectory), `..`, `Laerdal.McuMgr.Bindings.MacCatalyst`, `Laerdal.McuMgr.Bindings.MacCatalyst.csproj`)) - $([System.IO.Path]::Combine($(MSBuildThisFileDirectory), `..`, `Laerdal.McuMgr.Bindings.NetStandard`, `Laerdal.McuMgr.Bindings.NetStandard.csproj`)) + $([System.IO.Path]::Combine($(Laerdal_RootDirectory_Folderpath), `Laerdal.McuMgr`, `Laerdal.McuMgr.csproj`)) + $([System.IO.Path]::Combine($(Laerdal_RootDirectory_Folderpath), `Laerdal.McuMgr.Bindings.iOS`, `Laerdal.McuMgr.Bindings.iOS.csproj`)) + $([System.IO.Path]::Combine($(Laerdal_RootDirectory_Folderpath), `Laerdal.McuMgr.Bindings.Android`, `Laerdal.McuMgr.Bindings.Android.csproj`)) + $([System.IO.Path]::Combine($(Laerdal_RootDirectory_Folderpath), `Laerdal.McuMgr.Bindings.MacCatalyst`, `Laerdal.McuMgr.Bindings.MacCatalyst.csproj`)) + $([System.IO.Path]::Combine($(Laerdal_RootDirectory_Folderpath), `Laerdal.McuMgr.Bindings.NetStandard`, `Laerdal.McuMgr.Bindings.NetStandard.csproj`)) - $([System.IO.Path]::Combine($(MSBuildThisFileDirectory), `..`, `Laerdal.McuMgr.Tests`, `Laerdal.McuMgr.Tests.csproj`)) + $([System.IO.Path]::Combine($(Laerdal_RootDirectory_Folderpath), `Laerdal.McuMgr.Tests`, `Laerdal.McuMgr.Tests.csproj`)) @@ -83,7 +91,7 @@ 2 - $([System.IO.Path]::Combine($(MSBuildThisFileDirectory), `Laerdal.Version.sh`)) + $([System.IO.Path]::Combine($(Laerdal_Script_FolderPath), `Laerdal.Version.sh`)) $([System.IO.Path]::Combine($(PackageOutputPath), `version.txt`)) main @@ -102,7 +110,7 @@ EchoOff="true" Command=" bash '$(Laerdal_Version_Script_Filepath)' $(_Laerdal_Version_Script_Parameters) " ConsoleToMSBuild="true" - WorkingDirectory="$(MSBuildThisFileDirectory)/.."> + WorkingDirectory="$(Laerdal_RootDirectory_Folderpath)"> @@ -221,15 +229,15 @@ - + - + - - + + - + @@ -251,7 +259,7 @@ + WorkingDirectory="$(Laerdal_RootDirectory_Folderpath)"/> @@ -285,7 +293,7 @@ - $([System.IO.Path]::Combine($(MSBuildThisFileDirectory), `Laerdal.CreateNewReleaseInGithub.sh`)) + $([System.IO.Path]::Combine($(Laerdal_Script_FolderPath), `Laerdal.CreateNewReleaseInGithub.sh`)) <_Laerdal_Create_Github_Release_Script_Parameters>$(_Laerdal_Create_Github_Release_Script_Parameters) --log <_Laerdal_Create_Github_Release_Script_Parameters>$(_Laerdal_Create_Github_Release_Script_Parameters) --git-branch '$(Laerdal_Source_Branch)' @@ -299,7 +307,7 @@ + WorkingDirectory="$(Laerdal_RootDirectory_Folderpath)"/> From 93828fa0c51102b30413913b1ae7417a024c9b55 Mon Sep 17 00:00:00 2001 From: Kyriakos Sidiropoulos Date: Mon, 29 Jul 2024 17:37:58 +0200 Subject: [PATCH 2/2] feat (Laerdal.Builder.targets): auto-generate SBOMs also update Laerdal.SetupBuildEnvironment.sh to have it install cyclone-dx --- ...uccessfully_GivenVariousFilesToDownload.cs | 3 +-- Laerdal.Scripts/Laerdal.Builder.targets | 21 ++++++++++++++++++- .../Laerdal.SetupBuildEnvironment.sh | 20 ++++++++++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldCompleteSuccessfully_GivenVariousFilesToDownload.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldCompleteSuccessfully_GivenVariousFilesToDownload.cs index a90925b..438df8a 100644 --- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldCompleteSuccessfully_GivenVariousFilesToDownload.cs +++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldCompleteSuccessfully_GivenVariousFilesToDownload.cs @@ -45,10 +45,9 @@ public async Task MultipleFilesUploadAsync_ShouldCompleteSuccessfully_GivenVario // Act var work = new Func>>(async () => await fileUploader.UploadAsync(remoteFilePathsAndTheirData: remoteFilePathsToTest, maxTriesPerUpload: 4)); + var filesThatFailedToBeUploaded = (await work.Should().CompleteWithinAsync(6.Seconds())).Which; // Assert - var filesThatFailedToBeUploaded = (await work.Should().CompleteWithinAsync(3.Seconds())).Which; - filesThatFailedToBeUploaded.Should().BeEquivalentTo(expectation: new[] { "/some/file/to/a/folder/that/doesnt/exist.bin", diff --git a/Laerdal.Scripts/Laerdal.Builder.targets b/Laerdal.Scripts/Laerdal.Builder.targets index c59b9aa..95c1750 100644 --- a/Laerdal.Scripts/Laerdal.Builder.targets +++ b/Laerdal.Scripts/Laerdal.Builder.targets @@ -40,7 +40,7 @@ $(BUILD_ARTIFACTSTAGINGDIRECTORY) $([System.IO.Path]::Combine($(Laerdal_RootDirectory_Folderpath), `Artifacts/`)) - + $([System.IO.Path]::GetFullPath( '$(PackageOutputPath)' )) $([System.IO.Path]::Combine($(Laerdal_RootDirectory_Folderpath), `TestResults`)) @@ -310,4 +310,23 @@ WorkingDirectory="$(Laerdal_RootDirectory_Folderpath)"/> + + + + + + <_Laerdal_Command___Generate_SBOM> dotnet-CycloneDX --json --exclude-dev --output "$(PackageOutputPath)" + + + + + + + + + + + + + diff --git a/Laerdal.Scripts/Laerdal.SetupBuildEnvironment.sh b/Laerdal.Scripts/Laerdal.SetupBuildEnvironment.sh index 625f1c2..f88f49f 100644 --- a/Laerdal.Scripts/Laerdal.SetupBuildEnvironment.sh +++ b/Laerdal.Scripts/Laerdal.SetupBuildEnvironment.sh @@ -224,6 +224,26 @@ if [ $exitCode != 0 ]; then exit 160 fi +echo +echo "** Installing CycloneDX as a dotnet tool:" +dotnet tool \ + install \ + --global CycloneDX +declare exitCode=$? +if [ $exitCode != 0 ]; then + echo "##vso[task.logissue type=error]Something went wrong with the CycloneDX tool for dotnet." + exit 165 +fi + +echo +echo "** CycloneDX:" +which dotnet-CycloneDX && dotnet-CycloneDX --version +declare exitCode=$? +if [ $exitCode != 0 ]; then + echo "##vso[task.logissue type=error]Something's wrong with 'dotnet-CycloneDX'." + exit 166 +fi + echo echo "** Nuget:" which nuget && nuget help