mirror of https://github.com/dotnet/tye.git
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