build(deps-dev): bump all #3686
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Lint and test | |
# By default, runs when a pull request is opened, synchronized, or reopened. | |
on: pull_request | |
jobs: | |
lint_and_test: | |
name: Lint and test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out project repository | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Set up Node.js runtime | |
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 | |
with: | |
node-version-file: 'package.json' | |
- name: Install | |
run: | | |
corepack enable | |
corepack prepare pnpm@latest --activate | |
pnpm install | |
echo "$(pwd)/node_modules/.bin" >> $GITHUB_PATH | |
- name: Build | |
run: nps build | |
# Checks to see if any files in the PR match one of the listed file types. | |
# We can use this filter to decide whether or not to run linters or tests. | |
# You can check if a file with a listed file type is in the PR by doing: | |
# if: ${{ steps.filter.outputs.md == 'true' }} | |
# This will return true if there's a Markdown file the PR has changed. | |
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 | |
id: filter | |
with: | |
filters: | | |
browserslist: | |
- '.browserslistrc' | |
dockerfile: | |
- '**/Dockerfile' | |
js: | |
- '**/*.js' | |
- '**/*.mjs' | |
json: | |
- '**/*.json' | |
- '**/*.json5' | |
- '**/*.jsonc' | |
liquid: | |
- '**/*.html' | |
- '**/*.liquid' | |
md: | |
- '**/*.md' | |
scss: | |
- '**/*.scss' | |
svg: | |
- '**/*.svg' | |
toml: | |
- '**/*.toml' | |
ts: | |
- '**/*.ts' | |
- '**/*.mts' | |
yaml: | |
- '**/*.yml' | |
- '**/*.yaml' | |
# Use the filter to check if files with a specific file type were changed | |
# in the PR. If they were, run the relevant linters. Otherwise, skip. | |
- name: Verify Browserslist | |
if: ${{ steps.filter.outputs.browserslist == 'true' }} | |
run: nps verify.browserslist | |
- name: Verify Dockerfile | |
if: ${{ steps.filter.outputs.dockerfile == 'true' }} | |
run: nps verify.dockerfile | |
- name: Verify JavaScript | |
if: ${{ steps.filter.outputs.js == 'true' }} | |
run: nps verify.js | |
- name: Verify JSON | |
if: ${{ steps.filter.outputs.json == 'true' }} | |
run: nps verify.json | |
- name: Verify Liquid | |
if: ${{ steps.filter.outputs.liquid == 'true' }} | |
run: nps verify.liquid | |
- name: Verify Markdown | |
if: ${{ steps.filter.outputs.md == 'true' }} | |
run: nps verify.md | |
- name: Verify SCSS | |
if: ${{ steps.filter.outputs.scss == 'true' }} | |
run: nps verify.scss | |
- name: Verify SVG | |
if: ${{ steps.filter.outputs.svg == 'true' }} | |
run: nps verify.svg | |
- name: Verify TOML | |
if: ${{ steps.filter.outputs.toml == 'true' }} | |
run: nps verify.toml | |
- name: Verify TypeScript | |
if: ${{ steps.filter.outputs.ts == 'true' }} | |
run: nps verify.ts | |
- name: Verify YAML | |
if: ${{ steps.filter.outputs.yaml == 'true' }} | |
run: nps verify.yaml | |
# Only run tests if the PR touches behavior-related files. | |
- name: Test | |
if: ${{ steps.filter.outputs.js == 'true' || steps.filter.outputs.json == 'true' || steps.filter.outputs.ts == 'true' }} | |
run: nps test |