Why I did it
Cherry pick PR(#13894)
Azure pipeline change.
Use common template to make it easy to change common steps. Fix docker hang issue.
How I did it
How to verify it
Why I did it
Docker build has a low rate of hanging up.
It hangs on different steps. So, it looks like a bug in docker daemon.
How I did it
Start a daemon process to scan running time more than 1 hours, and kill the process.
How to verify it
Why I did it
If make fails, we can't rerun the make process, because existing patches can't apply again.
How I did it
Check if patches are applied. if yes, don't apply patches again.
How to verify it
Why I did it
Enabled SONiC on Supermicro switch SSE G3748. This contains the code needed under "device" directory.
How I did it
As per the porting guide documentation posted in SONiC WiKi
How to verify it
Build SONiC with ARC=arm64 PLATFORM=marvell and download image from ONIE into Supermicro SSE G3748
Why I did it
sonic_host_services depends on deepdiff.
But latest deepdiff version has error.
How I did it
pin deepdiff to previous version.
How to verify it
Why I did it
[Ci] Remove the platform innovium from version auto upgrade pipeline
There is a build issue in the specific platform innovium, it blocks the upgrade job to run successfully, disable the version upgrade temporarily.
How I did it
Remove the upgrade job for innovium
Why I did it
The libyang cannot be built with the latest version of cmake.
Example: https://dev.azure.com/mssonic/build/_build/results?buildId=181862&view=logs&j=993d6e22-aeec-5c03-fa19-35ecba587dd9&t=d0538dec-1681-5ff8-bd45-c0de13be9706
[ 96%] Building CXX object swig/python2/CMakeFiles/_yang2.dir/yangPYTHON_wrap.cxx.o
/sonic/src/libyang/libyang-1.0.73/build/swig/python2/yangPYTHON_wrap.cxx:3292:33: error: expected initializer before '.' token
# define SWIG_init init_yang.so
^
/sonic/src/libyang/libyang-1.0.73/build/swig/python2/yangPYTHON_wrap.cxx:102537:1: note: in expansion of macro 'SWIG_init'
SWIG_init(void) {
^~~~~~~~~
/sonic/src/libyang/libyang-1.0.73/build/swig/python2/yangPYTHON_wrap.cxx:101971:24: warning: 'swig_const_table' defined but not used [-Wunused-variable]
static swig_const_info swig_const_table[] = {
See relative issue: #4315
How I did it
Not upgrade the cmake, change to use the dbus-python 1.2.18 which is compatible with cmake 3.13.4
How to verify it
See https://dev.azure.com/mssonic/build/_build/results?buildId=194756&view=results
Why I did it
Makefile needs some dependencies from the Internet. It will fail for network related issue.
Retries will fix most of these issues.
How I did it
Add retries when running commands which maybe related with networking.
How to verify it
Why I did it
Fix the python3 dbus-python installation issue in arm.
See https://dev.azure.com/mssonic/be1b070f-be15-4154-aade-b1d3bfb17054/_apis/build/builds/180980/logs/96
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
CMake 3.15 or higher is required. You are running version 3.13.4
How I did it
Install the cmake package from buster-backports
How to verify it
Succeeded:
docker run --rm -it 8380970b72ea bash
sudo apt-get install -y -t buster-backports cmake
sudo pip3 install dbus-python
Where the docker image 8380970b72ea is the buster slave image in armhf.
Failed:
docker run --rm -it 8380970b72ea bash
sudo pip3 install dbus-python
Why I did it
Fix apt-get remove/purge version not locked issue when the apt-get options not specified.
How I did it
Add a space character before and after the command line parameters.
* [ci] Update azp template variable for reproducible build. (#11419)
* [ci] Disable reproducible build in master branch official build (#11452)
* [ci] Update reproducible build related pipeline. (#11810)
* [ci] Fix bug involved by PR 11810 which affect official build pipeline (#11891)
Why I did it
Fix the official build not triggered correctly issue, caused by the azp template path not existing.
How I did it
Change the azp template path.
Why I did it
Change the path of sonic submodules that point to "Azure" to point to "sonic-net"
How I did it
Replace "Azure" with "sonic-net" on all relevant paths of sonic submodules
Why I did it
Cherry-pick #12009, and fix code conflict.
Fix the dbus-pyhon installation failure when building docker-sonic-vs, caused by the command dbus-run-session not found.
The command "dbus-run-session" should be the new dependency introduced in dbus-python 1.3.2, the old version 1.2.18 does not have the issue.
How I did it
Install the dbus debian package which contains the command dbus-run-session.
It is not a blocking issue on release branches. The release branches with reproducible build feature can avoid such issue in official builds and PR builds, it only block the version upgrade (trying to upgrade from 1.2.18 to 1.3.2).
Why I did it
When any of the test job failed in the test stage, the rerun will not work, the test stage will be skipped automaticall, so we do not have chance to rerun the test stage again, and the checks of the test will be always in failed status, block the PR to merge forever.
It should be caused by the condition in the Test stage, we should specify the status of the BuildVS stage.
How I did it
Fix stage dependency logic.
* [build] Add version files to docker image dependencies
* [ci] Support to skip vstest using include/exclude config file. (#11086)
example:
├── folderA
│ ├── fileA (skip vstest)
│ ├── fileB
│ └── fileC
If we want to skip vstest when changing /folderA/fileA, and not skip vstest when changing fileB or fileC.
vstest-include:
^folderA/fileA
vstest-exclude:
^folderA
Why I did it
To remove the ipmihelper.py in S5248f directory to prevent the image label being marked 'dirty', due to the file being replaced by the ipmihelper.py in common folder during build.
How I did it
Remove ipmihelper.py in S5248f directory.
How to verify it
Build a broadcom image and verify that the tracked files are not modified.
Which release branch to backport (provide reason below if selected)
201811
201911
202006
202012
202106
202111
Description for the changelog
DellEMC S5248f : Remove duplicate ipmihelper.py
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)
Why I did it
[Build]: Fix the buster slave not built issue when building configure
When running build command "make configure", we can expect the buster slave will be built.