about summary refs log tree commit diff
path: root/src/ci
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-03-16 18:42:18 +0000
committerbors <bors@rust-lang.org>2025-03-16 18:42:18 +0000
commit227690a258492c84ae9927d18289208d0180e62f (patch)
treeff93010bb7b6b688654576d4eecdde80905568c6 /src/ci
parent8b87fefd76665236a304d3c0998e1021710ce1b0 (diff)
parent4cd350f61639d66095a9c5c87e6ff574ad1f7a00 (diff)
downloadrust-227690a258492c84ae9927d18289208d0180e62f.tar.gz
rust-227690a258492c84ae9927d18289208d0180e62f.zip
Auto merge of #137011 - LuuuXXX:promote-ohos-with-host-tools, r=Amanieu
Promote ohos targets to tier2 with host tools.

### What does this PR try to resolve?

Try to promote the following [[Tier 2 without Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools)](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools) targets to [[Tier 2 with Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools)](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools):

- `aarch64-unknown-linux-ohos`
- `armv7-unknown-linux-ohos`
- `x86_64-unknown-linux-ohos`

### More Information?

see MCP: https://github.com/rust-lang/compiler-team/issues/811

### Blockage to be solved?

- [x] Submit an MCP
- [x] Submit code of promote ohos targets
- [x] Resolve related dependencies (`measureme`)

The modified code of the measureme has been merged (see https://github.com/rust-lang/measureme/pull/238). [done]
The new version will was released (https://github.com/rust-lang/measureme/pull/240). [done]
Diffstat (limited to 'src/ci')
-rw-r--r--src/ci/docker/host-x86_64/dist-ohos/Dockerfile18
-rw-r--r--src/ci/docker/scripts/ohos-openssl.sh7
-rwxr-xr-xsrc/ci/docker/scripts/ohos-sdk.sh7
-rw-r--r--src/ci/github-actions/jobs.yml2
-rwxr-xr-xsrc/ci/run.sh6
5 files changed, 33 insertions, 7 deletions
diff --git a/src/ci/docker/host-x86_64/dist-ohos/Dockerfile b/src/ci/docker/host-x86_64/dist-ohos/Dockerfile
index bbbf0b3adf2..2c514fa0d4d 100644
--- a/src/ci/docker/host-x86_64/dist-ohos/Dockerfile
+++ b/src/ci/docker/host-x86_64/dist-ohos/Dockerfile
@@ -22,6 +22,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
 COPY scripts/ohos-sdk.sh /scripts/
 RUN sh /scripts/ohos-sdk.sh
 
+COPY scripts/ohos-openssl.sh /scripts/
+RUN sh /scripts/ohos-openssl.sh
+
 COPY scripts/ohos/aarch64-unknown-linux-ohos-clang.sh /usr/local/bin/
 COPY scripts/ohos/aarch64-unknown-linux-ohos-clang++.sh /usr/local/bin/
 COPY scripts/ohos/armv7-unknown-linux-ohos-clang.sh /usr/local/bin/
@@ -30,6 +33,14 @@ COPY scripts/ohos/x86_64-unknown-linux-ohos-clang.sh /usr/local/bin/
 COPY scripts/ohos/x86_64-unknown-linux-ohos-clang++.sh /usr/local/bin/
 
 # env
+ENV AARCH64_UNKNOWN_LINUX_OHOS_OPENSSL_DIR=/opt/ohos-openssl/prelude/arm64-v8a
+ENV ARMV7_UNKNOWN_LINUX_OHOS_OPENSSL_DIR=/opt/ohos-openssl/prelude/armeabi-v7a
+ENV X86_64_UNKNOWN_LINUX_OHOS_OPENSSL_DIR=/opt/ohos-openssl/prelude/x86_64
+
+ENV AARCH64_UNKNOWN_LINUX_OHOS_OPENSSL_NO_VENDOR=1
+ENV ARMV7_UNKNOWN_LINUX_OHOS_OPENSSL_NO_VENDOR=1
+ENV X86_64_UNKNOWN_LINUX_OHOS_OPENSSL_NO_VENDOR=1
+
 ENV TARGETS=aarch64-unknown-linux-ohos
 ENV TARGETS=$TARGETS,armv7-unknown-linux-ohos
 ENV TARGETS=$TARGETS,x86_64-unknown-linux-ohos
@@ -49,9 +60,12 @@ ENV \
 
 ENV RUST_CONFIGURE_ARGS \
     --enable-profiler \
-    --disable-docs
+    --disable-docs \
+    --tools=cargo,clippy,rustdocs,rustfmt,rust-analyzer,rust-analyzer-proc-macro-srv,analysis,src,wasm-component-ld \
+    --enable-extended \
+    --enable-sanitizers
 
-ENV SCRIPT python3 ../x.py dist --host='' --target $TARGETS
+ENV SCRIPT python3 ../x.py dist --host=$TARGETS --target $TARGETS
 
 COPY scripts/sccache.sh /scripts/
 RUN sh /scripts/sccache.sh
diff --git a/src/ci/docker/scripts/ohos-openssl.sh b/src/ci/docker/scripts/ohos-openssl.sh
new file mode 100644
index 00000000000..713ab6131e3
--- /dev/null
+++ b/src/ci/docker/scripts/ohos-openssl.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+set -ex
+
+URL=https://github.com/ohos-rs/ohos-openssl/archive/refs/tags/0.1.0.tar.gz
+
+mkdir -p /opt/ohos-openssl
+curl -fL $URL | tar xz -C /opt/ohos-openssl --strip-components=1
diff --git a/src/ci/docker/scripts/ohos-sdk.sh b/src/ci/docker/scripts/ohos-sdk.sh
index 321be2b8697..47d630ca76b 100755
--- a/src/ci/docker/scripts/ohos-sdk.sh
+++ b/src/ci/docker/scripts/ohos-sdk.sh
@@ -1,9 +1,10 @@
 #!/bin/sh
 set -ex
 
-URL=https://repo.huaweicloud.com/openharmony/os/4.0-Release/ohos-sdk-windows_linux-public.tar.gz
+URL=https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/ohos-sdk-windows_linux-public.tar.gz
 
-curl $URL | tar xz -C /tmp ohos-sdk/linux/native-linux-x64-4.0.10.13-Release.zip
+curl $URL | tar xz -C /tmp linux/native-linux-x64-5.0.0.71-Release.zip
 mkdir /opt/ohos-sdk
 cd /opt/ohos-sdk
-unzip -qq /tmp/ohos-sdk/linux/native-linux-x64-4.0.10.13-Release.zip
+unzip -qq /tmp/linux/native-linux-x64-5.0.0.71-Release.zip
+rm /tmp/linux/native-linux-x64-5.0.0.71-Release.zip
diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml
index d8c3625af28..4888bf9f867 100644
--- a/src/ci/github-actions/jobs.yml
+++ b/src/ci/github-actions/jobs.yml
@@ -176,7 +176,7 @@ auto:
     <<: *job-linux-4c
 
   - name: dist-ohos
-    <<: *job-linux-4c
+    <<: *job-linux-4c-largedisk
 
   - name: dist-powerpc-linux
     <<: *job-linux-4c
diff --git a/src/ci/run.sh b/src/ci/run.sh
index 63e79c737d6..00bfa1f8ea2 100755
--- a/src/ci/run.sh
+++ b/src/ci/run.sh
@@ -112,7 +112,11 @@ export RUST_RELEASE_CHANNEL=$(releaseChannel)
 RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --release-channel=$RUST_RELEASE_CHANNEL"
 
 if [ "$DEPLOY$DEPLOY_ALT" = "1" ]; then
-  RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-llvm-static-stdcpp"
+  if [[ "$CI_JOB_NAME" == *ohos* ]]; then
+    RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --disable-llvm-static-stdcpp"
+  else
+    RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-llvm-static-stdcpp"
+  fi
   RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set rust.remap-debuginfo"
 
   if [ "$DEPLOY_ALT" != "" ] && isLinux; then