diff options
| author | Mark Rousskov <mark.simulacrum@gmail.com> | 2022-08-10 07:16:25 -0400 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2022-08-20 09:47:59 -0400 |
| commit | d7b91c31207a1440732b01d357181c68e7e72a97 (patch) | |
| tree | b20c940ee92fc2213a85c9f99312d8e0e0c8a575 | |
| parent | 6c7f30114515111c53224e2de1434a324f73c0e8 (diff) | |
| download | rust-d7b91c31207a1440732b01d357181c68e7e72a97.tar.gz rust-d7b91c31207a1440732b01d357181c68e7e72a97.zip | |
Add global safe.directory for CI
| -rw-r--r-- | src/ci/docker/host-x86_64/armhf-gnu/Dockerfile | 2 | ||||
| -rw-r--r-- | src/ci/docker/host-x86_64/wasm32/Dockerfile | 2 | ||||
| -rw-r--r-- | src/ci/docker/static/gitconfig | 2 | ||||
| -rwxr-xr-x | src/ci/run.sh | 10 |
4 files changed, 16 insertions, 0 deletions
diff --git a/src/ci/docker/host-x86_64/armhf-gnu/Dockerfile b/src/ci/docker/host-x86_64/armhf-gnu/Dockerfile index e2dbc7cfd7c..69f88e49520 100644 --- a/src/ci/docker/host-x86_64/armhf-gnu/Dockerfile +++ b/src/ci/docker/host-x86_64/armhf-gnu/Dockerfile @@ -78,6 +78,8 @@ RUN curl -O https://ci-mirrors.rust-lang.org/rustc/vexpress-v2p-ca15-tc1.dtb COPY scripts/sccache.sh /scripts/ RUN sh /scripts/sccache.sh +COPY static/gitconfig /etc/gitconfig + ENV RUST_CONFIGURE_ARGS --qemu-armhf-rootfs=/tmp/rootfs ENV SCRIPT python3 ../x.py --stage 2 test --host='' --target arm-unknown-linux-gnueabihf diff --git a/src/ci/docker/host-x86_64/wasm32/Dockerfile b/src/ci/docker/host-x86_64/wasm32/Dockerfile index 878c4e34158..9e37c2822e8 100644 --- a/src/ci/docker/host-x86_64/wasm32/Dockerfile +++ b/src/ci/docker/host-x86_64/wasm32/Dockerfile @@ -48,6 +48,8 @@ ENV TARGETS=wasm32-unknown-emscripten # Use -O1 optimizations in the link step to reduce time spent optimizing. ENV EMCC_CFLAGS=-O1 +COPY static/gitconfig /etc/gitconfig + # Emscripten installation is user-specific ENV NO_CHANGE_USER=1 diff --git a/src/ci/docker/static/gitconfig b/src/ci/docker/static/gitconfig new file mode 100644 index 00000000000..6bad35f01ce --- /dev/null +++ b/src/ci/docker/static/gitconfig @@ -0,0 +1,2 @@ +[safe] +directory = * diff --git a/src/ci/run.sh b/src/ci/run.sh index 091ccf58e2b..9a247fb60a8 100755 --- a/src/ci/run.sh +++ b/src/ci/run.sh @@ -11,6 +11,16 @@ if [ "$NO_CHANGE_USER" = "" ]; then useradd --shell /bin/bash -u $LOCAL_USER_ID -o -c "" -m user export HOME=/home/user unset LOCAL_USER_ID + + # Ensure that runners are able to execute git commands in the worktree, + # overriding the typical git protections. In our docker container we're running + # as root, while the user owning the checkout is not root. + # This is only necessary when we change the user, otherwise we should + # already be running with the right user. + # + # For NO_CHANGE_USER done in the small number of Dockerfiles affected. + echo -e '[safe]\n\tdirectory = *' > /home/user/gitconfig + exec su --preserve-environment -c "env PATH=$PATH \"$0\"" user fi fi |
