Speedup CI (#1852)

This commit is contained in:
Tony 2023-08-30 10:53:20 +03:00 committed by GitHub
parent 0c591dfea4
commit ea9314e242
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 62 additions and 36 deletions

View file

@ -14,18 +14,23 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Get version - name: Get version
id: get_version id: get_version
run: echo ::set-output name=version::${GITHUB_REF/refs\/tags\//} 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 - name: Install Rust
uses: actions-rs/toolchain@v1 uses: dtolnay/rust-toolchain@stable
with: with:
toolchain: stable toolchain: stable
profile: minimal
override: true
components: clippy components: clippy
- name: Build - name: Build

View file

@ -22,31 +22,23 @@ jobs:
continue-on-error: ${{ matrix.rust == 'nightly' }} continue-on-error: ${{ matrix.rust == 'nightly' }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Restore cargo cache - name: Restore cargo cache
uses: actions/cache@v2 uses: Swatinem/rust-cache@v2
env: env:
cache-name: ci cache-name: ci
with: with:
path: | shared-key: ${{ matrix.os }}-${{ env.cache-name }}-${{ matrix.rust }}
~/.cargo/registry
~/.cargo/git
~/.cargo/bin
target
key: ${{ matrix.os }}-${{ env.cache-name }}-${{ matrix.rust }}-${{ hashFiles('Cargo.lock') }}
- name: MacOS Workaround - name: MacOS Workaround
if: matrix.os == 'macos-latest' if: matrix.os == 'macos-latest'
run: cargo clean -p serde_derive -p thiserror run: cargo clean -p serde_derive -p thiserror
- name: Install Rust - name: Install Rust
uses: actions-rs/toolchain@v1 uses: dtolnay/rust-toolchain@stable
with: with:
toolchain: ${{ matrix.rust }} toolchain: ${{ matrix.rust }}
default: true
override: true
profile: minimal
components: clippy components: clippy
- name: Build Debug - name: Build Debug
@ -97,15 +89,25 @@ jobs:
rust: [nightly, stable, '1.65'] rust: [nightly, stable, '1.65']
continue-on-error: ${{ matrix.rust == 'nightly' }} continue-on-error: ${{ matrix.rust == 'nightly' }}
steps: 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 - name: Install Rust
uses: actions-rs/toolchain@v1 uses: dtolnay/rust-toolchain@stable
with: with:
toolchain: ${{ matrix.rust }} toolchain: ${{ matrix.rust }}
profile: minimal targets: x86_64-unknown-linux-musl
default: true
override: true # The build would fail without manually installing the target.
target: x86_64-unknown-linux-musl # https://github.com/dtolnay/rust-toolchain/issues/83
- name: Manually install target
run: rustup target add x86_64-unknown-linux-musl
- name: Setup MUSL - name: Setup MUSL
run: | run: |
@ -133,14 +135,19 @@ jobs:
rust: [nightly, stable, '1.65'] rust: [nightly, stable, '1.65']
continue-on-error: ${{ matrix.rust == 'nightly' }} continue-on-error: ${{ matrix.rust == 'nightly' }}
steps: 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 - name: Install Rust
uses: actions-rs/toolchain@v1 uses: dtolnay/rust-toolchain@stable
with: with:
toolchain: ${{ matrix.rust }} toolchain: ${{ matrix.rust }}
profile: minimal
default: true
override: true
- name: Setup ARM toolchain - name: Setup ARM toolchain
run: | run: |
rustup target add aarch64-unknown-linux-gnu rustup target add aarch64-unknown-linux-gnu
@ -168,12 +175,19 @@ jobs:
name: Lints name: Lints
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: 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 - name: Install Rust
uses: actions-rs/toolchain@v1 uses: dtolnay/rust-toolchain@stable
with: with:
toolchain: stable toolchain: stable
override: true
components: rustfmt components: rustfmt
- run: cargo fmt -- --check - run: cargo fmt -- --check
@ -199,12 +213,19 @@ jobs:
name: udeps name: udeps
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: 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 - name: Install Rust
uses: actions-rs/toolchain@v1 uses: dtolnay/rust-toolchain@stable
with: with:
toolchain: nightly toolchain: nightly
override: true
- name: cargo-udeps - name: cargo-udeps
run: | run: |
@ -217,8 +238,8 @@ jobs:
name: Security audit name: Security audit
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: actions-rs/audit-check@v1 - uses: rustsec/audit-check@v1.4.1
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
@ -226,7 +247,7 @@ jobs:
name: Changelog Test name: Changelog Test
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@master - uses: actions/checkout@v3
- name: Extract release notes - name: Extract release notes
id: extract_release_notes id: extract_release_notes
uses: ffurrer2/extract-release-notes@v1 uses: ffurrer2/extract-release-notes@v1