summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony <antonios.barotsis@pm.me>2023-08-30 10:53:20 +0300
committerGitHub <noreply@github.com>2023-08-30 09:53:20 +0200
commitea9314e242a421f890f1c42368097806dd91c2ea (patch)
tree208ee47d5879e76ea69d41c0785748e947ff9507
parent0c591dfea4511fa9af8ceb20e58cc2be3c3793bb (diff)
Speedup CI (#1852)
-rw-r--r--.github/workflows/cd.yml13
-rw-r--r--.github/workflows/ci.yml85
2 files changed, 62 insertions, 36 deletions
diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml
index b94d859d..f760c1fa 100644
--- a/.github/workflows/cd.yml
+++ b/.github/workflows/cd.yml
@@ -14,18 +14,23 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Get version
id: get_version
run: echo ::set-output name=version::${GITHUB_REF/refs\/tags\//}
+ - name: Restore cargo cache
+ uses: Swatinem/rust-cache@v2
+ env:
+ cache-name: ci
+ with:
+ shared-key: ${{ matrix.os }}-${{ env.cache-name }}-stable
+
- name: Install Rust
- uses: actions-rs/toolchain@v1
+ uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- profile: minimal
- override: true
components: clippy
- name: Build
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cabdfe32..bdb0f5c2 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -22,31 +22,23 @@ jobs:
continue-on-error: ${{ matrix.rust == 'nightly' }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Restore cargo cache
- uses: actions/cache@v2
+ uses: Swatinem/rust-cache@v2
env:
cache-name: ci
with:
- path: |
- ~/.cargo/registry
- ~/.cargo/git
- ~/.cargo/bin
- target
- key: ${{ matrix.os }}-${{ env.cache-name }}-${{ matrix.rust }}-${{ hashFiles('Cargo.lock') }}
+ shared-key: ${{ matrix.os }}-${{ env.cache-name }}-${{ matrix.rust }}
- name: MacOS Workaround
if: matrix.os == 'macos-latest'
run: cargo clean -p serde_derive -p thiserror
- name: Install Rust
- uses: actions-rs/toolchain@v1
+ uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
- default: true
- override: true
- profile: minimal
components: clippy
- name: Build Debug
@@ -97,15 +89,25 @@ jobs:
rust: [nightly, stable, '1.65']
continue-on-error: ${{ matrix.rust == 'nightly' }}
steps:
- - uses: actions/checkout@master
+ - uses: actions/checkout@v3
+
+ - name: Restore cargo cache
+ uses: Swatinem/rust-cache@v2
+ env:
+ cache-name: ci
+ with:
+ key: ubuntu-latest-${{ env.cache-name }}-${{ matrix.rust }}
+
- name: Install Rust
- uses: actions-rs/toolchain@v1
+ uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
- profile: minimal
- default: true
- override: true
- target: x86_64-unknown-linux-musl
+ targets: x86_64-unknown-linux-musl
+
+ # The build would fail without manually installing the target.
+ # https://github.com/dtolnay/rust-toolchain/issues/83
+ - name: Manually install target
+ run: rustup target add x86_64-unknown-linux-musl
- name: Setup MUSL
run: |
@@ -133,14 +135,19 @@ jobs:
rust: [nightly, stable, '1.65']
continue-on-error: ${{ matrix.rust == 'nightly' }}
steps:
- - uses: actions/checkout@master
+ - uses: actions/checkout@v3
+
+ - name: Restore cargo cache
+ uses: Swatinem/rust-cache@v2
+ env:
+ cache-name: ci
+ with:
+ key: ubuntu-latest-${{ env.cache-name }}-${{ matrix.rust }}
+
- name: Install Rust
- uses: actions-rs/toolchain@v1
+ uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
- profile: minimal
- default: true
- override: true
- name: Setup ARM toolchain
run: |
rustup target add aarch64-unknown-linux-gnu
@@ -168,12 +175,19 @@ jobs:
name: Lints
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@master
+ - uses: actions/checkout@v3
+
+ - name: Restore cargo cache
+ uses: Swatinem/rust-cache@v2
+ env:
+ cache-name: ci
+ with:
+ key: ubuntu-latest-${{ env.cache-name }}-stable
+
- name: Install Rust
- uses: actions-rs/toolchain@v1
+ uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- override: true
components: rustfmt
- run: cargo fmt -- --check
@@ -199,12 +213,19 @@ jobs:
name: udeps
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@master
+ - uses: actions/checkout@v3
+
+ - name: Restore cargo cache
+ uses: Swatinem/rust-cache@v2
+ env:
+ cache-name: ci
+ with:
+ key: ubuntu-latest-${{ env.cache-name }}-nightly
+
- name: Install Rust
- uses: actions-rs/toolchain@v1
+ uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
- override: true
- name: cargo-udeps
run: |
@@ -217,8 +238,8 @@ jobs:
name: Security audit
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - uses: actions-rs/audit-check@v1
+ - uses: actions/checkout@v3
+ - uses: rustsec/audit-check@v1.4.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
@@ -226,7 +247,7 @@ jobs:
name: Changelog Test
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@master
+ - uses: actions/checkout@v3
- name: Extract release notes
id: extract_release_notes
uses: ffurrer2/extract-release-notes@v1