diff --git a/Changelog.md b/Changelog.md index 44e2430c..c5777608 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.34] - 2024-3-18 +### Pipeline +Pipeline only changes + ## [1.0.33] - 2024-3-13 ### Fix Fixes properly setting the default value for the `OutputFileFormat` and `OutputTextFormat` fields when using the `options-json` argument to the analyze command. diff --git a/Pipelines/cli/devskim-cli-pr.yml b/Pipelines/cli/devskim-cli-pr.yml index 4e30ff47..3334911b 100644 --- a/Pipelines/cli/devskim-cli-pr.yml +++ b/Pipelines/cli/devskim-cli-pr.yml @@ -13,71 +13,82 @@ resources: - repository: templates type: git name: SecurityEngineering/OSS-Tools-Pipeline-Templates - ref: refs/tags/v1.1.1 + ref: refs/tags/v2.0.0 + - repository: 1esPipelines + type: git + name: 1ESPipelineTemplates/1ESPipelineTemplates + ref: refs/tags/release variables: BuildConfiguration: 'Release' DotnetVersion: '8.0.x' -stages: -- stage: Test - jobs: - - template: dotnet-test-job.yml@templates - parameters: - jobName: 'dotnet_test_windows' - dotnetVersions: ['6.0.x','7.0.x','8.0.x'] - vmImage: 'win2022-image-base' - projectPath: 'DevSkim-DotNet/Microsoft.DevSkim.Tests/Microsoft.DevSkim.Tests.csproj' - - template: dotnet-test-job.yml@templates - parameters: - jobName: 'dotnet_test_ubuntu' - dotnetVersions: ['6.0.x','7.0.x','8.0.x'] - vmImage: 'ubuntu-22.04-image-base' - projectPath: 'DevSkim-DotNet/Microsoft.DevSkim.Tests/Microsoft.DevSkim.Tests.csproj' - -- stage: SDL - dependsOn: [] - jobs: - - template: sdl-job.yml@templates - parameters: - serviceTreeID: '9792b8d3-bc2c-432c-8fc9-bdb143552208' - -- stage: Build - dependsOn: - - Test - jobs: - - template: dotnet-publish-linux-mac-job.yml@templates - parameters: - buildConfiguration: 'Release' - dotnetVersion: ${{ variables.DotnetVersion }} - projectPath: 'DevSkim-DotNet/Microsoft.DevSkim.CLI/Microsoft.DevSkim.CLI.csproj' - projectName: 'DevSkim_CLI' - exePath: 'devskim' - preBuild: - - template: nbgv-set-version-steps.yml@templates - - template: dotnet-publish-win-netcore-job.yml@templates - parameters: - buildConfiguration: 'Release' - dotnetVersion: ${{ variables.DotnetVersion }} - projectPath: 'DevSkim-DotNet/Microsoft.DevSkim.CLI/Microsoft.DevSkim.CLI.csproj' - projectName: 'DevSkim_CLI' - preBuild: - - template: nbgv-set-version-steps.yml@templates - - template: nuget-build-job.yml@templates - parameters: - jobName: 'pack_lib' - buildConfiguration: 'Release' - dotnetVersion: ${{ variables.DotnetVersion }} - projectPath: 'DevSkim-DotNet/Microsoft.DevSkim/Microsoft.DevSkim.csproj' - projectName: 'DevSkim_Lib' - preBuild: - - template: nbgv-set-version-steps.yml@templates - - template: nuget-build-job.yml@templates - parameters: - jobName: 'pack_cli' - buildConfiguration: 'Release' - dotnetVersion: ${{ variables.DotnetVersion }} - projectPath: 'DevSkim-DotNet/Microsoft.DevSkim.CLI/Microsoft.DevSkim.CLI.csproj' - projectName: 'DevSkim_CLI' - preBuild: - - template: nbgv-set-version-steps.yml@templates +extends: + template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines + parameters: + pool: + name: MSSecurity-1ES-Build-Agents-Pool + image: MSSecurity-1ES-Windows-2022 + os: windows + stages: + - stage: Test + jobs: + - template: dotnet-test-job.yml@templates + parameters: + jobName: 'dotnet_test_windows' + dotnetVersions: ['6.0.x','7.0.x','8.0.x'] + projectPath: 'DevSkim-DotNet/Microsoft.DevSkim.Tests/Microsoft.DevSkim.Tests.csproj' + poolName: MSSecurity-1ES-Build-Agents-Pool + poolImage: MSSecurity-1ES-Windows-2022 + poolOs: windows + - template: dotnet-test-job.yml@templates + parameters: + jobName: 'dotnet_test_ubuntu' + dotnetVersions: ['6.0.x','7.0.x','8.0.x'] + poolName: MSSecurity-1ES-Build-Agents-Pool + poolImage: MSSecurity-1ES-Ubuntu-2204 + poolOs: linux + projectPath: 'DevSkim-DotNet/Microsoft.DevSkim.Tests/Microsoft.DevSkim.Tests.csproj' + - stage: Build + dependsOn: + - Test + jobs: + - template: dotnet-publish-linux-mac-job.yml@templates + parameters: + buildConfiguration: 'Release' + dotnetVersion: ${{ variables.DotnetVersion }} + projectPath: 'DevSkim-DotNet/Microsoft.DevSkim.CLI/Microsoft.DevSkim.CLI.csproj' + projectName: 'DevSkim_CLI' + exePath: 'devskim' + artifactName: 'linux-mac-archive' + preBuild: + - template: nbgv-set-version-steps.yml@templates + - template: dotnet-publish-win-netcore-job.yml@templates + parameters: + buildConfiguration: 'Release' + dotnetVersion: ${{ variables.DotnetVersion }} + projectPath: 'DevSkim-DotNet/Microsoft.DevSkim.CLI/Microsoft.DevSkim.CLI.csproj' + projectName: 'DevSkim_CLI' + artifactName: 'win-netcore-archive' + preBuild: + - template: nbgv-set-version-steps.yml@templates + - template: nuget-build-job.yml@templates + parameters: + jobName: 'pack_lib' + buildConfiguration: 'Release' + dotnetVersion: ${{ variables.DotnetVersion }} + projectPath: 'DevSkim-DotNet/Microsoft.DevSkim/Microsoft.DevSkim.csproj' + projectName: 'DevSkim_Lib' + artifactName: 'nuget-lib-archive' + preBuild: + - template: nbgv-set-version-steps.yml@templates + - template: nuget-build-job.yml@templates + parameters: + jobName: 'pack_cli' + buildConfiguration: 'Release' + dotnetVersion: ${{ variables.DotnetVersion }} + projectPath: 'DevSkim-DotNet/Microsoft.DevSkim.CLI/Microsoft.DevSkim.CLI.csproj' + projectName: 'DevSkim_CLI' + artifactName: 'nuget-cli-archive' + preBuild: + - template: nbgv-set-version-steps.yml@templates diff --git a/Pipelines/vs/devskim-visualstudio-pr.yml b/Pipelines/vs/devskim-visualstudio-pr.yml index f7dc7757..3e51e2d2 100644 --- a/Pipelines/vs/devskim-visualstudio-pr.yml +++ b/Pipelines/vs/devskim-visualstudio-pr.yml @@ -13,52 +13,56 @@ resources: - repository: templates type: git name: SecurityEngineering/OSS-Tools-Pipeline-Templates - ref: refs/tags/v1.1.1 - -stages: -- stage: SDL - dependsOn: [] - jobs: - - template: sdl-job.yml@templates - parameters: - serviceTreeID: '9792b8d3-bc2c-432c-8fc9-bdb143552208' + ref: refs/tags/v2.0.0 + - repository: 1esPipelines + type: git + name: 1ESPipelineTemplates/1ESPipelineTemplates + ref: refs/tags/release -- stage: Build - dependsOn: [] - jobs: - - template: dotnet-build-job.yml@templates - parameters: - buildTool: 'msbuild' - buildConfiguration: 'Release' - dotnetVersion: '8.0.x' - targetFramework: 'net47' - projectPath: 'DevSkim-DotNet/Microsoft.DevSkim.VisualStudio/Microsoft.DevSkim.VisualStudio.csproj' - projectName: 'DevSkim_VS' - preBuild: - - template: nbgv-set-version-steps.yml@templates - # Workaround: Using the .NET 8 SDK doesn't install the right version of MSBuild for .NET 8 - # Using the .NET 7 SDK doesn't include the .NET 8 SDK so it can't build the project - # Install both for now until the right version of MSBuild is included with .NET 8 - - task: UseDotNet@2 - displayName: Install Dotnet 7 SDK - inputs: - packageType: 'sdk' - version: '7.0.x' - onEnd: - - task: PowerShell@2 - displayName: Mkdir for Extension - inputs: - targetType: 'inline' - script: mkdir extension - workingDirectory: '$(Build.StagingDirectory)' - - task: PowerShell@2 - displayName: Move Extension File - inputs: - targetType: 'inline' - script: 'mv $env:BUILD_STAGINGDIRECTORY/bin/dotnetapp/DevSkim_VS_dotnetapp_$(ReleaseVersion)/*.vsix $env:BUILD_STAGINGDIRECTORY/extension' - - task: PublishBuildArtifacts@1 - displayName: Pipeline Publish Extension - inputs: - PathtoPublish: '$(Build.StagingDirectory)/extension' - ArtifactName: 'Unsigned_Extension' - publishLocation: 'Container' +extends: + template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines + parameters: + pool: + name: MSSecurity-1ES-Build-Agents-Pool + image: MSSecurity-1ES-Windows-2022 + os: windows + stages: + - stage: Build + dependsOn: [] + jobs: + - template: dotnet-build-job.yml@templates + parameters: + buildTool: 'msbuild' + buildConfiguration: 'Release' + dotnetVersion: '8.0.x' + targetFramework: 'net47' + projectPath: 'DevSkim-DotNet/Microsoft.DevSkim.VisualStudio/Microsoft.DevSkim.VisualStudio.csproj' + projectName: 'DevSkim_VS' + poolName: MSSecurity-1ES-Build-Agents-Pool + poolImage: MSSecurity-1ES-Windows-2022 + poolOs: windows + artifactName: 'vs-archive' + extraArtifactName: 'Unsigned_Extension' + extraArtifactLocation: 'extension' + preBuild: + - template: nbgv-set-version-steps.yml@templates + # Workaround: Using the .NET 8 SDK doesn't install the right version of MSBuild for .NET 8 + # Using the .NET 7 SDK doesn't include the .NET 8 SDK so it can't build the project + # Install both for now until the right version of MSBuild is included with .NET 8 + - task: UseDotNet@2 + displayName: Install Dotnet 7 SDK + inputs: + packageType: 'sdk' + version: '7.0.x' + onEnd: + - task: PowerShell@2 + displayName: Mkdir for Extension + inputs: + targetType: 'inline' + script: mkdir extension + workingDirectory: '$(Build.StagingDirectory)' + - task: PowerShell@2 + displayName: Move Extension File + inputs: + targetType: 'inline' + script: 'mv $env:BUILD_STAGINGDIRECTORY/bin/dotnetapp/DevSkim_VS_dotnetapp_$(ReleaseVersion)/*.vsix $env:BUILD_STAGINGDIRECTORY/extension' diff --git a/Pipelines/vscode/devskim-vscode-pr.yml b/Pipelines/vscode/devskim-vscode-pr.yml index 2b06a8b5..2a406338 100644 --- a/Pipelines/vscode/devskim-vscode-pr.yml +++ b/Pipelines/vscode/devskim-vscode-pr.yml @@ -13,108 +13,57 @@ resources: - repository: templates type: git name: SecurityEngineering/OSS-Tools-Pipeline-Templates - ref: refs/tags/v1.1.1 - -stages: -- stage: SDL - jobs: - - template: sdl-job.yml@templates - parameters: - serviceTreeID: '9792b8d3-bc2c-432c-8fc9-bdb143552208' + ref: refs/tags/v2.0.0 + - repository: 1esPipelines + type: git + name: 1ESPipelineTemplates/1ESPipelineTemplates + ref: refs/tags/release -- stage: Build - dependsOn: [] - jobs: - - job: build_vscode_plugin - displayName: Build VS Code Plugin +extends: + template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines + parameters: pool: - name: 'CSPA' - vmImage: 'win2022-image-base' - steps: - - task: UseDotNet@2 - displayName: Install Dotnet SDK - inputs: - packageType: 'sdk' - version: '8.0.x' - - task: CodeQL3000Init@0 - - task: Npm@1 - displayName: Build VS Code Plugin - inputs: - command: 'custom' - workingDir: 'DevSkim-VSCode-Plugin/' - customCommand: 'run build' - - task: CodeQL3000Finalize@0 - - task: AntiMalware@4 - displayName: Anti-Malware Scan - inputs: - InputType: 'Basic' - ScanType: 'CustomScan' - FileDirPath: 'DevSkim-VSCode-Plugin/' - EnableServices: true - SupportLogOnError: false - TreatSignatureUpdateFailureAs: 'Warning' - SignatureFreshness: 'UpToDate' - TreatStaleSignatureAs: 'Warning' - - template: nbgv-set-version-steps.yml@templates - - task: PowerShell@2 - displayName: Mkdir for Manifests and Packages - inputs: - targetType: 'inline' - script: mkdir sbom/vscode/ ; mkdir sbom/langserver/ ; mkdir packages - workingDirectory: '$(Build.StagingDirectory)' - - task: ManifestGeneratorTask@0 - displayName: Generate VS Code Plugin Manifest - inputs: - BuildDropPath: '$(Build.SourcesDirectory)/DevSkim-VSCode-Plugin/client/out/' - ManifestDirPath: '$(Build.StagingDirectory)/sbom/vscode/' - PackageName: 'DevSkim VS Code Plugin' - PackageVersion: '$(ReleaseVersion)' - - task: ManifestGeneratorTask@0 - displayName: Generate DevSkim Language Server Manifest - inputs: - BuildDropPath: '$(Build.SourcesDirectory)/DevSkim-VSCode-Plugin/devskimBinaries/' - ManifestDirPath: '$(Build.StagingDirectory)/sbom/langserver/' - PackageName: 'DevSkim Language Server' - PackageVersion: '$(ReleaseVersion)' - - task: ArchiveFiles@2 - displayName: Archive Manifests - inputs: - rootFolderOrFile: '$(Build.StagingDirectory)/sbom/' - includeRootFolder: false - archiveType: 'zip' - archiveFile: '$(Build.StagingDirectory)/Manifests/DevSkim_VSCode_Manifests.zip' - replaceExistingArchive: true - - task: PublishBuildArtifacts@1 - displayName: Pipeline Publish Manifest Archive - inputs: - PathtoPublish: '$(Build.StagingDirectory)/Manifests' - ArtifactName: 'Manifests' - publishLocation: 'Container' - - task: Npm@1 - displayName: Package VS Code Plugin - inputs: - command: 'custom' - workingDir: 'DevSkim-VSCode-Plugin/' - customCommand: 'run pack-ext' - - task: AntiMalware@4 - displayName: Anti-Malware Scan - inputs: - InputType: 'Basic' - ScanType: 'CustomScan' - FileDirPath: 'DevSkim-VSCode-Plugin/' - EnableServices: true - SupportLogOnError: false - TreatSignatureUpdateFailureAs: 'Warning' - SignatureFreshness: 'UpToDate' - TreatStaleSignatureAs: 'Warning' - - task: PowerShell@2 - displayName: Move Plugin File - inputs: - targetType: 'inline' - script: 'mv DevSkim-VSCode-Plugin/*.vsix $env:BUILD_STAGINGDIRECTORY/packages/' - - task: PublishBuildArtifacts@1 - displayName: Pipeline Publish Unsigned Artifact - inputs: - PathtoPublish: '$(Build.StagingDirectory)/packages/' - ArtifactName: 'Unsigned_Plugin' - publishLocation: 'Container' + name: MSSecurity-1ES-Build-Agents-Pool + image: MSSecurity-1ES-Windows-2022 + os: windows + stages: + - stage: Build + dependsOn: [] + jobs: + - job: build_vscode_plugin + displayName: Build VS Code Plugin + templateContext: + outputs: + - output: pipelineArtifact + targetPath: $(Build.StagingDirectory)/packages + artifactName: 'Unsigned_Plugin' + steps: + - task: UseDotNet@2 + displayName: Install Dotnet SDK + inputs: + packageType: 'sdk' + version: '8.0.x' + - task: Npm@1 + displayName: Build VS Code Plugin + inputs: + command: 'custom' + workingDir: 'DevSkim-VSCode-Plugin/' + customCommand: 'run build' + - template: nbgv-set-version-steps.yml@templates + - task: PowerShell@2 + displayName: Mkdir for Manifests and Packages + inputs: + targetType: 'inline' + script: mkdir sbom/vscode/ ; mkdir sbom/langserver/ ; mkdir packages + workingDirectory: '$(Build.StagingDirectory)' + - task: Npm@1 + displayName: Package VS Code Plugin + inputs: + command: 'custom' + workingDir: 'DevSkim-VSCode-Plugin/' + customCommand: 'run pack-ext' + - task: PowerShell@2 + displayName: Move Plugin File + inputs: + targetType: 'inline' + script: 'mv DevSkim-VSCode-Plugin/*.vsix $env:BUILD_STAGINGDIRECTORY/packages/'