Skip to content

develop#61

Merged
gabrielrufino merged 4 commits intov3from
develop
Mar 14, 2026
Merged

develop#61
gabrielrufino merged 4 commits intov3from
develop

Conversation

@gabrielrufino
Copy link
Collaborator

  • feat: support npm, yarn and pnpm package managers
  • fix: split setup-node into two steps to support corepack-based caching
  • fix: make package manager caching optional based on lock file existence
  • feat: add step duration and install info to PR comments

- Add `package-manager` input (defaults to `npm`)
- Use `corepack enable` to handle package manager binaries
- Add input validation using `@actalog/expect@v1`
- Update all internal commands to be dynamic based on the selected manager
- Update CI workflow to test all managers via matrix
- Update README with new documentation and usage examples
- Install Node.js first to ensure `corepack` is available in the environment
- Enable `corepack` before configuring the package manager cache
- Run `setup-node` a second time to handle caching now that shims are in PATH
- Add explanatory comments for the dual-step approach and ensure version consistency
- Use `hashFiles` to check for `pnpm-lock.yaml`, `yarn.lock`, or `package-lock.json`
- Only enable the `cache` input in `setup-node` if the corresponding file exists
- Prevent workflow failures when the selected manager's lock file is missing
- Simplify logic using a ternary-like expression directly in the YAML
- Calculate execution time for install, build, lint, and test steps
- Add 'Install' step and 'Duration' column to the PR summary table
- Use manual timestamp calculation to provide duration in seconds
- Format and align the summary table in `action.yml` for better readability
@gabrielrufino gabrielrufino merged commit 0a93598 into v3 Mar 14, 2026
15 checks passed
@github-actions
Copy link

@actalog/node-ci

Node CI completed!

Steps

Step Status Duration
Install success 5s
Build success 1s
Lint success 3s
Test success 1s

Statistics

  • node_modules size: 156M

Outdated packages

Package                          Current  Wanted  Latest  Location                                      Depended by
@antfu/eslint-config               6.7.3   6.7.3   7.7.2  node_modules/@antfu/eslint-config             node-ci
@commitlint/cli                   20.4.2  20.4.4  20.4.4  node_modules/@commitlint/cli                  node-ci
@commitlint/config-conventional   20.4.2  20.4.4  20.4.4  node_modules/@commitlint/config-conventional  node-ci
@vitest/coverage-v8               4.0.18   4.1.0   4.1.0  node_modules/@vitest/coverage-v8              node-ci
eslint                            9.39.3  9.39.4  10.0.3  node_modules/eslint                           node-ci
vitest                            4.0.18   4.1.0   4.1.0  node_modules/vitest                           node-ci

Environment

  • Runner OS: Linux
  • Runner Arch: X64
  • Node version: 24
  • Package manager: npm

@github-actions
Copy link

@actalog/node-ci

Node CI completed!

Steps

Step Status Duration
Install success 5s
Build skipped -
Lint success 3s
Test success 1s

Statistics

  • node_modules size: 156M

Outdated packages

Package                          Current  Wanted  Latest  Location                                      Depended by
@antfu/eslint-config               6.7.3   6.7.3   7.7.2  node_modules/@antfu/eslint-config             node-ci
@commitlint/cli                   20.4.2  20.4.4  20.4.4  node_modules/@commitlint/cli                  node-ci
@commitlint/config-conventional   20.4.2  20.4.4  20.4.4  node_modules/@commitlint/config-conventional  node-ci
@vitest/coverage-v8               4.0.18   4.1.0   4.1.0  node_modules/@vitest/coverage-v8              node-ci
eslint                            9.39.3  9.39.4  10.0.3  node_modules/eslint                           node-ci
vitest                            4.0.18   4.1.0   4.1.0  node_modules/vitest                           node-ci

Environment

  • Runner OS: Linux
  • Runner Arch: X64
  • Node version: 24
  • Package manager: npm

@github-actions
Copy link

@actalog/node-ci

Node CI completed!

Steps

Step Status Duration
Install success 6s
Build success 1s
Lint success 3s
Test success 1s

Statistics

  • node_modules size: 171M

Outdated packages

┌────────────────────────────┬─────────┬────────┐
│ Package                    │ Current │ Latest │
├────────────────────────────┼─────────┼────────┤
│ @antfu/eslint-config (dev) │ 6.7.3   │ 7.7.2  │
├────────────────────────────┼─────────┼────────┤
│ eslint (dev)               │ 9.39.4  │ 10.0.3 │
└────────────────────────────┴─────────┴────────┘

Environment

  • Runner OS: Linux
  • Runner Arch: X64
  • Node version: 24
  • Package manager: pnpm

@github-actions
Copy link

@actalog/node-ci

Node CI completed!

Steps

Step Status Duration
Install success 5s
Build success 0s
Lint success 3s
Test success 1s

Statistics

  • node_modules size: 148M

Outdated packages

Package                          Current  Wanted  Latest  Location                                      Depended by
@antfu/eslint-config               6.7.3   6.7.3   7.7.2  node_modules/@antfu/eslint-config             node-ci
@commitlint/cli                   20.4.2  20.4.4  20.4.4  node_modules/@commitlint/cli                  node-ci
@commitlint/config-conventional   20.4.2  20.4.4  20.4.4  node_modules/@commitlint/config-conventional  node-ci
@vitest/coverage-v8               4.0.18   4.1.0   4.1.0  node_modules/@vitest/coverage-v8              node-ci
eslint                            9.39.3  9.39.4  10.0.3  node_modules/eslint                           node-ci
vitest                            4.0.18   4.1.0   4.1.0  node_modules/vitest                           node-ci

Environment

  • Runner OS: macOS
  • Runner Arch: ARM64
  • Node version: 24
  • Package manager: npm

@github-actions
Copy link

@actalog/node-ci

Node CI completed!

Steps

Step Status Duration
Install success 5s
Build success 1s
Lint success 3s
Test success 1s

Statistics

  • node_modules size: 156M

Outdated packages

Package                          Current  Wanted  Latest  Location                                      Depended by
@antfu/eslint-config               6.7.3   6.7.3   7.7.2  node_modules/@antfu/eslint-config             node-ci
@commitlint/cli                   20.4.2  20.4.4  20.4.4  node_modules/@commitlint/cli                  node-ci
@commitlint/config-conventional   20.4.2  20.4.4  20.4.4  node_modules/@commitlint/config-conventional  node-ci
@vitest/coverage-v8               4.0.18   4.1.0   4.1.0  node_modules/@vitest/coverage-v8              node-ci
eslint                            9.39.3  9.39.4  10.0.3  node_modules/eslint                           node-ci
vitest                            4.0.18   4.1.0   4.1.0  node_modules/vitest                           node-ci

Environment

  • Runner OS: Linux
  • Runner Arch: X64
  • Node version: 24
  • Package manager: npm

@github-actions
Copy link

@actalog/node-ci

Node CI completed!

Steps

Step Status Duration
Install success 13s
Build success 1s
Lint success 3s
Test success 1s

Statistics

  • node_modules size: 192M

Outdated packages

yarn outdated v1.22.22
info Color legend : 
 "<red>"    : Major Update backward-incompatible updates 
 "<yellow>" : Minor Update backward-compatible features 
 "<green>"  : Patch Update backward-compatible bug fixes
Package              Current Wanted Latest Package Type    URL                                   
@antfu/eslint-config 6.7.3   6.7.3  7.7.2  devDependencies https://github.com/antfu/eslint-config
eslint               9.39.4  9.39.4 10.0.3 devDependencies https://eslint.org                    
Done in 0.42s.

Environment

  • Runner OS: Linux
  • Runner Arch: X64
  • Node version: 24
  • Package manager: yarn

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant