From 90edfa8fe7a6f678e7b536bf9271ab65467b3eca Mon Sep 17 00:00:00 2001 From: Zanie Blue Date: Thu, 11 Jan 2024 12:28:53 -0600 Subject: [PATCH] Use `mold` for linking in CI tests (#887) Derived from https://github.com/astral-sh/puffin/pull/875 This gets us a significant speedup. I would not read the commits individually. I can squash them but they were used for testing various scenarios. ### Test compile times Ranges are the lowest and highest I've seen. Huge variability in GitHub Actions runners. **Before:** 7m 21s - 8m 22s (cold cache) 110s - 120s (warm cache) **After:** 6m 15s - 7m 05s (cold cache) 57s - 70s (warm cache) **Improvement:** 4% - 25% (cold cache) 36% - 52% (warm cache) --- .github/workflows/ci.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8ce128dd6..1a11b32ae 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -2,7 +2,7 @@ name: CI on: push: - branches: [ main ] + branches: [main] pull_request: workflow_dispatch: @@ -45,7 +45,7 @@ jobs: cargo-test: strategy: matrix: - os: [ ubuntu-latest ] + os: [ubuntu-latest] runs-on: ${{ matrix.os }} name: "cargo test | ${{ matrix.os }}" steps: @@ -53,7 +53,7 @@ jobs: - name: "Install Python" uses: actions/setup-python@v4 with: - python-version: | + python-version: | 3.7 3.8 3.9 @@ -62,6 +62,7 @@ jobs: 3.12 - name: "Install Rust toolchain" run: rustup show + - uses: rui314/setup-mold@v1 - name: "Install cargo insta" uses: taiki-e/install-action@v2 with: