committed by
GitHub
10 changed files with 135 additions and 13 deletions
@ -0,0 +1,11 @@ |
|||||
|
deb http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted universe |
||||
|
deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted universe |
||||
|
|
||||
|
deb http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted universe |
||||
|
deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted universe |
||||
|
|
||||
|
deb http://ports.ubuntu.com/ubuntu-ports/ bionic-backports main restricted |
||||
|
deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-backports main restricted |
||||
|
|
||||
|
deb http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted universe multiverse |
||||
|
deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted universe multiverse |
||||
@ -0,0 +1,19 @@ |
|||||
|
Param( |
||||
|
[Parameter(Mandatory=$true)][string] $ManifestDirPath # Manifest directory where sbom will be placed |
||||
|
) |
||||
|
|
||||
|
Write-Host "Creating dir $ManifestDirPath" |
||||
|
# create directory for sbom manifest to be placed |
||||
|
if (!(Test-Path -path $ManifestDirPath)) |
||||
|
{ |
||||
|
New-Item -ItemType Directory -path $ManifestDirPath |
||||
|
Write-Host "Successfully created directory $ManifestDirPath" |
||||
|
} |
||||
|
else{ |
||||
|
Write-PipelineTelemetryError -category 'Build' "Unable to create sbom folder." |
||||
|
} |
||||
|
|
||||
|
Write-Host "Updating artifact name" |
||||
|
$artifact_name = "${env:SYSTEM_STAGENAME}_${env:AGENT_JOBNAME}_SBOM" -replace '["/:<>\\|?@*"() ]', '_' |
||||
|
Write-Host "Artifact name $artifact_name" |
||||
|
Write-Host "##vso[task.setvariable variable=ARTIFACT_NAME]$artifact_name" |
||||
@ -0,0 +1,22 @@ |
|||||
|
#!/usr/bin/env bash |
||||
|
|
||||
|
source="${BASH_SOURCE[0]}" |
||||
|
|
||||
|
manifest_dir=$1 |
||||
|
|
||||
|
if [ ! -d "$manifest_dir" ] ; then |
||||
|
mkdir -p "$manifest_dir" |
||||
|
echo "Sbom directory created." $manifest_dir |
||||
|
else |
||||
|
Write-PipelineTelemetryError -category 'Build' "Unable to create sbom folder." |
||||
|
fi |
||||
|
|
||||
|
artifact_name=$SYSTEM_STAGENAME"_"$AGENT_JOBNAME"_SBOM" |
||||
|
echo "Artifact name before : "$artifact_name |
||||
|
# replace all special characters with _, some builds use special characters like : in Agent.Jobname, that is not a permissible name while uploading artifacts. |
||||
|
safe_artifact_name="${artifact_name//["/:<>\\|?@*$" ]/_}" |
||||
|
echo "Artifact name after : "$safe_artifact_name |
||||
|
export ARTIFACT_NAME=$safe_artifact_name |
||||
|
echo "##vso[task.setvariable variable=ARTIFACT_NAME]$safe_artifact_name" |
||||
|
|
||||
|
exit 0 |
||||
@ -0,0 +1,42 @@ |
|||||
|
# BuildDropPath - The root folder of the drop directory for which the manifest file will be generated. |
||||
|
# PackageName - The name of the package this SBOM represents. |
||||
|
# PackageVersion - The version of the package this SBOM represents. |
||||
|
# ManifestDirPath - The path of the directory where the generated manifest files will be placed |
||||
|
|
||||
|
parameters: |
||||
|
PackageVersion: 7.0.0 |
||||
|
BuildDropPath: '$(Build.SourcesDirectory)/artifacts' |
||||
|
PackageName: '.NET' |
||||
|
ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom |
||||
|
sbomContinueOnError: true |
||||
|
|
||||
|
steps: |
||||
|
- task: PowerShell@2 |
||||
|
displayName: Prep for SBOM generation in (Non-linux) |
||||
|
condition: or(eq(variables['Agent.Os'], 'Windows_NT'), eq(variables['Agent.Os'], 'Darwin')) |
||||
|
inputs: |
||||
|
filePath: ./eng/common/generate-sbom-prep.ps1 |
||||
|
arguments: ${{parameters.manifestDirPath}} |
||||
|
|
||||
|
- script: | |
||||
|
./eng/common/generate-sbom-prep.sh ${{parameters.manifestDirPath}} |
||||
|
displayName: Prep for SBOM generation in (Linux) |
||||
|
condition: eq(variables['Agent.Os'], 'Linux') |
||||
|
continueOnError: ${{ parameters.sbomContinueOnError }} |
||||
|
|
||||
|
- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0 |
||||
|
displayName: 'Generate SBOM manifest' |
||||
|
continueOnError: ${{ parameters.sbomContinueOnError }} |
||||
|
inputs: |
||||
|
PackageName: ${{ parameters.packageName }} |
||||
|
BuildDropPath: ${{ parameters.buildDropPath }} |
||||
|
PackageVersion: ${{ parameters.packageVersion }} |
||||
|
ManifestDirPath: ${{ parameters.manifestDirPath }} |
||||
|
|
||||
|
- task: PublishPipelineArtifact@1 |
||||
|
displayName: Publish SBOM manifest |
||||
|
continueOnError: ${{parameters.sbomContinueOnError}} |
||||
|
inputs: |
||||
|
targetPath: '${{parameters.manifestDirPath}}' |
||||
|
artifactName: $(ARTIFACT_NAME) |
||||
|
|
||||
Loading…
Reference in new issue