From 04d28b1f5c8a76701bdea003e7214b6a63a1dc4a Mon Sep 17 00:00:00 2001 From: Jiahao XU <30436523+NobodyXu@users.noreply.github.com> Date: Tue, 5 Nov 2024 20:30:30 +1000 Subject: [PATCH] CI: Fix just-setup (#1957) * Fix just-setup - install rust toolchain before calling install-action, just in case there's no available binary - configure THP/malloc at the start of action Signed-off-by: Jiahao XU <30436523+NobodyXu@users.noreply.github.com> * Fix rust installation Signed-off-by: Jiahao XU <30436523+NobodyXu@users.noreply.github.com> * Fix target passed to install-action Signed-off-by: Jiahao XU <30436523+NobodyXu@users.noreply.github.com> * Add missing shell Signed-off-by: Jiahao XU <30436523+NobodyXu@users.noreply.github.com> * Fix typo Signed-off-by: Jiahao XU <30436523+NobodyXu@users.noreply.github.com> * Fix passing target to install-action Signed-off-by: Jiahao XU <30436523+NobodyXu@users.noreply.github.com> --------- Signed-off-by: Jiahao XU <30436523+NobodyXu@users.noreply.github.com> --- .github/actions/just-setup/action.yml | 34 +++++++++++++++++---------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/.github/actions/just-setup/action.yml b/.github/actions/just-setup/action.yml index 17572609..f57a949f 100644 --- a/.github/actions/just-setup/action.yml +++ b/.github/actions/just-setup/action.yml @@ -22,7 +22,17 @@ runs: if: runner.os == 'macOS' run: sudo spctl developer-mode enable-terminal shell: bash - + + - name: Enable transparent huge page + if: runner.os == 'Linux' + run: echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled + shell: bash + + - name: Configure jemalloc (used by rustc) to use transparent huge page + if: runner.os == 'Linux' + run: echo "MALLOC_CONF=thp:always,metadata_thp:always" >> "$GITHUB_ENV" + shell: bash + - name: Exclude workspace and cargo/rustup home from windows defender if: runner.os == 'Windows' run: | @@ -40,11 +50,21 @@ runs: run: echo "tools=$tools,$inputs_tools" >>"$GITHUB_ENV" shell: bash + - name: Determine native target + run: | + if [ "$RUNNER_OS" = "Linux" ]; then RUNNER_TARGET=x86_64-unknown-linux-gnu; fi + if [ "$RUNNER_OS" = "macOS" ]; then RUNNER_TARGET=aarch64-apple-darwin; fi + if [ "$RUNNER_OS" = "Windows" ]; then RUNNER_TARGET=x86_64-pc-windows-msvc; fi + echo "RUNNER_TARGET=$RUNNER_TARGET" >>"$GITHUB_ENV" + shell: bash + - name: Install tools uses: taiki-e/install-action@v2 with: tool: ${{ env.tools }} - + env: + CARGO_BUILD_TARGET: ${{ env.RUNNER_TARGET }} + - name: Install rust toolchains run: just toolchain shell: bash @@ -134,13 +154,3 @@ runs: - run: make -v shell: bash - - - name: Enable transparent huge page - if: runner.os == 'Linux' - run: echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled - shell: bash - - - name: Configure jemalloc (used by rustc) to use transparent huge page - if: runner.os == 'Linux' - run: echo "MALLOC_CONF=thp:always,metadata_thp:always" >> "$GITHUB_ENV" - shell: bash