From ea958d23876bc272d16f610f7372e35cebf4e3a2 Mon Sep 17 00:00:00 2001 From: Javier Bullrich Date: Fri, 30 Aug 2024 11:37:42 +0200 Subject: [PATCH] Added `mac-setup` script (#5528) This is used for the steps that use the `macos` runner. It installs the Rust version that we are using in the [`forklift` image](https://github.com/paritytech/polkadot-sdk/blob/master/.github/env). To be used in #5386. --- .github/actions/set-up-mac/README.md | 15 ++++++++++ .github/actions/set-up-mac/action.yml | 43 +++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 .github/actions/set-up-mac/README.md create mode 100644 .github/actions/set-up-mac/action.yml diff --git a/.github/actions/set-up-mac/README.md b/.github/actions/set-up-mac/README.md new file mode 100644 index 000000000000..0bbc7112bd1d --- /dev/null +++ b/.github/actions/set-up-mac/README.md @@ -0,0 +1,15 @@ +# How to use + +```yml + set-image: + runs-on: macos-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - id: set_image + run: cat .github/env >> $GITHUB_OUTPUT + - name: Install dependencies + uses: ./.github/actions/set-up-mac + with: + IMAGE: ${{ steps.set-image.outputs.IMAGE }} +``` diff --git a/.github/actions/set-up-mac/action.yml b/.github/actions/set-up-mac/action.yml new file mode 100644 index 000000000000..a3b026679402 --- /dev/null +++ b/.github/actions/set-up-mac/action.yml @@ -0,0 +1,43 @@ +name: "Set up rust on mac" +description: "Install the required tools for Mac runners" +inputs: + IMAGE: + description: "Rust docker image" + required: true +runs: + using: "composite" + steps: + - name: Install with Hombrew + shell: bash + run: brew install protobuf rustup openssl pkg-config zlib xz zstd llvm jq curl gcc make cmake + - name: Set version + shell: bash + run: | + VERSION=$(echo $IMAGE | sed -E 's/.*:bullseye-([^-]+)-.*/\1/') + echo $VERSION + echo "VERSION=$VERSION" >> $GITHUB_ENV + NIGHTLY=$(echo $IMAGE | sed -E 's/.*([0-9]{4}-[0-9]{2}-[0-9]{2}).*/\1/') + echo $NIGHTLY + echo "NIGHTLY=$NIGHTLY" >> $GITHUB_ENV + env: + IMAGE: ${{ inputs.IMAGE }} + + - name: Install rustup + shell: bash + run: | + rustup-init -y + rustup install $VERSION + rustup default $VERSION + rustup toolchain install "nightly-${NIGHTLY}" + + - name: MacOS Deps + shell: bash + run: | + rustup target add wasm32-unknown-unknown --toolchain $VERSION + rustup component add rust-src rustfmt clippy --toolchain $VERSION + + - name: Check Rust + shell: bash + run: | + rustup show + rustup +nightly show