|
1 |
| -jobs: |
2 |
| -- job: Build |
3 |
| - timeoutInMinutes: 120 |
4 |
| - pool: sonicbld |
5 |
| - variables: |
6 |
| - - template: template-variables.yml |
7 |
| - steps: |
8 |
| - - checkout: self |
9 |
| - clean: true |
10 |
| - submodules: recursive |
11 |
| - - script: | |
12 |
| - set -ex |
13 |
| - branch=$(Build.SourceBranchName) |
14 |
| - # DIST_MASTER is set in variable. |
15 |
| - BRANCH=DIST_${branch^^} |
16 |
| - bldenvs=${!BRANCH} |
17 |
| - [ "$bldenvs" == "" ] && bldenvs="$(COMMON_LIB_BUILD_ENVS)" |
18 |
| - for bldenv in $bldenvs |
19 |
| - do |
20 |
| - BLDENV=$bldenv make -f Makefile.work configure PLATFORM=vs ENABLE_DOCKER_BASE_PULL=y |
21 |
| - done |
22 |
| - set +x |
23 |
| - echo "##vso[task.setvariable variable=bldenvs;]$bldenvs" |
24 |
| - displayName: Make configure |
25 |
| - - script: | |
26 |
| - set -ex |
27 |
| - for bldenv in $(bldenvs) |
28 |
| - do |
29 |
| - LIBNL3_VERSION_BASE=$(grep "LIBNL3_VERSION_BASE =" rules/libnl3.mk | awk '{print$3}') |
30 |
| - LIBNL3_VERSION=$(grep "LIBNL3_VERSION =" rules/libnl3.mk | awk '{print$3}' | sed -e "s/(//" -e "s/)//" -e "s/\\$//" -e "s/LIBNL3_VERSION_BASE/$LIBNL3_VERSION_BASE/") |
31 |
| - SONIC_BUILD_JOBS=$(nproc) BLDENV=$bldenv make -f Makefile.work target/debs/$bldenv/libnl-3-200_${LIBNL3_VERSION}_amd64.deb ENABLE_DOCKER_BASE_PULL=y |
| 1 | +parameters: |
| 2 | +- name: archs |
| 3 | + type: object |
| 4 | + default: |
| 5 | + - amd64 |
| 6 | + - armhf |
| 7 | + - arm64 |
32 | 8 |
|
33 |
| - LIBYANG_VERSION_BASE=$(grep "LIBYANG_VERSION_BASE =" rules/libyang.mk | awk '{print$3}') |
34 |
| - LIBYANG_VERSION=$(grep "LIBYANG_VERSION =" rules/libyang.mk | awk '{print$3}' | sed -e "s/\\$//" -e "s/(//" -e "s/)//" -e "s/LIBYANG_VERSION_BASE/$LIBYANG_VERSION_BASE/") |
35 |
| - SONIC_BUILD_JOBS=$(nproc) BLDENV=$bldenv make -f Makefile.work target/debs/$bldenv/libyang_${LIBYANG_VERSION}_amd64.deb |
36 |
| - done |
37 |
| - mv target $(Build.ArtifactStagingDirectory) |
38 |
| - displayName: Make common lib packages |
39 |
| - - publish: $(Build.ArtifactStagingDirectory) |
40 |
| - artifact: common-lib |
| 9 | +jobs: |
| 10 | +- ${{ each arch in parameters.archs }}: |
| 11 | + - job: Build_${{ arch }} |
| 12 | + timeoutInMinutes: 120 |
| 13 | + ${{ if eq(arch,'amd64') }}: |
| 14 | + pool: sonicbld |
| 15 | + ${{ else }}: |
| 16 | + pool: sonicbld-${{ arch }} |
| 17 | + variables: |
| 18 | + - template: template-variables.yml |
| 19 | + steps: |
| 20 | + - checkout: self |
| 21 | + clean: true |
| 22 | + submodules: recursive |
| 23 | + - script: | |
| 24 | + set -ex |
| 25 | + branch=$(Build.SourceBranchName) |
| 26 | + # replace all: '-' -> '_' |
| 27 | + branch=${branch//-/_} |
| 28 | + # replace all: 'a' -> 'A', DIST_MASTER is set in variable. |
| 29 | + BRANCH=DIST_${branch^^} |
| 30 | + # variable name is dynamic |
| 31 | + bldenvs=${!BRANCH} |
| 32 | + [ "$bldenvs" == "" ] && bldenvs="$(COMMON_LIB_BUILD_ENVS)" |
| 33 | + for bldenv in $bldenvs |
| 34 | + do |
| 35 | + BLDENV=$bldenv make -f Makefile.work configure PLATFORM_ARCH=${{ arch }} PLATFORM=vs ENABLE_DOCKER_BASE_PULL=y |
| 36 | + done |
| 37 | + set +x |
| 38 | + echo "##vso[task.setvariable variable=bldenvs;]$bldenvs" |
| 39 | + displayName: Make configure |
| 40 | + - script: | |
| 41 | + set -ex |
| 42 | + for bldenv in $(bldenvs) |
| 43 | + do |
| 44 | + SONIC_BUILD_JOBS=$(nproc) BLDENV=$bldenv make -f Makefile.work lib-packages ENABLE_DOCKER_BASE_PULL=y |
| 45 | + done |
| 46 | + mv target $(Build.ArtifactStagingDirectory) |
| 47 | + displayName: Make common lib packages |
| 48 | + - ${{ if eq(arch,'amd64') }}: |
| 49 | + - publish: $(Build.ArtifactStagingDirectory) |
| 50 | + artifact: common-lib |
| 51 | + - ${{ else }}: |
| 52 | + - publish: $(Build.ArtifactStagingDirectory) |
| 53 | + artifact: common-lib.${{ arch }} |
0 commit comments