From cc674e242c5ee877f011ef4bd9455c5b443293f1 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Mon, 24 Apr 2023 14:39:12 +0100 Subject: [PATCH 1/4] use faster CI runner --- .github/workflows/rust.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index c585e7d82d..22c846452d 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -24,7 +24,7 @@ env: jobs: build: name: Cargo check - runs-on: ubuntu-latest + runs-on: ubuntu-latest-8-cores steps: - name: Checkout sources uses: actions/checkout@v3 @@ -58,7 +58,7 @@ jobs: fmt: name: Cargo fmt - runs-on: ubuntu-latest + runs-on: ubuntu-latest-8-cores steps: - name: Checkout sources uses: actions/checkout@v3 @@ -82,7 +82,7 @@ jobs: docs: name: Check documentation - runs-on: ubuntu-latest + runs-on: ubuntu-latest-8-cores steps: - name: Checkout sources uses: actions/checkout@v3 @@ -116,7 +116,7 @@ jobs: tests: name: Cargo test - runs-on: ubuntu-latest + runs-on: ubuntu-latest-8-cores steps: - name: Checkout sources uses: actions/checkout@v3 @@ -147,7 +147,7 @@ jobs: clippy: name: Cargo clippy - runs-on: ubuntu-latest + runs-on: ubuntu-latest-8-cores steps: - name: Checkout sources uses: actions/checkout@v3 @@ -179,7 +179,7 @@ jobs: wasm_tests: name: Test wasm - runs-on: ubuntu-latest + runs-on: ubuntu-latest-8-cores steps: - uses: actions/checkout@v3.1.0 From bc2dfde7d165ed49e6df3caab3c19a9882c04ce6 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Mon, 24 Apr 2023 15:05:34 +0100 Subject: [PATCH 2/4] slower machine for all but tests, try 16 core for tests --- .github/workflows/rust.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 22c846452d..3f8e0a9ea2 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -24,7 +24,7 @@ env: jobs: build: name: Cargo check - runs-on: ubuntu-latest-8-cores + runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v3 @@ -58,7 +58,7 @@ jobs: fmt: name: Cargo fmt - runs-on: ubuntu-latest-8-cores + runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v3 @@ -82,7 +82,7 @@ jobs: docs: name: Check documentation - runs-on: ubuntu-latest-8-cores + runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v3 @@ -116,7 +116,7 @@ jobs: tests: name: Cargo test - runs-on: ubuntu-latest-8-cores + runs-on: ubuntu-latest-16-cores steps: - name: Checkout sources uses: actions/checkout@v3 @@ -147,7 +147,7 @@ jobs: clippy: name: Cargo clippy - runs-on: ubuntu-latest-8-cores + runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v3 @@ -179,7 +179,7 @@ jobs: wasm_tests: name: Test wasm - runs-on: ubuntu-latest-8-cores + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3.1.0 From 667a574d85d8933913098ca7f829c5ec69702cc9 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Mon, 24 Apr 2023 15:38:12 +0100 Subject: [PATCH 3/4] try splitting tests for more parallelism --- .github/workflows/rust.yml | 101 +++++++++++++++++++++++++++++++++++-- 1 file changed, 97 insertions(+), 4 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 3f8e0a9ea2..2b62c99288 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -114,9 +114,102 @@ jobs: command: test args: --doc - tests: - name: Cargo test - runs-on: ubuntu-latest-16-cores + test-docs: + name: "Test: docs" + runs-on: ubuntu-latest-8-cores + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Download Substrate + run: | + curl $SUBSTRATE_URL --output substrate --location + chmod +x substrate + ./substrate --version + mkdir -p ~/.local/bin + mv substrate ~/.local/bin + + - name: Install Rust stable toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + + - name: Rust Cache + uses: Swatinem/rust-cache@6fd3edff6979b79f87531400ad694fb7f2c84b1f # v2.2.1 + + - name: Run tests + uses: actions-rs/cargo@v1.0.3 + with: + command: test + args: --doc + + test-integration: + name: "Test: integration tests" + runs-on: ubuntu-latest-8-cores + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Download Substrate + run: | + curl $SUBSTRATE_URL --output substrate --location + chmod +x substrate + ./substrate --version + mkdir -p ~/.local/bin + mv substrate ~/.local/bin + + - name: Install Rust stable toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + + - name: Rust Cache + uses: Swatinem/rust-cache@6fd3edff6979b79f87531400ad694fb7f2c84b1f # v2.2.1 + + - name: Run tests + uses: actions-rs/cargo@v1.0.3 + with: + command: test + args: --all-targets --package integration-tests + + test-ui: + name: "Test: UI tests" + runs-on: ubuntu-latest-8-cores + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Download Substrate + run: | + curl $SUBSTRATE_URL --output substrate --location + chmod +x substrate + ./substrate --version + mkdir -p ~/.local/bin + mv substrate ~/.local/bin + + - name: Install Rust stable toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + + - name: Rust Cache + uses: Swatinem/rust-cache@6fd3edff6979b79f87531400ad694fb7f2c84b1f # v2.2.1 + + - name: Run tests + uses: actions-rs/cargo@v1.0.3 + with: + command: test + args: --all-targets --package ui-tests + + tests-other: + name: "Test: other (mainly unit) tests" + runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v3 @@ -143,7 +236,7 @@ jobs: uses: actions-rs/cargo@v1.0.3 with: command: test - args: --all-targets --workspace + args: --all-targets --workspace --exclude ui-tests --exclude integration-tests clippy: name: Cargo clippy From 282c876dbba263f381510d736bc648f94d701bcf Mon Sep 17 00:00:00 2001 From: James Wilson Date: Mon, 24 Apr 2023 16:06:31 +0100 Subject: [PATCH 4/4] bigger machine for slowest tests --- .github/workflows/rust.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 2b62c99288..ca717ccf61 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -147,7 +147,7 @@ jobs: test-integration: name: "Test: integration tests" - runs-on: ubuntu-latest-8-cores + runs-on: ubuntu-latest-16-cores steps: - name: Checkout sources uses: actions/checkout@v3 @@ -178,7 +178,7 @@ jobs: test-ui: name: "Test: UI tests" - runs-on: ubuntu-latest-8-cores + runs-on: ubuntu-latest-16-cores steps: - name: Checkout sources uses: actions/checkout@v3