1 # These are the steps used in a container-based build in VSTS.
3 - ${{ if eq(parameters.qemu, 'true') }}:
4 - script: docker run --rm --privileged multiarch/qemu-user-static:register --reset
5 displayName: 'Register Docker QEMU'
8 displayName: Cache Docker layers
11 path: /tmp/dockercache
13 if [ -f /tmp/dockercache/${{parameters.docker.image}}.tar ]; then docker load < /tmp/dockercache/${{parameters.docker.image}}.tar; fi
14 displayName: 'Load Docker cache'
16 cd $(Build.SourcesDirectory)/azure-pipelines/docker &&
17 docker build -t libgit2/${{parameters.docker.image}} --build-arg BASE=${{parameters.docker.base}} -f ${{parameters.docker.image}} . &&
18 if [ ! -d /tmp/dockercache ]; then mkdir /tmp/dockercache; fi &&
19 docker save libgit2/${{parameters.docker.image}} $(docker history -q libgit2/${{parameters.docker.image}} | grep -v '<missing>') > /tmp/dockercache/${{parameters.docker.image}}.tar
20 displayName: 'Build Docker image'
24 action: 'Run an image'
25 imageName: libgit2/${{ parameters.docker.image }}
27 $(Build.SourcesDirectory):/home/libgit2/source
28 $(Build.BinariesDirectory):/home/libgit2/build
29 envVars: ${{ parameters.environmentVariables }}
30 workDir: '/home/libgit2/build'
31 containerCommand: '/home/libgit2/source/azure-pipelines/build.sh'
36 action: 'Run an image'
37 imageName: libgit2/${{ parameters.docker.image }}
39 $(Build.SourcesDirectory):/home/libgit2/source
40 $(Build.BinariesDirectory):/home/libgit2/build
41 envVars: ${{ parameters.environmentVariables }}
42 workDir: '/home/libgit2/build'
43 containerCommand: '/home/libgit2/source/azure-pipelines/test.sh'
45 - task: publishtestresults@2
46 displayName: Publish Test Results
47 condition: succeededOrFailed()
49 testResultsFiles: 'results_*.xml'
50 searchFolder: '$(Build.BinariesDirectory)'
51 mergeTestResults: true