7c5f616469
* Fix sonic-mgmt docker build due to Bookworm changes Because of the Bookworm upgrade, when some build target is specified on the command line, the build system will try to build everything for buster and bullseye distros, even if it's not needed by the target. As a workaround, call the underlying Makefile.work script with `BLDENV=bullseye` to have it only build packages related to sonic-mgmt. Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com> * Mark docker-sonic-mgmt as a Bullseye container Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com> --------- Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
64 lines
1.9 KiB
YAML
64 lines
1.9 KiB
YAML
# Starter pipeline
|
|
# Start with a minimal pipeline that you can customize to build and deploy your code.
|
|
# Add steps that build, run tests, deploy, and more:
|
|
# https://aka.ms/yaml
|
|
# Build and push sonic-mgmt image
|
|
|
|
schedules:
|
|
- cron: "0 8 * * *"
|
|
branches:
|
|
include:
|
|
- master
|
|
always: true
|
|
|
|
trigger: none
|
|
pr:
|
|
branches:
|
|
include:
|
|
- master
|
|
paths:
|
|
include:
|
|
- dockers/docker-sonic-mgmt
|
|
|
|
parameters:
|
|
- name: registry_url
|
|
type: string
|
|
default: sonicdev-microsoft.azurecr.io
|
|
- name: registry_conn
|
|
type: string
|
|
default: sonicdev
|
|
|
|
stages:
|
|
- stage: Build
|
|
jobs:
|
|
- job: Build
|
|
pool: sonicbld
|
|
timeoutInMinutes: 360
|
|
steps:
|
|
- template: cleanup.yml
|
|
- checkout: self
|
|
clean: true
|
|
- bash: |
|
|
set -xe
|
|
git submodule update --init --recursive -- src/sonic-platform-daemons src/sonic-genl-packet src/sonic-sairedis src/ptf src/sonic-device-data
|
|
|
|
make SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y configure PLATFORM=generic
|
|
make -f Makefile.work BLDENV=bullseye SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y LEGACY_SONIC_MGMT_DOCKER=n target/docker-sonic-mgmt.gz
|
|
cp target -r $(Build.ArtifactStagingDirectory)/target
|
|
docker load -i target/docker-sonic-mgmt.gz
|
|
docker tag docker-sonic-mgmt $REGISTRY_SERVER/docker-sonic-mgmt:py3only
|
|
env:
|
|
REGISTRY_SERVER: ${{ parameters.registry_url }}
|
|
displayName: Build docker-sonic-mgmt.gz
|
|
- task: Docker@2
|
|
displayName: Upload image
|
|
inputs:
|
|
containerRegistry: ${{ parameters.registry_conn }}
|
|
repository: docker-sonic-mgmt
|
|
command: push
|
|
tags: py3only
|
|
- publish: $(Build.ArtifactStagingDirectory)
|
|
artifact: 'docker-sonic-mgmt'
|
|
displayName: "Archive docker image sonic-mgmt"
|
|
|