Compare commits

...
Author SHA1 Message Date
Laura Neto 4f1ce04871 Pipeline test 2025-10-23 15:33:24 +02:00
Laura Neto 0137b214d3 Generate BOM files on build 2025-10-23 13:58:17 +02:00
+50 -5
View File
@@ -79,6 +79,7 @@ stages:
jobs:
- job: A
displayName: Build Umbraco CMS
dependsOn: B
pool:
vmImage: "windows-latest"
steps:
@@ -86,7 +87,11 @@ stages:
submodules: false
lfs: false,
fetchDepth: 500
- template: templates/backoffice-install.yml
- task: DownloadPipelineArtifact@2
displayName: Download Frontend Assets
inputs:
artifact: static-assets
targetPath: src/Umbraco.Cms.StaticAssets/wwwroot/umbraco
- task: UseDotNet@2
displayName: Use .NET SDK from global.json
inputs:
@@ -113,9 +118,19 @@ stages:
inputs:
targetPath: $(Build.SourcesDirectory)
artifactName: build_output
- script: |
dotnet tool install --global CycloneDX
dotnet-CycloneDX $(solution) --output $(Build.ArtifactStagingDirectory)/bom --filename bom-backend.xml
name: Generate_Backend_BOM
displayName: 'Generate Backend BOM'
- task: PublishPipelineArtifact@1
displayName: Publish Backend UI BOM
inputs:
targetPath: $(Build.ArtifactStagingDirectory)/bom
artifactName: bom
- job: B
displayName: Build Bellissima Package
displayName: Build and package Frontend
pool:
vmImage: "ubuntu-latest"
steps:
@@ -125,7 +140,7 @@ stages:
fetchDepth: 500
- template: templates/backoffice-install.yml
- script: npm run build:for:npm
displayName: Run build:for:npm
displayName: Run Bellissima NPM build
workingDirectory: src/Umbraco.Web.UI.Client
- bash: |
echo "##[command]Running npm pack"
@@ -133,13 +148,43 @@ stages:
mkdir $(Build.ArtifactStagingDirectory)/npm
npm pack --pack-destination $(Build.ArtifactStagingDirectory)/npm
mv .npmrc $(Build.ArtifactStagingDirectory)/npm/
displayName: Run npm pack
displayName: Package Bellissima NPM
workingDirectory: src/Umbraco.Web.UI.Client
- task: PublishPipelineArtifact@1
displayName: Publish Bellissima npm artifact
displayName: Publish Bellissima NPM artifact
inputs:
targetPath: $(Build.ArtifactStagingDirectory)/npm
artifactName: npm
- script: |
rm -rf dist-cms
npm run build:for:cms
displayName: Run Backoffice CMS build
workingDirectory: src/Umbraco.Web.UI.Client
- script: |
npm ci --no-fund --no-audit
npm run build
displayName: Run Login CMS build
workingDirectory: src/Umbraco.Web.UI.Login
- script: |
mkdir -p $(Build.ArtifactStagingDirectory)/static-assets
cp -R ../Umbraco.Cms.StaticAssets/wwwroot/umbraco/backoffice $(Build.ArtifactStagingDirectory)/static-assets/backoffice
cp -R ../Umbraco.Cms.StaticAssets/wwwroot/umbraco/login $(Build.ArtifactStagingDirectory)/static-assets/login
displayName: Aggregate Frontend Assets
- task: PublishPipelineArtifact@1
displayName: Publish Frontend Assets artifact
inputs:
targetPath: $(Build.ArtifactStagingDirectory)/static-assets
artifactName: static-assets
- script: |
npm install --global @cyclonedx/cyclonedx-npm
cyclonedx-npm src/Umbraco.Web.UI.Client/package.json -o $(Build.ArtifactStagingDirectory)/bom/bom-backoffice.xml --ignore-npm-errors
cyclonedx-npm src/Umbraco.Web.UI.Login/package.json -o $(Build.ArtifactStagingDirectory)/bom/bom-login.xml --ignore-npm-errors
displayName: Generate UI BOMs
- task: PublishPipelineArtifact@1
displayName: Publish UI BOMs
inputs:
targetPath: $(Build.ArtifactStagingDirectory)/bom
artifactName: bom
- stage: Build_Docs
condition: and(succeeded(), or(eq(dependencies.Build.outputs['A.build.NBGV_PublicRelease'], 'True'), ${{parameters.buildApiDocs}}))