Commit Graph

170 Commits

Author SHA1 Message Date
Shilong Liu
c03bf075f7
[ci] Add azure pipeline to build common libs. (#10367)
Why I did it
To remove reference on Azure.sonic-buildimage artifacts.
Azure.sonic-buildimage has a higher failure rate.
2022-03-31 13:14:55 +08:00
Shilong Liu
8f01c7fba6
[build] Fix issues found in reproducible build. (#10407) 2022-03-31 13:07:46 +08:00
Shilong Liu
d8b80d2317
[ci] Use template from master branch in UpgrateVersion/sonic-slave pipeline (#10380) 2022-03-31 12:40:19 +08:00
xumia
ced22db1e3
[Build]: fix ENABLE_DOCKER_BASE_PULL not working issue in armhf/arm64 (#10330)
Why I did it
Fix ENABLE_DOCKER_BASE_PULL not working issue in armhf/arm64
For build in native armhf/arm64, the expected container registry repo name is sonic-slave-<stretch|buster|bullseye>

How I did it
Publish the slave image to sonic-slave-<stretch|buster|bullseye>.
2022-03-30 14:43:51 +08:00
xumia
8f418bb652
[Build]: Enable marvell-armhf PR check (#10259)
Why I did it
[Build]: Enable marvell-armhf PR check
Improve the azp dependencies, make the Test stage only depended on BuildVS stage. The Test stage will be triggered once the BuildVS stage finished, reduce the waiting time.
2022-03-23 22:36:53 +08:00
Shilong Liu
90416b565c
[ci] Fix remove sonic-slave-* docker image issue when building sonic-slave* (#10296) 2022-03-22 12:51:07 +08:00
xumia
49ac9f9005
[Build]: Support to set jobFilters (#10280)
[Build]: Support to set jobFilters
2022-03-21 10:27:24 +08:00
xumia
14921e39d1
[Build][Ci]: Support to use the cisco sai packages built by azp (#10102)
Why I did it
Support to use the cisco sai packages built by azp
2022-03-08 10:15:52 +08:00
Qi Luo
c9cf4d9ff0
sonic-slave-buster pins the versions of Jinja2 and MarkupSafe in py3 (#10043)
#### Why I did it
Upstream breaking change, ref discussion https://github.com/pallets/markupsafe/issues/282
2022-02-24 17:00:13 -08:00
Zhaohui Sun
44028723ef
Split kvmtest t0 job into two jobs and run in parallel (#10044)
Why I did it
Introduce 2 sub jobs for kvmtest t0 job in sonic-mgmt repo in PR Azure/sonic-mgmt#4861
But in sonic-buildimage repo, because section parameter is null, it always run the part 2 test scripts in kvmtest t0 job.
It missed the part 1 test scripts in kvmtest.sh.

How I did it
Split kvmtest t0 job into two sub jobs such as sonic-mgmt repo and run them in parallel to save time.

How to verify it
Submit PR will trigger the pipeline to run.

Signed-off-by: Zhaohui Sun <zhaohuisun@microsoft.com>
2022-02-24 10:20:24 +08:00
Mohamed Ghoneim
f21a45b68a
[build] fix build exception and revert #9136 (#10037)
#### Why I did it

1. Fix Build exception [example](https://dev.azure.com/mssonic/build/_build/results?buildId=73911&view=logs&jobId=88ce9a53-729c-5fa9-7b6e-3d98f2488e3f&j=cef3d8a9-152e-5193-620b-567dc18af272&t=ac3bce9f-b126-5a26-3fee-28ce0ec1679d)

```
2022-02-19T01:54:23.4200556Z ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/usr/local/lib/python3.8/dist-packages/markupsafe/__init__.py)
```

This is because Jinja2 uses MarkupSafe without specifying an upper limit to the version, MarkupSafe version that was released today removed 'soft_unicode'. So now Jinja2 is complaining.

Related issues:
https://github.com/pallets/jinja/issues/1591
https://github.com/aws/aws-sam-cli/issues/3661


2. Reverts #9136

Fixing build failures in SONiC utils [example](https://dev.azure.com/mssonic/build/_build/results?buildId=73784&view=logs&jobId=83516c17-6666-5250-abde-63983ce72a49&j=83516c17-6666-5250-abde-63983ce72a49&t=6177235f-d4f1-5f72-835a-90ebb93a1784)

One of the errors:
```
 TestPathAddressing.test_find_ref_paths__ref_is_the_whole_key__returns_ref_paths 

self = <tests.generic_config_updater.gu_common_test.TestPathAddressing testMethod=test_find_ref_paths__ref_is_the_whole_key__returns_ref_paths>

    def test_find_ref_paths__ref_is_the_whole_key__returns_ref_paths(self):
        # Arrange
        path = "/PORT/Ethernet0"
        expected = [
            "/ACL_TABLE/NO-NSW-PACL-V4/ports/0",
            "/VLAN_MEMBER/Vlan1000|Ethernet0",
        ]
    
        # Act
        actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON)
    
        # Assert
>       self.assertEqual(expected, actual)
E       AssertionError: Lists differ: ['/ACL_TABLE/NO-NSW-PACL-V4/ports/0', '/VLAN_MEMBER/Vlan1000|Ethernet0'] != ['/ACL_TABLE/NO-NSW-PACL-V4/ports/0']
E       
E       First list contains 1 additional elements.
E       First extra element 1:
E       '/VLAN_MEMBER/Vlan1000|Ethernet0'
E       
E       - ['/ACL_TABLE/NO-NSW-PACL-V4/ports/0', '/VLAN_MEMBER/Vlan1000|Ethernet0']
E       + ['/ACL_TABLE/NO-NSW-PACL-V4/ports/0']
```

The VLAN_MEMBER backlink (can be called referrer link or ref link) is not found.

Issue introduced by https://github.com/Azure/sonic-buildimage/pull/9136
I don't know how this PR passed the build system, it should have failed.

Known YANG issue https://github.com/Azure/sonic-buildimage/issues/9312

#### How I did it
The import to `sonic-vlan` is breaking the build
```
    import sonic-vlan {
        prefix vlan;
    }
```

I am not sure if that's the only issue, so I think reverting the whole PR should be the safer option.

#### How to verify it
Ran sonic-utils tests locally.
2022-02-21 11:07:29 -08:00
xumia
dbdce62efe
[Bug][Build]: Fix azp trigger branches error (#9668)
The character "?" is not supported in azp template trigger branches, only support *.
2022-01-04 19:55:30 +08:00
xumia
faab7d5991
[Build]: Support reproducible build for release branches (#9426)
[Build]: Support reproducible build for release branches #9426
2021-12-23 16:16:55 +08:00
xumia
471a31fce0
[Bug][Build]: fix the file not found issue caused by the relative pat… (#9443)
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 DEPRECATION: 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 /usr/bin/sed: can't read nodesource.list: No such file or directory
2021-12-03T06:59:34.5094880Z The 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>
2021-12-03 21:23:09 -08:00
Shilong Liu
51a0aed02a
[ci] Fix PR checker archieve artifacts step (#9357)
Why I did it
When a failed job retry. Publish artifact will fail for duplicated name
2021-11-24 14:10:04 +08:00
Shilong Liu
5d23035333
[CI] Fix Azure pipeline set -e not work. (#9282)
In azure pipeline template 'set -e' not works as expected.
2021-11-17 21:01:41 -08:00
Shilong Liu
1025296cb4
Add artifacts for failure build to debug. (#9213) 2021-11-10 23:15:06 +08:00
Saikrishna Arcot
a8ae39d65b
[ci]: Increase pipeline build timeout from 12 hours to 15 hours (#9200)
With a Bullseye upgrade, a change that requires everything to get
rebuilt (including the slave containers) takes about 12 hours (the vs
job that builds the virtual switch image as well as the PTF container
sometimes times out towards the end). Part of this is because the kernel
is now built after all of the sonic containers (kernel is built in a
Bullseye slave, the docker containers are built in a Buster slave).
Another part is because during the ptf container build, for some reason,
all of the docker containers are rebuilt.

Therefore, to make sure PRs don't time out after Bullseye gets merged
in, bump up the timeout from 12 hours to 15 hours. This should be enough
for the builds to complete.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-11-09 07:35:18 -08:00
Guohan Lu
7cfce6f3f2
[ci]: add native arm64/armhf sonic-slave build pipeline (#9056)
setup sonic-slave template and use the template
for amd64, arm64 and armhf sonic-slave

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-11-06 03:42:51 -07:00
Guohan Lu
0c68585ecb [ci]: build marvel armhf on sonicbld-armhf pool [Guohan Lu]
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-10-27 13:00:00 -07:00
Guohan Lu
150673704c [ci]: build centec arm64 to sonicbld-arm64 pool
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-10-25 16:26:48 -07:00
xumia
b9366f3f8e
Fix failed to download cisco artifacts issue (#8942)
Why I did it
Fix the failure to download cisco artifacts issue
2021-10-14 14:14:27 +08:00
xumia
3855ce2849
[ci]: Support azp for cisco 8000 (#8654)
Why I did it
Setup Azure pipeline for cisco 8000.
2021-10-08 15:31:49 +08:00
SuvarnaMeenakshi
5324ce8a4d
[azure-pipeline][multi-asic]: Add azure pipeline script to generate multi asic vs image (#8215)
Why I did it
To be able to run VS test on official multi asic VS image.

How I did it
Add a new script to build multi-asic VS image by passing NUM_ASIC build parameter.
Rung multi-asic t1-lag test cases with the built image.
2021-09-24 11:14:43 -07:00
Shilong Liu
e6699a0132
Add pipeline to build vhdx image. (#8665)
* Add pipeline to build vhdx image
2021-09-17 16:18:36 +08:00
Shilong Liu
086254bfd2
Fix azp pipeline file which is involved by former PR (#8616) 2021-08-30 10:49:52 +08:00
Shilong Liu
c44dbf0fe0
[build] Fix reproducible build issues (#8548)
* [build] Fix reproducible build issues
2021-08-26 18:21:18 +08:00
Shilong Liu
66089647b9
[CI] lengthen time limit for arm platform (#8295)
#### Why I did it
Building image for arm platform needs more time.
#### How I did it
lengthen time limit from 1.5 days to 2 days
2021-08-04 01:45:38 -07:00
Saikrishna Arcot
24c90cedc4 Enable sonic-slave-bullseye in Azure pipelines build
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2021-07-15 00:02:18 -07:00
Shilong Liu
31c5797015
Enable reproducible build in base docker image sonic-slave-* (#8116) 2021-07-09 14:51:17 +08:00
Shilong Liu
a3894b723e
[CI] Azp add cache-building job (#7871)
This job will make cache file more quickly than official build.
2021-06-23 18:44:40 -07:00
xumia
0b53a60412
[ci]: build rpc image for mellanox (#7905) 2021-06-20 23:12:25 -07:00
Shilong Liu
52c721887e
[CI] Add publish step in docker-sonic-mgmt azure pipeline (#7902) 2021-06-17 10:26:21 -07:00
Shilong Liu
df62e9cb22
[CI] Fix azp built docker-sonic-mgmt image (#7890)
UserID is different with the image built by Jenkins if we build docker-sonic-mgmt in sonicbld pool.
So we build this image in sonictest pool. There is a sonictmp user with UserID 1001.
This will make docker image same as the image built in Jenkins
2021-06-16 09:41:42 -07:00
Shilong Liu
aeeef2d382
[CI] Fix azp targets for innovium platform (#7870)
There is no rule to build swi target. The correct target is *.bin.
2021-06-15 16:38:02 -07:00
Myron Sosyak
9a7b83c693
[BFN] Add missed param for syncd-rpc build (#7792)
To fix syncd-rpc build for BFN paltform
2021-06-08 09:43:00 -07:00
Myron Sosyak
05dddea9da
[BFN] Enable syncd-rpc build (#7646)
Why I did it
To enable syncd-rpc for Barefoot build

How I did it
Set the flag

How to verify it
ENABLE_SYNCD_RPC=y make configure PLATFORM=barefoot
ENABLE_SYNCD_RPC=y make all
2021-06-02 20:01:35 +08:00
Shilong Liu
80fe4ed860
[ci]: enable official build in release branch (#7603)
Signed-off-by: Shilong Liu <shilongliu@microsoft.com>
2021-05-13 07:54:11 -07:00
Guohan Lu
a2d33a2a37 [ci]: enable sonic-slave scheduled build on 202012
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-05-05 07:33:31 -07:00
Guohan Lu
853c214951 [ci]: set -ex for official build to exit on any build failures
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-05-03 12:31:52 -07:00
Guohan Lu
aeb73ad529 [ci]: increase official build to 12 hours
10-hour limit is not enough to finish several jobs.

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-05-03 12:31:31 -07:00
Guohan Lu
e1ff8b6ad6 [ci]: change timeout to 36 hours for armhf/arm64 build
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-05-02 09:55:15 -07:00
Shilong Liu
a10542e894
[CI] Add Bldenv pipeline files (#7458)
Add 3 pipeline files:

- pipeline for build docker image sonic-slave-[buster|jessie|stretch] for amd64/armhf/arm64, and push to ACR(sonicdev-microsoft.com)
- pipeline for build docker image sonic-mgmt, and push to ACR
- pipeline for cleaning dpkg cache which are created more than 30 days.

Co-authored-by: lguohan <lguohan@gmail.com>
2021-04-30 16:35:38 -07:00
xumia
45d59a59ef
Export the azure pipeline build id for SONiC version (#7406)
Improve the SONiC version, fix the "azure pipeline build id" part

<target branch name>-<pullrequest id>.<azure pipelines build id>-<merge commit id>
Example: master-7381.11668-43df5c87
2021-04-23 17:58:46 +08:00
xumia
4bf118006a
[ci]: Fix official build not existing issue (#7408)
When submitting a new official build for broadcom, vs, it prompts a error message, which says the job is not defined.
It was caused by the default option "[]", which is not empty, it is used as the jobGroups parameter.
2021-04-22 21:56:09 -07:00
xumia
e8582ac6b1
Improve the PR build version (#7381)
Why I did it
Improve the version of the Pull Request build by changing the local branch name.

How I did it
Change the default branch name merge to [target_branch_name]-[pullrequestid].

How to verify it
For official build, the version is not changed.
For pull request build, the version as below:
2021-04-23 10:24:00 +08:00
xumia
39d877c1ad
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines

When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.

Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-23 09:26:16 +08:00
Shilong Liu
8874a2aff4
[CI] Support 202012 branch generating version files for reproducible build (#7303)
for reproducible build azp

Signed-off-by: Shilong Liu <shilongliu@microsoft.com>
2021-04-21 11:06:15 -07:00
liushilongbuaa
d7fc384b6f [CI] Fix pipeline template artifacts struct bug and cleanup bug
Signed-off-by: liushilongbuaa <shilongliu@microsoft.com>
2021-04-21 09:03:11 -07:00
xumia
ac99b8fee8
[ci] Fix no enough space issue in docker root in multi arch build (#7321)
Why I did it
Failed to build the centec-arm64 for no space in docker data root.

How I did it
Change to use the data root to the folder under /data.
See detail info about DOCKER_DATA_ROOT_FOR_MULTIARCH in the file Makefile.work.

How to verify it
Set the environment variable, then the /data used as docker root.
2021-04-15 14:32:08 +08:00
xumia
f5703825e3
Fix the SONiC version starting with HEAD issue (#7319) 2021-04-14 21:18:43 +08:00
xumia
7df4c0ad7c
[ci] Fix the wrong build options issue (#7287)
Why I did it
Fix the wrong build options and improve display name for some tasks
1. Fix the wrong build architecture for arm64 and armhf
2. Fix the build timeout parameter
2021-04-12 07:43:06 +08:00
Shilong Liu
1c220d923a
[CI] Fix the wrong environment variable PLATFORM passing into the slave container issue (#7262)
* fix

* fix
2021-04-09 07:36:53 +08:00
Shilong Liu
dcb9ef3d44
[CI] Update sonic image official build template. (#7198)
* draft

* fix

* Update new-build-template.yml

* Update azure-pipelines-build.yml

* Update azure-pipelines-job-groups.yml

* fix

* fix

* draft

* fix

* fix

* fix

* fix

* fix

* fix

Signed-off-by: Shilong Liu <shilongliu@microsoft.com>

Co-authored-by: Sonic Automation <svc-acs@microsoft.com>
2021-04-08 07:05:31 +08:00
lguohan
9fa5a6135c
[ci]: get build logs when build fails (#7219)
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-04-03 09:28:56 -07:00
lguohan
dbc7a45c73
[ci]: gzip the vm image disk and memdmp (#7131)
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-03-25 10:15:21 -07:00
xumia
75e3f3a74f
Fix the upgrade SONiC package version PR title (#7000)
[ci] Make the title of the PR to upgrade SONiC package versions better
2021-03-11 08:50:29 -08:00
xumia
d3040bd804
Add azure pipelines for reproducible build (#6870)
* Add azure pipelines for reproducible build

* Add always build flag for upgrade build

* Fix the build version ubuntu-20.04
2021-02-25 13:44:58 +08:00
Guohan Lu
e9b27f9450 [ci]: add official build for mellanox
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-24 15:12:27 -08:00
lguohan
7475b98eda
[ci]: build vs image in official build (#6768)
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-11 23:34:05 -08:00
Guohan Lu
4c8bff6c3c [ci]: improve cleanup by claim ownership in source folder
the added change was accidentally removed in commit 092f5378

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-10 23:36:32 -08:00
lguohan
ed9a14f0af
[ci]: move cleanup before archive artifacts (#6749)
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-10 11:45:07 -08:00
Guohan Lu
c56cd004a5 [ci]: add centec-arm64 to offical build
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-09 01:25:18 -08:00
lguohan
d843d6ed12
[ci]: restructure repo clean up to make it robust (#6716)
restructure repo clean up to make it robust

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-08 08:06:36 -08:00
Guohan Lu
54abfd560a [ci]: fix the build template error
proper bool comparision

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-07 02:09:44 -08:00
lguohan
2a66e80deb
[ci]: add marvel armhf official build (#6707)
- [ci]: add default values to build template
- [ci]: add marvel armhf official build

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-06 16:58:15 -08:00
Guohan Lu
b4fc842b70 [skip ci]: disable trigger for official build
official build only use scheduled build

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-06 11:33:30 -08:00
Guohan Lu
f5b24d8b27 [ci]: rename official-broadcom to official-build.yml
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-06 10:17:47 -08:00
liushilongbuaa
23381e6d01
[ci]: Add yaml for azure pipeline official build (#6588)
**- Why I did it**
To support nightly build for master branch

**- How to verify it**
confirm from azure pipeline page.
2021-02-05 15:38:25 -08:00
lguohan
dbfdab7c4e
[ci]: add t1-lag testbed (#6619)
introduce run-test template 

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-01-31 19:47:10 -08:00