Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
hussamsh authored Jan 27, 2025
2 parents 407a343 + 4013a44 commit a6d06b9
Show file tree
Hide file tree
Showing 3,799 changed files with 689,391 additions and 67,162 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
125 changes: 125 additions & 0 deletions .azure-pipelines/azure-pipelines-build-vs-and-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
pr: none
trigger: none


name: $(TeamProject)_$(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r)

resources:
repositories:
- repository: sonic-mgmt
type: github
name: sonic-net/sonic-mgmt
ref: master
endpoint: sonic-net
- repository: buildimage
type: github
name: sonic-net/sonic-buildimage
endpoint: sonic-net
ref: master


variables:
- template: .azure-pipelines/azure-pipelines-repd-build-variables.yml@buildimage
- template: .azure-pipelines/template-variables.yml@buildimage
- name: CACHE_MODE
value: rcache
- name: ENABLE_FIPS
value: y
- name: BUILD_BRANCH
${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
value: $(System.PullRequest.TargetBranch)
${{ else }}:
value: $(Build.SourceBranchName)


parameters:
- name: SUBMODULE
type: string
default: ' '

- name: COMMIT_ID
type: string
default: ' '

- name: MGMT_BRANCH
type: string
default: 'master'

- name: TOPOLOGY
type: string
default: ''
values:
- t0
- t0-64-32
- t1-lag
- multi-asic-t1-lag
- dualtor
- dpu

- name: DEPLOY_MG_EXTRA_PARAMS
type: string
default: ' '

- name: SCRIPTS
type: string
default: ' '

- name: FEATURES
type: string
default: ' '

- name: MIN_WORKER
type: string
default: '1'

- name: MAX_WORKER
type: string
default: '1'

- name: STOP_ON_FAILURE
type: string
default: 'False'
values:
- 'True'
- 'False'

stages:
- stage: BuildVS
pool: sonicbld-1es
jobs:
- template: azure-pipelines-build.yml
parameters:
buildOptions: 'USERNAME=admin SONIC_BUILD_JOBS=$(nproc) BUILD_MULTIASIC_KVM=y INCLUDE_DHCP_SERVER=y ${{ variables. VERSION_CONTROL_OPTIONS }}'
jobGroups:
- name: vs
SUBMODULE: ${{ parameters.SUBMODULE }}
COMMIT_ID: ${{ parameters.COMMIT_ID }}

- stage: Test
dependsOn: BuildVS
condition: and(succeeded(), and(ne(stageDependencies.BuildVS.outputs['vs.SetVar.SKIP_VSTEST'], 'YES'), in(dependencies.BuildVS.result, 'Succeeded', 'SucceededWithIssues')))
variables:
- group: SONiC-Elastictest
- name: inventory
value: veos_vtb
- name: testbed_file
value: vtestbed.yaml

jobs:
- job: KVMTEST
displayName: "kvmtest by Elastictest"
timeoutInMinutes: 240
continueOnError: false
pool: sonic-ubuntu-1c
steps:
- template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt
parameters:
TOPOLOGY: ${{ parameters.TOPOLOGY }}
MIN_WORKER: ${{ parameters.MIN_WORKER }}
MAX_WORKER: ${{ parameters.MAX_WORKER }}
KVM_IMAGE_BRANCH: $(BUILD_BRANCH)
MGMT_BRANCH: ${{ parameters.MGMT_BRANCH }}
SCRIPTS: ${{ parameters.SCRIPTS }}
FEATURES: ${{ parameters.FEATURES }}
DEPLOY_MG_EXTRA_PARAMS: ${{ parameters.DEPLOY_MG_EXTRA_PARAMS }}
STOP_ON_FAILURE: ${{ parameters.STOP_ON_FAILURE }}
29 changes: 28 additions & 1 deletion .azure-pipelines/azure-pipelines-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,21 @@ parameters:
- name: 'qemuOrCrossBuild'
type: boolean
default: false
- name: SUBMODULE
type: string
default: ''
- name: COMMIT_ID
type: string
default: ''

jobs:
- template: azure-pipelines-image-template.yml
parameters:
jobFilters: ${{ parameters.jobFilters }}
preSteps: ${{ parameters.preSteps }}
postSteps: ${{ parameters.postSteps }}
SUBMODULE: ${{ parameters.SUBMODULE }}
COMMIT_ID: ${{ parameters.COMMIT_ID }}
jobVariables:
PLATFORM_AZP: $(GROUP_NAME)
PLATFORM_ARCH: amd64
Expand All @@ -38,6 +46,7 @@ jobs:
docker_syncd_rpc_image: no
syncd_rpc_image: no
platform_rpc: no
ss_image: no
${{ if parameters.qemuOrCrossBuild }}:
SONIC_SLAVE_DOCKER_DRIVER: 'vfs'
CACHE_MODE: 'none'
Expand Down Expand Up @@ -81,7 +90,7 @@ jobs:
variables:
dbg_image: yes

- name: innovium
- name: marvell-teralynx
variables:
dbg_image: yes

Expand All @@ -106,6 +115,7 @@ jobs:
- name: mellanox
variables:
dbg_image: yes
ss_image: yes
docker_syncd_rpc_image: yes
syncd_rpc_image: yes
platform_rpc: mlnx
Expand Down Expand Up @@ -162,6 +172,10 @@ jobs:
make $BUILD_OPTIONS INSTALL_DEBUG_TOOLS=y target/sonic-$(GROUP_NAME).bin
mv target/sonic-$(GROUP_NAME).bin target/sonic-$(GROUP_NAME)-dbg.bin
fi
if [ $(ss_image) == yes ]; then
make $BUILD_OPTIONS SMARTSWITCH=1 INCLUDE_DHCP_SERVER=y target/sonic-$(GROUP_NAME).bin
mv target/sonic-$(GROUP_NAME).bin target/sonic-$(GROUP_NAME)-smartswitch.bin
fi
if [ $(swi_image) == yes ]; then
make $BUILD_OPTIONS ENABLE_IMAGE_SIGNATURE=y target/sonic-aboot-$(GROUP_NAME).swi
fi
Expand All @@ -182,7 +196,20 @@ jobs:
make $BUILD_OPTIONS ENABLE_SYNCD_RPC=y target/sonic-$(GROUP_NAME).bin
mv target/sonic-mellanox.bin target/sonic-$(GROUP_NAME)-rpc.bin
fi
if [ $(GROUP_NAME) == nvidia-bluefield ]; then
make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).bfb
fi
make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).bin
fi
displayName: "Build sonic image"
- template: .azure-pipelines/check-dirty-version.yml@buildimage
- task: ManifestGeneratorTask@0
condition: ne(variables.SKIP_MG, 'y')
timeoutInMinutes: 60
continueOnError: true
displayName: "Manifest Generator"
inputs:
BuildDropPath: '$(System.DefaultWorkingDirectory)/target/'
ManifestDirPath: 'target/'
BuildComponentPath: $(System.DefaultWorkingDirectory)/src/

42 changes: 41 additions & 1 deletion .azure-pipelines/azure-pipelines-image-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ parameters:
- name: jobVariables
type: object
default: []
- name: SUBMODULE
type: string
default: ''
- name: COMMIT_ID
type: string
default: ''
jobs:
- template: azure-pipelines-job-groups.yml
parameters:
Expand All @@ -42,6 +48,21 @@ jobs:
fetchDepth: 0
condition: and(succeeded(), eq(variables.SKIP_CHECKOUT, ''))
displayName: 'Checkout code'
- script: |
if [ -n "${{ parameters.COMMIT_ID }}" ]; then
if [ -n "${{ parameters.SUBMODULE }}" ]; then
git submodule update --init --recursive
cd src/${{ parameters.SUBMODULE }}
fi
git checkout ${{ parameters.COMMIT_ID }}
else
echo "No specific commit id provided, checkout to latest commit"
fi
displayName: 'Checkout commit'
- script: |
set -x
sudo setfacl -R -b $(Agent.BuildDirectory)
displayName: 'setfacl'
- script: |
BRANCH_NAME=$(Build.SourceBranchName)
[ -n "$SYSTEM_PULLREQUEST_PULLREQUESTID" ] && BRANCH_NAME="$SYSTEM_PULLREQUEST_TARGETBRANCH-$SYSTEM_PULLREQUEST_PULLREQUESTNUMBER"
Expand All @@ -54,9 +75,28 @@ jobs:
displayName: 'Make configure'
postSteps:
- script: |
BUILD_REASON=$(Build.Reason)
echo "Build.Reason = $BUILD_REASON"
echo "Build.DefinitionName = $BUILD_DEFINITIONNAME"
if [[ "$BUILD_REASON" != "PullRequest" && "$BUILD_DEFINITIONNAME" == "Azure.sonic-buildimage.official.vs" ]]
then
PORT=443
DOCKERS=$(ls target/docker-ptf.gz)
BRANCH=$(Build.SourceBranchName)
echo "Branch = $BRANCH"
LABELS="$BRANCH"
[[ "$BRANCH" == "master" ]] && LABELS="$LABELS latest"
for f in $DOCKERS; do
echo $f
echo "Labels = $LABELS"
./push_docker.sh $f $(REGISTRY_SERVER_PUBLIC) $PORT $(REGISTRY_USERNAME) "$REGISTRY_PASSWD" "$LABELS"
done
fi
mkdir -p $(Build.ArtifactStagingDirectory)/target
mv target/* $(Build.ArtifactStagingDirectory)/target/
displayName: Copy Artifacts
env:
REGISTRY_PASSWD: $(REGISTRY_PASSWD)
displayName: Publish to Docker Registry and Copy Artifacts
condition: always()
- publish: $(Build.ArtifactStagingDirectory)
artifact: 'sonic-buildimage.$(GROUP_NAME)$(GROUP_EXTNAME)'
Expand Down
2 changes: 1 addition & 1 deletion .azure-pipelines/azure-pipelines-repd-build-variables.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
variables:
VERSION_CONTROL_OPTIONS: 'SONIC_VERSION_CONTROL_COMPONENTS=deb,py2,py3,web,git,docker'
VERSION_CONTROL_OPTIONS: 'SONIC_VERSION_CONTROL_COMPONENTS=py2,py3,web,git,docker'
1 change: 1 addition & 0 deletions .azure-pipelines/official-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ stages:
- stage: Build
pool: sonicbld-1es
variables:
- group: Container-Registry
- name: CACHE_MODE
value: wcache
- template: .azure-pipelines/azure-pipelines-repd-build-variables.yml@buildimage
Expand Down
2 changes: 1 addition & 1 deletion .azure-pipelines/template-variables.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
variables:
DEFAULT_CONTAINER_REGISTRY: 'publicmirror.azurecr.io'
COMMON_LIB_BUILD_ENVS: 'bullseye'
COMMON_LIB_BUILD_ENVS: 'bookworm'
SONIC_SLAVE_DOCKER_DRIVER: 'overlay2'
SONIC_BUILD_RETRY_COUNT: 3
SONIC_BUILD_RETRY_INTERVAL: 600
Expand Down
37 changes: 37 additions & 0 deletions .github/workflows/protect-file.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Protect certain files to avoid further changes

on:
push:
branches:
- 'master'
- '202[2-9][0-9][0-9]'
pull_request:
branches:
- 'master'
- '202[2-9][0-9][0-9]'

jobs:
check-file:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Fetch base branch
run: |
git fetch origin ${GITHUB_BASE_REF}
- name: Check protected files
run: |
echo "Starting file check step"
protected_files=('src/sonic-config-engine/minigraph.py' 'files/build_templates/init_cfg.json.j2')
base_branch=$(git rev-parse origin/${GITHUB_BASE_REF})
for protected_file in "${protected_files[@]}"; do
echo "Checking ${protected_file}"
if git diff --name-only $base_branch | grep -q "^${protected_file}\$"; then
echo "Error: You are trying to modify ${protected_file}, which is protected."
exit 1
fi
done
echo "No changes detected in protected files"
20 changes: 13 additions & 7 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
[submodule "src/sonic-frr/frr"]
path = src/sonic-frr/frr
url = https://github.com/sonic-net/sonic-frr.git
branch = frr/8.5
branch = frr-10.0.1
[submodule "platform/p4/p4-hlir/p4-hlir-v1.1"]
path = platform/p4/p4-hlir/p4-hlir-v1.1
url = https://github.com/p4lang/p4-hlir.git
Expand Down Expand Up @@ -106,6 +106,9 @@
[submodule "src/sonic-gnmi"]
path = src/sonic-gnmi
url = https://github.com/sonic-net/sonic-gnmi.git
[submodule "src/sonic-bmp"]
path = src/sonic-bmp
url = https://github.com/sonic-net/sonic-bmp.git
[submodule "src/sonic-genl-packet"]
path = src/sonic-genl-packet
url = https://github.com/sonic-net/sonic-genl-packet
Expand All @@ -121,9 +124,12 @@
[submodule "platform/marvell/sonic-platform-marvell"]
path = platform/marvell/sonic-platform-marvell
url = https://github.com/Marvell-switching/sonic-platform-arm64.git
[submodule "platform/innovium/sonic-platform-marvell"]
path = platform/innovium/sonic-platform-marvell
url = https://github.com/Marvell-switching/sonic-platform-marvell
[submodule "src/sonic-netconf-server"]
path = src/sonic-netconf-server
url = https://github.com/sonic-net/sonic-netconf-server
[submodule "src/sonic-stp"]
path = src/sonic-stp
url = https://github.com/sonic-net/sonic-stp
[submodule "platform/marvell-teralynx/sonic-platform-marvell-teralynx"]
path = platform/marvell-teralynx/sonic-platform-marvell-teralynx
url = https://github.com/Marvell-switching/sonic-platform-marvell.git
[submodule "platform/vpp"]
path = platform/vpp
url = https://github.com/sonic-net/sonic-platform-vpp.git
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ endif
PLATFORM_PATH := platform/$(if $(PLATFORM),$(PLATFORM),$(CONFIGURED_PLATFORM))
PLATFORM_CHECKOUT := platform/checkout
PLATFORM_CHECKOUT_FILE := $(PLATFORM_CHECKOUT)/$(PLATFORM).ini
ifeq ($(SMARTSWITCH),1)
PLATFORM_CHECKOUT_FILE := $(PLATFORM_CHECKOUT)/$(PLATFORM)-smartswitch.ini
endif
PLATFORM_CHECKOUT_CMD := $(shell if [ -f $(PLATFORM_CHECKOUT_FILE) ]; then PLATFORM_PATH=$(PLATFORM_PATH) j2 $(PLATFORM_CHECKOUT)/template.j2 $(PLATFORM_CHECKOUT_FILE); fi)
MAKE_WITH_RETRY := ./scripts/run_with_retry $(MAKE)

Expand Down
Loading

0 comments on commit a6d06b9

Please sign in to comment.