Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/actions/pnpm/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ runs:
echo "Corepack version: $(corepack --version)"
corepack enable

- name: yarn
- name: pnpm
shell: bash
run: |
cd fixtures/pnp
yarn install
pnpm install

- name: pnpm
- name: yarn
shell: bash
run: |
pnpm install
cd fixtures/pnp
yarn install
170 changes: 12 additions & 158 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: CI
on:
workflow_dispatch:
pull_request:
types: [opened, synchronize]
types: [ opened, synchronize ]
paths-ignore:
- '**/*.md'
- '!.github/workflows/ci.yml'
Expand All @@ -24,168 +24,14 @@ defaults:
shell: bash

jobs:
cache: # Warm cache factory for all other CI jobs
name: Check and Build
strategy:
fail-fast: true
matrix:
include:
- os: windows-latest
- os: ubuntu-latest
- os: macos-14
runs-on: ${{ matrix.os }}
steps:
- uses: taiki-e/checkout-action@v1

- uses: Boshen/setup-rust@main
with:
save-cache: ${{ github.ref_name == 'main' }}
cache-key: warm

- run: cargo check --all-features --locked

- name: Publish Dry-run Check
run: cargo publish --dry-run

# Only need to build the test to create a warm cache on the main branch
- name: Build cache by Cargo Check and Cargo Test
if: ${{ github.ref_name == 'main' }}
run: cargo test --all-features --no-run

wasm:
name: Check Wasm
runs-on: ubuntu-latest
steps:
- uses: taiki-e/checkout-action@v1

- uses: Boshen/setup-rust@main
with:
cache-key: wasm
save-cache: ${{ github.ref_name == 'main' }}

- name: Check
run: |
rustup target add wasm32-unknown-unknown
cargo check --all-features --target wasm32-unknown-unknown

# wasi:
# name: Test wasi target
# runs-on: ubuntu-latest
# steps:
# - uses: taiki-e/checkout-action@v1

# - uses: Boshen/setup-rust@main
# with:
# cache-key: wasi
# save-cache: ${{ github.ref_name == 'main' }}

# - uses: ./.github/actions/pnpm

# - name: Build
# run: |
# rustup target add wasm32-wasip1-threads
# pnpm build --target wasm32-wasip1-threads

# - name: Test
# run: pnpm test
# env:
# WASI_TEST: 1

typos:
name: Spell Check
runs-on: ubuntu-latest
steps:
- uses: taiki-e/checkout-action@v1

- uses: crate-ci/typos@v1.26.0
with:
files: .

deny:
name: Cargo Deny
runs-on: ubuntu-latest
steps:
- uses: taiki-e/checkout-action@v1

- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
src:
- 'Cargo.lock'

- uses: Boshen/setup-rust@main
with:
restore-cache: false
tools: cargo-deny

- if: steps.filter.outputs.src == 'true'
run: cargo deny check

unused-deps:
name: Check Unused Dependencies
runs-on: ubuntu-latest
steps:
- uses: taiki-e/checkout-action@v1
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
src:
- '**/*.rs'
- '**/Cargo.toml'
- 'Cargo.lock'
- uses: Boshen/setup-rust@main
with:
restore-cache: false
if: steps.filter.outputs.src == 'true'
- uses: cargo-bins/cargo-binstall@main
if: steps.filter.outputs.src == 'true'
- run: cargo binstall --no-confirm cargo-shear@1
if: steps.filter.outputs.src == 'true'
- run: cargo shear
if: steps.filter.outputs.src == 'true'

format:
name: Format
runs-on: ubuntu-latest
steps:
- uses: taiki-e/checkout-action@v1
- uses: Boshen/setup-rust@main
with:
components: rustfmt
restore-cache: false
- run: cargo fmt --all -- --check

lint:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: taiki-e/checkout-action@v1
- uses: Boshen/setup-rust@main
with:
components: clippy
- run: cargo clippy --all-features -- -D warnings

doc:
name: Doc
runs-on: ubuntu-latest
steps:
- uses: taiki-e/checkout-action@v1
- uses: Boshen/setup-rust@main
with:
components: rust-docs
- run: RUSTDOCFLAGS='-D warnings' cargo doc --no-deps --all-features

test:
name: Test
strategy:
fail-fast: true
fail-fast: false
matrix:
include:
- os: windows-latest
- os: ubuntu-latest
- os: macos-14
runs-on: ${{ matrix.os }}
env:
RUST_BACKTRACE: 1
Expand All @@ -195,5 +41,13 @@ jobs:
- uses: Boshen/setup-rust@main
with:
cache-key: warm
- run: cargo test --doc
- run: cargo test --all-features
- run: find fixtures/pnp
- uses: actions/upload-artifact@v4
name: pnp.cjs upload
with:
name: pnp-${{ matrix.os }}.cjs
path: |
./fixtures/pnp/.pnp.cjs
if-no-files-found: error
include-hidden-files: true
- run: cargo test --all-features pnp -- --nocapture
2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
20.14.0
22
Loading
Loading