Skip to content

refactor: use utf8 strings as mem cache keys (#222) #1111

refactor: use utf8 strings as mem cache keys (#222)

refactor: use utf8 strings as mem cache keys (#222) #1111

Workflow file for this run

name: CI
on:
workflow_dispatch:
pull_request:
types: [opened, synchronize]
paths-ignore:
- '**/*.md'
push:
branches:
- main
paths-ignore:
- '**/*.md'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.ref_name != 'main' }}
jobs:
test:
name: Lint and Test
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
- os: ubuntu-latest
- os: macos-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install Rust Toolchain
uses: ./.github/actions/rustup
with:
docs: true
clippy: true
save-cache: ${{ github.ref_name == 'main' }}
- name: Install pnpm (for compatibility check)
uses: pnpm/action-setup@v2
with:
version: 8.9.2
run_install: false
standalone: true
- name: Cache pnpm
uses: actions/cache@v3
with:
key: ci-pnpm-${{ matrix.os }}
path: |
${{ env.PNPM_HOME }}/store/v3
${{ env.HOME }}/.local/share/pnpm/store/v3
timeout-minutes: 1
continue-on-error: true
- name: Clippy
run: cargo clippy --locked -- -D warnings
- name: Doc
env:
RUSTDOCFLAGS: '-D warnings'
run: cargo doc
- name: Install just
uses: taiki-e/install-action@just
- name: Install dependencies
run: just install
- name: Install cargo-nextest
uses: taiki-e/install-action@cargo-nextest
- name: Test
shell: bash
run: |
just registry-mock launch
# removing env vars is a temporary workaround for unit tests in pacquet relying on external environment
# this should be removed in the future
unset PNPM_HOME
unset XDG_DATA_HOME
just test
just registry-mock end
typos:
name: Spell Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crate-ci/[email protected]
with:
files: .
deny:
name: Cargo Deny
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
src:
- 'Cargo.lock'
- name: Install cargo-deny
if: steps.filter.outputs.src == 'true'
uses: taiki-e/install-action@cargo-deny
- if: steps.filter.outputs.src == 'true'
run: cargo deny check
format:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: ./.github/actions/rustup
with:
fmt: true
restore-cache: false
- run: cargo fmt --all -- --check
- name: Install Taplo CLI
uses: ./.github/actions/binstall
with:
packages: [email protected]
- run: taplo format --check