[ci]: Complete sonic-swss CI-unification cutover - #4821
Draft
theasianpianist wants to merge 2 commits into
Draft
Conversation
Land all sonic-swss-owned migration surfaces in one change. Build and local development: - replace the local container-setup.py artifact installer and duplicated Build-template setup with sonic-swss-common's shared buildenv_setup - add declarative Build/Test packages and immediate upstream artifacts; inherit sairedis -> swss-common -> common-libs/VPP transitively - add the canonical build.sh, preserve the existing non-root/custom local development workflow, and publish build-env/ additively with the existing top-level DEBs/coverage artifacts - expose repo + staged_upstreams so upstream pipelines can reuse SWSS's canonical Build template with required same-run artifacts Shared docker-sonic-vs stack: - replace the repo-specific BuildDocker template with a swss-owned reusable build-docker-template - parameterize debug package, VPP, gcov, nexthopgroup, and current-run swss-common/sairedis artifact sources while keeping SWSS behavior default - parameterize the Dockerfile without changing its current package set, coverage source handling, or ASAN image behavior Shared VS test stack: - replace the imperative local test template with run-vs-tests-template - use buildenv_setup --scope test and packages/test.yaml for the shared host environment, while retaining module setup, coverage, ASAN, logging, JUnit, retry/parallel execution, and the SWSS single_asic_voq test pass - provide neutral defaults plus staged_upstreams/repo parameters for later sonic-sairedis and sonic-swss-common adoption The deprecated azure-pipelines-dash.yml is intentionally unchanged. Consumer repo references and the final required shared-infra gate remain follow-up PRs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 19e0b615-271d-48f0-98cc-7ad6905c7f9e Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
Quote --force-confask,confnew in YAML so it is passed to dpkg as a single option rather than being split into an option plus a nonexistent `confnew` archive path. Validated the corrected test scope end-to-end in Ubuntu 22.04: common-libs, swss-common test-host and sonic-buildimage artifacts install successfully, libyang Python bindings build, and the shared Redis hook completes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 19e0b615-271d-48f0-98cc-7ad6905c7f9e Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
Collaborator
|
/azp run |
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Contributor
Author
|
/azp run |
|
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command. |
Contributor
Author
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Complete all migration changes owned by the sonic-swss repository in one PR,
following merged sonic-swss-common #1222 and sonic-sairedis #2016.
This PR moves SWSS Build and VS-test host setup to the shared
sonic-swss-common/ci/buildenv_setupmechanism, makes sonic-swss the singleowner of the reusable docker-sonic-vs build and VS-test templates, and cuts
SWSS's own BuildDocker/Test stages over to those templates.
azure-pipelines-dash.ymlis deprecated and intentionally unchanged.Cross-repo references from sonic-swss-common/sonic-sairedis and the final
required shared-infra gate remain separate follow-ups because they modify other
repositories/policy.
Build and local development
build-env/packages/{base,tooling,test}.yamlandbuild-env/upstream-artifacts.yaml.sairedis artifact recursively supplies swss-common/common-libs/VPP and shared
package/post-install configuration.
shared
buildenv_setup.build-env/build.shfor package build + Rust tests.build-env/container-setup.pyartifact installer.but drive its canonical dependencies through
buildenv_setup.build-env/additively beside the existing top-level DEBs and coveragefiles for future downstream cascading.
repo+staged_upstreamson the Build template for same-run reuse byupstream pipelines.
Shared docker-sonic-vs build
build-docker-sonic-vs-template.ymlwith reusablebuild-docker-template.yml.nexthopgroup, and current-run swss-common/sairedis artifacts.
VPP sysctl handling, coverage-source restoration, branch/result filters, and
package set.
the same implementation in later PRs.
Shared VS-test execution
test-docker-sonic-vs-template.ymlwith reusablerun-vs-tests-template.yml.buildenv_setup --scope testplus SWSS-ownedpackages/test.yamlandtest-scoped artifact declarations for the Ubuntu 22.04 host.
retries/parallelism, JUnit, logs, coverage, ASAN reporting, VRF smoke check,
and SWSS's
single_asic_voq_fstest pass.repo,staged_upstreams,extra_modes, andexplicit failure-policy parameters for later sairedis/swss-common adoption.
Validation completed before PR
git diff --check.docker build --check.buildenv_setup --dry-runfor bookworm/trixie across amd64/armhf/arm64 andUbuntu 22.04 Test scope.
swss -> sairedis -> common-libs/swss-common/sonic-yang/VPP + dash-api,including required-staged enforcement, VPP's isolated install environment,
and shared Redis source resolution.
sonic-buildimage Ubuntu artifacts.
sonic-slave-bookworm:master-amd64, using sairedis PRartifact
1183201as a required staged bundle; all nested artifacts and theshared Redis hook installed successfully.
protobuf/dash DEBs, Python libyang binding and Redis setup completed. This run
caught and fixed the YAML quoting of
--force-confask,confnew(d66a8129).Temporary CI note
Post-merge sairedis master run 1186981 (source
24673778) is still inprogress.
buildenv_setupintentionally resolves only completed upstream runs,so the first Azure run may select a pre-migration sairedis master artifact that
does not publish
build-env/. Once 1186981 completes, Azure CI will beretriggered and must use the cascade-ready master artifact across bookworm,
arm, and trixie legs.
Design context: sonic-net/SONiC#2419.