Skip to content

Commit

Permalink
Speedup CI (#1852)
Browse files Browse the repository at this point in the history
  • Loading branch information
AntoniosBarotsis authored Aug 30, 2023
1 parent 0c591df commit ea9314e
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 36 deletions.
13 changes: 9 additions & 4 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
85 changes: 53 additions & 32 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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: |
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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: |
Expand All @@ -217,16 +238,16 @@ 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 }}

log-test:
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
Expand Down

0 comments on commit ea9314e

Please sign in to comment.