summaryrefslogtreecommitdiffstats
path: root/src/ci/docker/run.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/ci/docker/run.sh')
-rwxr-xr-xsrc/ci/docker/run.sh23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/ci/docker/run.sh b/src/ci/docker/run.sh
index e9c155b13..cedbc0390 100755
--- a/src/ci/docker/run.sh
+++ b/src/ci/docker/run.sh
@@ -235,7 +235,7 @@ else
args="$args --volume /tmp/toolstate:/tmp/toolstate"
id=$(id -u)
- if [[ "$id" != 0 && "$(docker -v)" =~ ^podman ]]; then
+ if [[ "$id" != 0 && "$(docker version)" =~ Podman ]]; then
# Rootless podman creates a separate user namespace, where an inner
# LOCAL_USER_ID will map to a different subuid range on the host.
# The "keep-id" mode maps the current UID directly into the container.
@@ -264,10 +264,27 @@ else
BASE_COMMIT=""
fi
+SUMMARY_FILE=github-summary.md
+touch $objdir/${SUMMARY_FILE}
+
+extra_env=""
+if [ "$ENABLE_GCC_CODEGEN" = "1" ]; then
+ extra_env="$EXTRA_ENV --env ENABLE_GCC_CODEGEN=1"
+ # If `ENABLE_GCC_CODEGEN` is set and not empty, we add the `--enable-new-symbol-mangling`
+ # argument to `RUST_CONFIGURE_ARGS` and set the `GCC_EXEC_PREFIX` environment variable.
+ # `cg_gcc` doesn't support the legacy mangling so we need to enforce the new one
+ # if we run `cg_gcc` tests.
+ extra_env="$EXTRA_ENV --env USE_NEW_MANGLING=--enable-new-symbol-mangling"
+ # Fix rustc_codegen_gcc lto issues.
+ extra_env="$EXTRA_ENV --env GCC_EXEC_PREFIX=/usr/lib/gcc/"
+ echo "Setting extra environment values for docker: $extra_env"
+fi
+
docker \
run \
--workdir /checkout/obj \
--env SRC=/checkout \
+ $extra_env \
$args \
--env CARGO_HOME=/cargo \
--env DEPLOY \
@@ -275,6 +292,7 @@ docker \
--env CI \
--env GITHUB_ACTIONS \
--env GITHUB_REF \
+ --env GITHUB_STEP_SUMMARY="/checkout/obj/${SUMMARY_FILE}" \
--env TOOLSTATE_REPO_ACCESS_TOKEN \
--env TOOLSTATE_REPO \
--env TOOLSTATE_PUBLISH \
@@ -284,11 +302,14 @@ docker \
--env DIST_TRY_BUILD \
--env PR_CI_JOB \
--env OBJDIR_ON_HOST="$objdir" \
+ --env CODEGEN_BACKENDS \
--init \
--rm \
rust-ci \
$command
+cat $objdir/${SUMMARY_FILE} >> "${GITHUB_STEP_SUMMARY}"
+
if [ -f /.dockerenv ]; then
rm -rf $objdir
docker cp checkout:/checkout/obj $objdir