Files
skills-vault/.github/workflows/ci.yml
T
dependabot[bot] b809d18499 chore(deps): bump the github-actions group across 1 directory with 2 updates
Bumps the github-actions group with 2 updates in the / directory: [actions/checkout](https://github.com/actions/checkout) and [actions/setup-node](https://github.com/actions/setup-node).


Updates `actions/checkout` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1)

Updates `actions/setup-node` from 6.4.0 to 7.0.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e...820762786026740c76f36085b0efc47a31fe5020)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/setup-node
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-27 01:17:23 +00:00

120 lines
3.1 KiB
YAML

name: CI
on:
pull_request:
branches:
- main
paths-ignore:
- ".archive/**"
- "docs/**"
- ".editorconfig"
- ".gitignore"
- ".github/*.md"
- ".github/ISSUE_TEMPLATE/**"
- ".github/PULL_REQUEST_TEMPLATE"
- ".github/PULL_REQUEST_TEMPLATE.md"
- ".github/PULL_REQUEST_TEMPLATE/**"
- "CHANGELOG.md"
- "CODEOWNERS"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "LICENSE"
- "SECURITY.md"
- "SUPPORT.md"
push:
branches:
- main
paths-ignore:
- ".archive/**"
- "docs/**"
- ".editorconfig"
- ".gitignore"
- ".github/*.md"
- ".github/ISSUE_TEMPLATE/**"
- ".github/PULL_REQUEST_TEMPLATE"
- ".github/PULL_REQUEST_TEMPLATE.md"
- ".github/PULL_REQUEST_TEMPLATE/**"
- "CHANGELOG.md"
- "CODEOWNERS"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "LICENSE"
- "SECURITY.md"
- "SUPPORT.md"
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
NODE_VERSION: "22"
jobs:
validate:
name: Validate (${{ matrix.os }})
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020
with:
node-version: ${{ env.NODE_VERSION }}
- name: Setup Bun
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Check formatting
run: bun run format:check
- name: Check workflow formatting
run: bunx prettier --check ".github/**/*.yml"
- name: Run tests
run: bun test
- name: Pack npm tarball
id: pack
shell: pwsh
run: |
$tarball = (npm pack | Select-Object -Last 1).Trim()
if (-not $tarball) {
throw "npm pack did not produce a tarball filename."
}
"tarball=$tarball" >> $env:GITHUB_OUTPUT
- name: Smoke test installed CLI
shell: pwsh
run: |
$prefix = Join-Path $PWD ".tmp-smoke"
$tarballPath = Join-Path $PWD "${{ steps.pack.outputs.tarball }}"
$expectedVersion = (node -p "require('./package.json').version").Trim()
npm install --prefix $prefix $tarballPath
$binName = if ($IsWindows) { "skvlt.cmd" } else { "skvlt" }
$binPath = Join-Path $prefix "node_modules/.bin/$binName"
& $binPath --help
$actualVersion = (& $binPath --version | Out-String).Trim()
if ($actualVersion -ne $expectedVersion) {
throw "Installed CLI version '$actualVersion' did not match package version '$expectedVersion'."
}