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>
120 lines
3.1 KiB
YAML
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'."
|
|
}
|