6b88f4b33d
Fix the nodesource.list cannot read issue, it is cased by the full path not used. ``` 2021-12-03T06:59:26.0019306Z Removing intermediate container 77cfe980cd36 2021-12-03T06:59:26.0020872Z ---> 528fd40e60f6 2021-12-03T06:59:26.0021457Z Step 81/81 : RUN post_run_buildinfo 2021-12-03T06:59:26.0841136Z ---> Running in d804bd7e1b06 2021-12-03T06:59:29.1626594Z [91mDEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality. 2021-12-03T06:59:34.2960105Z [0m[91m/usr/bin/sed: can't read nodesource.list: No such file or directory 2021-12-03T06:59:34.5094880Z [0mThe command '/bin/sh -c post_run_buildinfo' returned a non-zero code: 2 ``` Co-authored-by: Ubuntu <xumia@xumia-vm1.jqzc3g5pdlluxln0vevsg3s20h.xx.internal.cloudapp.net>
114 lines
3.4 KiB
YAML
114 lines
3.4 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-slave-[buster|jessie|stretch] images for amd64/armhf/arm64
|
|
|
|
schedules:
|
|
- cron: "0 8 * * *"
|
|
branches:
|
|
include:
|
|
- master
|
|
- 202012
|
|
always: true
|
|
|
|
trigger: none
|
|
pr:
|
|
branches:
|
|
include:
|
|
- master
|
|
paths:
|
|
include:
|
|
- sonic-slave-jessie
|
|
- sonic-slave-stretch
|
|
- sonic-slave-buster
|
|
- src/sonic-build-hooks
|
|
|
|
parameters:
|
|
- name: 'arches'
|
|
type: object
|
|
default:
|
|
- amd64
|
|
- armhf
|
|
- arm64
|
|
- name: 'dists'
|
|
type: object
|
|
default:
|
|
- buster
|
|
- stretch
|
|
- jessie
|
|
- name: registry_url
|
|
type: string
|
|
default: sonicdev-microsoft.azurecr.io
|
|
- name: registry_conn
|
|
type: string
|
|
default: sonicdev
|
|
|
|
variables:
|
|
- ${{ if eq(variables['Build.SourceBranchName'], '202012') }}:
|
|
- name: BUILD_OPTIONS
|
|
value: 'SONIC_VERSION_CONTROL_COMPONENTS=deb,py2,py3,web,git,docker'
|
|
|
|
stages:
|
|
- stage: Build
|
|
jobs:
|
|
- ${{ each dist in parameters.dists }}:
|
|
- ${{ if endswith(variables['Build.DefinitionName'], dist) }}:
|
|
- ${{ each arch in parameters.arches }}:
|
|
- job: Build_${{ dist }}_${{ arch }}
|
|
timeoutInMinutes: 360
|
|
pool: sonicbld
|
|
steps:
|
|
- template: cleanup.yml
|
|
- checkout: self
|
|
clean: true
|
|
submodules: recursive
|
|
- bash: |
|
|
set -ex
|
|
|
|
containers=$(docker container ls | grep "sonic-slave" | awk '{ print $1 }')
|
|
if [ ! -z "$containers" ]; then
|
|
docker container kill $containers || true
|
|
sleep 5
|
|
fi
|
|
images=$(docker images 'sonic-slave-*' -a -q)
|
|
if [ ! -z "$images" ]; then
|
|
docker rmi -f $images
|
|
fi
|
|
|
|
SLAVE_DIR=sonic-slave-${{ dist }}
|
|
if [ x${{ arch }} == x"amd64" ]; then
|
|
SLAVE_BASE_IMAGE=${SLAVE_DIR}
|
|
else
|
|
SLAVE_BASE_IMAGE=${SLAVE_DIR}-march-${{ arch }}
|
|
fi
|
|
|
|
tmpfile=$(mktemp)
|
|
|
|
echo ${{ arch }} > .arch
|
|
|
|
DOCKER_DATA_ROOT_FOR_MULTIARCH=/data/march/docker BLDENV=${{ dist }} $(BUILD_OPTIONS) make -f Makefile.work sonic-slave-build | tee $tmpfile
|
|
SLAVE_BASE_TAG=$(grep "^Checking sonic-slave-base image:" $tmpfile | awk -F ':' '{print $3}')
|
|
SLAVE_TAG=$(grep "^Checking sonic-slave image:" $tmpfile | awk -F ':' '{print $3}')
|
|
|
|
mkdir -p target
|
|
|
|
docker tag $SLAVE_BASE_IMAGE:$SLAVE_BASE_TAG $REGISTRY_SERVER/$SLAVE_BASE_IMAGE:latest
|
|
docker tag $SLAVE_BASE_IMAGE:$SLAVE_BASE_TAG $REGISTRY_SERVER/$SLAVE_BASE_IMAGE:$SLAVE_BASE_TAG
|
|
set +x
|
|
echo "##vso[task.setvariable variable=VARIABLE_SLAVE_BASE_IMAGE]$SLAVE_BASE_IMAGE"
|
|
echo "##vso[task.setvariable variable=VARIABLE_SLAVE_BASE_TAG]$SLAVE_BASE_TAG"
|
|
env:
|
|
REGISTRY_SERVER: ${{ parameters.registry_url }}
|
|
displayName: Build sonic-slave-${{ dist }}-${{ arch }}
|
|
|
|
- task: Docker@2
|
|
displayName: Upload image
|
|
inputs:
|
|
containerRegistry: ${{ parameters.registry_conn }}
|
|
repository: $(VARIABLE_SLAVE_BASE_IMAGE)
|
|
command: push
|
|
tags: |
|
|
$(VARIABLE_SLAVE_BASE_TAG)
|
|
latest
|