Skip to content

Commit b23f79f

Browse files
[ci] Fix docker hang issue and change template reference branch (sonic-net#13894) (sonic-net#13921)
Why I did it Cherry pick PR(sonic-net#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
1 parent 0095ad5 commit b23f79f

File tree

3 files changed

+29
-4
lines changed

3 files changed

+29
-4
lines changed

.azure-pipelines/azure-pipelines-build.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ jobs:
100100
platform_rpc: nephos
101101

102102
buildSteps:
103-
- template: template-skipvstest.yml
103+
- template: .azure-pipelines/template-skipvstest.yml@buildimage
104+
- template: .azure-pipelines/template-daemon.yml@buildimage
104105
- bash: |
105106
(
106107
while true
@@ -170,4 +171,4 @@ jobs:
170171
fi
171172
sudo kill $daemon_pid
172173
displayName: "Build sonic image"
173-
- template: check-dirty-version.yml
174+
- template: .azure-pipelines/check-dirty-version.yml@buildimage

.azure-pipelines/azure-pipelines-image-template.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
jobFilters: ${{ parameters.jobFilters }}
2626
jobVariables: ${{ parameters.jobVariables }}
2727
preSteps:
28-
- template: cleanup.yml
28+
- template: .azure-pipelines/cleanup.yml@buildimage
2929
- ${{ parameters.preSteps }}
3030
- script: |
3131
if [ -n "$(CACHE_MODE)" ] && echo $(PLATFORM_AZP) | grep -E -q "^(vs|broadcom|mellanox|marvell-armhf)$"; then
@@ -67,6 +67,6 @@ jobs:
6767
artifactName: 'sonic-buildimage.$(GROUP_NAME)$(GROUP_EXTNAME)'
6868
publishPrefix: '$(Build.DefinitionName)/$(Build.SourceBranchName)/$(GROUP_NAME)'
6969
- ${{ parameters.postSteps }}
70-
- template: cleanup.yml
70+
- template: .azure-pipelines/cleanup.yml@buildimage
7171
jobGroups: ${{ parameters.jobGroups }}
7272
buildSteps: ${{ parameters.buildSteps }}

.azure-pipelines/template-daemon.yml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
steps:
2+
- bash: |
3+
(
4+
while true
5+
do
6+
sleep 120
7+
now=$(date +%s)
8+
pids=$(ps -C docker -o pid,etime,args | grep "docker build" | cut -d" " -f2)
9+
for pid in $pids
10+
do
11+
start=$(date --date="$(ls -dl /proc/$pid --time-style full-iso | awk '{print$6,$7}')" +%s)
12+
time_s=$(($now-$start))
13+
if [[ $time_s -gt $(DOCKER_BUILD_TIMEOUT) ]]; then
14+
echo =========== $(date +%F%T) $time_s &>> target/daemon.log
15+
ps $pid &>> target/daemon.log
16+
sudo kill $pid
17+
fi
18+
done
19+
done
20+
) &
21+
daemon_pid=$!
22+
ps $daemon_pid
23+
echo $daemon_pid >> /tmp/azp_daemon_kill_docker_pid
24+
displayName: start daemon to kill hang docker

0 commit comments

Comments
 (0)