Skip to content

Bump to Ruby 4.0.6 #2235

Bump to Ruby 4.0.6

Bump to Ruby 4.0.6 #2235

name: Strava Search CI
# Runs only when strava_search files change — the native `paths:` filter acts
# before a run is created, so non-matching PRs get no run and no check at all.
# (An always-on paths-filter job left a passed + a skipped check on every PR,
# and CI-dispatched workflow_dispatch runs never appear in the PR check rollup.)
# NOTE: don't make this a required status check in branch protection —
# paths-filtered workflows create no run on non-matching PRs, which would
# leave the required check "expected" forever.
on:
workflow_dispatch:
pull_request:
paths:
- 'vendor/strava_search/**'
- 'public/strava_search/**'
- '.github/workflows/strava_search_ci.yml'
# setup-node reads node-version-file: '.tool-versions' below — a Node
# bump changes the build environment, so it must trigger a run too.
- '.tool-versions'
defaults:
run:
working-directory: vendor/strava_search
jobs:
ci:
name: Lint, Type Check, Test & Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup Node.js
uses: actions/setup-node@v7
with:
node-version-file: '.tool-versions'
cache: 'npm'
cache-dependency-path: 'vendor/strava_search/package-lock.json'
- name: Install dependencies
run: npm ci --legacy-peer-deps
- name: Check for credentials
run: npm run check-credentials
- name: Run linting
run: npm run lint
- name: Type check
run: npm run typecheck
- name: Run tests
run: npm run test:run
- name: Build application
run: npm run build
- name: Verify public build assets are up to date
working-directory: .
run: diff -r vendor/strava_search/dist/assets public/strava_search/assets