Skip to content

enable azure pipeline for 201811#6500

Merged
lguohan merged 5 commits intosonic-net:201811from
lguohan:ci201811
Jan 21, 2021
Merged

enable azure pipeline for 201811#6500
lguohan merged 5 commits intosonic-net:201811from
lguohan:ci201811

Conversation

@lguohan
Copy link
Collaborator

@lguohan lguohan commented Jan 20, 2021

- Why I did it
enable azure pipeline for 201811

- How I did it

- How to verify it
check the build

- Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

when parallel build is enabled, both docker-fpm-frr and docker-syncd-brcm
is built at the same time, docker-fpm-frr requires swss which requires to
install libsaivs-dev. docker-syncd-brcm requires syncd package which requires
to install libsaibcm-dev.

since libsaivs-dev and libsaibcm-dev install the sai header in the same
location, these two packages cannot be installed at the same time. Therefore,
we need to serialize the build between these two packages. Simply uninstall
the conflict package is not enough to solve this issue. The correct solution
is to have one package wait for another package to be uninstalled.

For example, if syncd is built first, then it will install libsaibcm-dev.
Meanwhile, if the swss build job starts and tries to install libsaivs-dev,
it will first try to query if libsaibcm-dev is installed or not. if it is
installed, then it will wait until libsaibcm-dev is uninstalled. After syncd
job is finished, it will uninstall libsaibcm-dev and swss build job will be
unblocked.

To solve this issue, _UNINSTALLS is introduced to uninstall a package that
is no longer needed and to allow blocked job to continue.

Signed-off-by: Guohan Lu <[email protected]>
…net#6408)

Fix sonic-net#119

when parallel build is enable, multiple dpkg-buildpackage
instances are running at the same time. /var/lib/dpkg is shared
by all instances and the /var/lib/dpkg/updates could be corrupted
and cause the build failure.

the fix is to use overlay fs to mount separate /var/lib/dpkg
for each dpkg-buildpackage instance so that they are not affecting
each other.

Signed-off-by: Guohan Lu <[email protected]>
fix a bug when there are multiple debian packages to be uninstalled

Signed-off-by: Guohan Lu <[email protected]>
@lguohan lguohan changed the title Ci201811 enable azure pipeline for 201811 Jan 20, 2021
use bash -t test flag to check if input device is tty or not

Signed-off-by: Guohan Lu <[email protected]>
@lguohan lguohan merged commit d40a82b into sonic-net:201811 Jan 21, 2021
@lguohan lguohan deleted the ci201811 branch January 21, 2021 07:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant