Skip to content

Commit 0ec0b2b

Browse files
authored
Merge pull request libgit2#5239 from pks-t/pks/docker-non-root-builds
azure: avoid building and testing in Docker as root
2 parents 63307cb + 3c884cc commit 0ec0b2b

File tree

6 files changed

+33
-17
lines changed

6 files changed

+33
-17
lines changed

azure-pipelines.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ jobs:
152152
git config user.name 'Documentation Generation'
153153
git config user.email 'libgit2@users.noreply.github.com'
154154
git branch gh-pages origin/gh-pages
155-
docker run --rm -v $(Build.SourcesDirectory):/src -w /src libgit2/docurium:latest cm doc api.docurium
155+
docker run --rm -v $(Build.SourcesDirectory):/home/libgit2/source -w /home/libgit2/source libgit2/docurium:latest cm doc api.docurium
156156
git checkout gh-pages
157157
cp -R * '$(Build.BinariesDirectory)'
158158
displayName: 'Generate Documentation'

azure-pipelines/coverity.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,24 @@ jobs:
1515
image: xenial
1616
base: xenial
1717
volumes: |
18-
$(Build.SourcesDirectory):/src
19-
$(Build.BinariesDirectory):/build
18+
$(Build.SourcesDirectory):/home/libgit2/source
19+
$(Build.BinariesDirectory):/home/libgit2/build
2020
envVars: |
2121
COVERITY_TOKEN=$(COVERITY_TOKEN)
22-
workDir: '/build'
23-
containerCommand: '/src/azure-pipelines/coverity-build.sh'
22+
workDir: '/home/libgit2/build'
23+
containerCommand: '/home/libgit2/source/azure-pipelines/coverity-build.sh'
2424
detached: false
2525
- task: Docker@0
2626
displayName: Publish
2727
inputs:
2828
action: 'Run an image'
2929
imageName: 'libgit2/trusty-openssl:latest'
3030
volumes: |
31-
$(Build.SourcesDirectory):/src
32-
$(Build.BinariesDirectory):/build
31+
$(Build.SourcesDirectory):/home/libgit2/source
32+
$(Build.BinariesDirectory):/home/libgit2/build
3333
envVars: |
3434
COVERITY_TOKEN=$(COVERITY_TOKEN)
35-
workDir: '/build'
36-
containerCommand: '/src/azure-pipelines/coverity-publish.sh'
35+
workDir: '/home/libgit2/build'
36+
containerCommand: '/home/libgit2/source/azure-pipelines/coverity-publish.sh'
3737
detached: false
3838
continueOnError: true

azure-pipelines/docker.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,23 @@ steps:
1414
action: 'Run an image'
1515
imageName: libgit2/${{ parameters.docker.image }}
1616
volumes: |
17-
$(Build.SourcesDirectory):/src
18-
$(Build.BinariesDirectory):/build
17+
$(Build.SourcesDirectory):/home/libgit2/source
18+
$(Build.BinariesDirectory):/home/libgit2/build
1919
envVars: ${{ parameters.environmentVariables }}
20-
workDir: '/build'
21-
containerCommand: '/src/azure-pipelines/build.sh'
20+
workDir: '/home/libgit2/build'
21+
containerCommand: '/home/libgit2/source/azure-pipelines/build.sh'
2222
detached: false
2323
- task: docker@0
2424
displayName: Test
2525
inputs:
2626
action: 'Run an image'
2727
imageName: libgit2/${{ parameters.docker.image }}
2828
volumes: |
29-
$(Build.SourcesDirectory):/src
30-
$(Build.BinariesDirectory):/build
29+
$(Build.SourcesDirectory):/home/libgit2/source
30+
$(Build.BinariesDirectory):/home/libgit2/build
3131
envVars: ${{ parameters.environmentVariables }}
32-
workDir: '/build'
33-
containerCommand: '/src/azure-pipelines/test.sh'
32+
workDir: '/home/libgit2/build'
33+
containerCommand: '/home/libgit2/source/azure-pipelines/test.sh'
3434
detached: false
3535
- task: publishtestresults@2
3636
displayName: Publish Test Results

azure-pipelines/docker/bionic

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ RUN apt-get update && \
77
curl \
88
gcc \
99
git \
10+
gosu \
1011
libcurl4-openssl-dev \
1112
libpcre3-dev \
1213
libssh2-1-dev \
@@ -33,3 +34,8 @@ RUN cd /tmp && \
3334
ninja install && \
3435
cd .. && \
3536
rm -rf mbedtls-2.16.2
37+
38+
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
39+
RUN chmod a+x /usr/local/bin/entrypoint.sh
40+
41+
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
useradd --shell /bin/bash --create-home libgit2
3+
chown -R $(id -u libgit2) /home/libgit2
4+
exec gosu libgit2 "$@"

azure-pipelines/docker/xenial

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ RUN echo 'deb http://ppa.launchpad.net/hola-launchpad/valgrind/ubuntu xenial mai
99
curl \
1010
gcc \
1111
git \
12+
gosu \
1213
libcurl4-gnutls-dev \
1314
libpcre3-dev \
1415
libssh2-1-dev \
@@ -45,3 +46,8 @@ RUN cd /tmp && \
4546
ninja install && \
4647
cd .. && \
4748
rm -rf libssh2-1.8.2
49+
50+
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
51+
RUN chmod a+x /usr/local/bin/entrypoint.sh
52+
53+
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

0 commit comments

Comments
 (0)