diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1ce1b3f..b52ec02 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,11 +13,15 @@ concurrency: jobs: ci: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - name: Rust compilation prerequisites + - name: Rust compilation prerequisites (Ubuntu) + if: contains(matrix.os, 'ubuntu') run: | sudo apt update sudo apt install -y \ @@ -25,8 +29,17 @@ jobs: rustup target add wasm32-unknown-unknown rustup component add rustfmt clippy rust-src + - name: Install Cargo (MacOS) + if: contains(matrix.os, 'macos') + run: | + curl https://sh.rustup.rs -sSf -y | sh + brew install protobuf + rustup target add wasm32-unknown-unknown --toolchain stable-aarch64-apple-darwin + rustup component add rust-src --toolchain stable-aarch64-apple-darwin + # We've run into out-of-disk error when compiling Polkadot in the next step, so we free up some space this way. - name: Free Disk Space (Ubuntu) + if: contains(matrix.os, 'ubuntu') uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # 1.3.1 with: android: true # This alone is a 12 GB save. @@ -58,7 +71,7 @@ jobs: build-docker: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # We've run into out-of-disk error when compiling Polkadot in the next step, so we free up some space this way. - name: Free Disk Space (Ubuntu)