diff options
-rw-r--r-- | .github/workflows/ci.yml | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 843a98b02..4b38e3a47 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,6 +47,7 @@ jobs: CARGO_INCREMENTAL: 0 RUST_BACKTRACE: full CARGO_TERM_COLOR: always + RUSTC_WRAPPER: sccache steps: - name: Configure git @@ -71,11 +72,39 @@ jobs: mkdir -p target/release tar --exclude=.cargo_home --exclude=".git*" --exclude=target --exclude=third_party/prebuilt -czvf target/release/deno_src.tar.gz -C .. deno + # Note the following caches target which includes sccache. + - uses: Swatinem/rust-cache@v1 + - name: Install rust uses: hecrj/setup-rust-action@v1 with: rust-version: 1.50.0 + - name: Install and start sccache + shell: pwsh + env: + SCCACHE_DIR: ${{ github.workspace }}/target/sccache + SCCACHE_CACHE_SIZE: 128M + SCCACHE_IDLE_TIMEOUT: 0 + run: | + $version = "v0.2.15" + $platform = + @{ "macOS" = "x86_64-apple-darwin" + "Linux" = "x86_64-unknown-linux-musl" + "Windows" = "x86_64-pc-windows-msvc" + }.${{ runner.os }} + $basename = "sccache-$version-$platform" + chmod u+x $basename/sccache + $url = "https://github.com/mozilla/sccache/releases/download/" + + "$version/$basename.tar.gz" + cd ~ + curl -LO $url + tar -xzvf "$basename.tar.gz" + chmod u+x $basename/sccache + . $basename/sccache --start-server + echo "$(pwd)/$basename" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + + - name: Install clippy and rustfmt if: matrix.kind == 'lint' run: | @@ -330,3 +359,7 @@ jobs: target/release/deno_src.tar.gz target/release/lib.deno.d.ts draft: true + + - name: Stop sccache + if: always() + run: sccache --stop-server |