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)
This commit is contained in:
Zanie Blue 2024-01-11 12:28:53 -06:00 committed by GitHub
parent 4c047f858f
commit 90edfa8fe7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 3 deletions

View File

@ -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:
@ -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: