Skip to content

perf: clone over sharing (#257) #1259

perf: clone over sharing (#257)

perf: clone over sharing (#257) #1259

Workflow file for this run

on: [pull_request, push]
name: CI
jobs:
check:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
toolchain: [1.83.0, 1.81.0]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/[email protected]
- uses: dtolnay/rust-toolchain@21dc36fb71dd22e3317045c0c31a3f4249868b17
with:
toolchain: ${{ matrix.toolchain }}
components: clippy,rustfmt
- uses: actions/[email protected]
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-check-${{ hashFiles('**/Cargo.lock') }}
- run: cargo fmt --check
- run: cargo clippy
bench:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/[email protected]
- uses: dtolnay/[email protected]
- uses: actions/[email protected]
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-bench-${{ hashFiles('**/Cargo.lock') }}
- run: cargo bench | tee output.txt
- name: Download previous benchmark data
uses: actions/[email protected]
with:
path: ./cache
key: ${{ runner.os }}-benchmark
- name: Store benchmark result
uses: benchmark-action/[email protected]
with:
tool: cargo
output-file-path: output.txt
external-data-json-path: ./cache/benchmark-data.json
fail-on-alert: true
github-token: ${{ secrets.GITHUB_TOKEN }}
summary-always: true
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- uses: dtolnay/[email protected]
- uses: actions/[email protected]
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: taiki-e/[email protected]
with:
tool: [email protected]
- uses: taiki-e/[email protected]
with:
tool: [email protected]
- run: cargo llvm-cov nextest --all-features --workspace --lcov --output-path lcov.info
- uses: codecov/[email protected]
with:
token: ${{ secrets.CODECOV_TOKEN }}
msrv:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- uses: taiki-e/[email protected]
with:
tool: [email protected]
- run: cargo hack check --rust-version --workspace --all-targets --ignore-private
build-and-publish:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
with:
fetch-depth: 0
- uses: docker/[email protected]
- uses: docker/[email protected]
- uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/[email protected]
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ghcr.io/henry40408/lam:nightly
if: github.ref_type == 'branch' && github.ref_name == 'main'
- uses: docker/[email protected]
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ghcr.io/henry40408/lam:${{ github.ref_name }}
if: github.ref_type == 'tag'
- uses: docker/[email protected]
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ghcr.io/henry40408/lam:latest
if: github.ref_type == 'tag'