@@ -84,34 +84,34 @@ jobs:
8484 env :
8585 node-version : lts/*
8686 redis-version : 7-alpine
87- run-smoke : ${{ needs.changes.outputs.node == 'true' || needs.changes.outputs.lua == 'true' }}
87+ run_smoke : ${{ needs.changes.outputs.node == 'true' || needs.changes.outputs.lua == 'true' }}
8888
8989 steps :
9090 - name : Skip smoke run when node/lua inputs are unchanged
91- if : ${{ env.run-smoke != 'true' }}
91+ if : ${{ env.run_smoke != 'true' }}
9292 run : echo "No node/lua changes detected; skipping smoke steps."
9393 - name : Checkout repository
94- if : ${{ env.run-smoke == 'true' }}
94+ if : ${{ env.run_smoke == 'true' }}
9595 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
9696 - name : Use Node.js
97- if : ${{ env.run-smoke == 'true' }}
97+ if : ${{ env.run_smoke == 'true' }}
9898 uses : actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
9999 with :
100100 node-version : ${{ env.node-version }}
101101 cache : ' yarn'
102102 - name : Start Redis
103- if : ${{ env.run-smoke == 'true' }}
103+ if : ${{ env.run_smoke == 'true' }}
104104 uses : supercharge/redis-github-action@bc274cb7238cd63a45029db04ee48c07a72609fd # 1.8.1
105105 with :
106106 redis-version : ${{ env.redis-version }}
107- - if : ${{ env.run-smoke == 'true' }}
107+ - if : ${{ env.run_smoke == 'true' }}
108108 run : yarn install --ignore-engines --frozen-lockfile --non-interactive
109109 - name : Run ESLint
110- if : ${{ env.run-smoke == 'true' }}
110+ if : ${{ env.run_smoke == 'true' }}
111111 run : yarn lint
112- - if : ${{ env.run-smoke == 'true' }}
112+ - if : ${{ env.run_smoke == 'true' }}
113113 run : yarn build
114- - if : ${{ env.run-smoke == 'true' }}
114+ - if : ${{ env.run_smoke == 'true' }}
115115 run : yarn test:smoke
116116
117117 # Primary ioredis test run on a single (current LTS) Node version.
@@ -123,7 +123,8 @@ jobs:
123123 # ioredis Node/Redis version matrix run in parallel.
124124 ioredis-redis :
125125 runs-on : ubuntu-latest
126- needs : smoke
126+ needs : [changes, smoke]
127+ if : ${{ !cancelled() && (needs.changes.outputs.node == 'true' || needs.changes.outputs.lua == 'true') }}
127128
128129 name : testing node@${{ matrix.node-version }}, redis@${{ matrix.redis-version }}
129130
@@ -347,9 +348,10 @@ jobs:
347348 runs-on : ubuntu-latest
348349 # Depend on the primary node suite (which also runs coverage) so a Node
349350 # test failure aborts the cross-language jobs before they consume runner
350- # time. `ioredis-redis` itself depends on `smoke`. When only Python (or
351- # nothing node-related) changed, `ioredis-redis` is skipped and we still
352- # run this job (a skipped dependency is allowed, a failed one is not).
351+ # time. `ioredis-redis` itself depends on `smoke` and only runs when Node
352+ # or shared Lua inputs changed. When only Python changed, `ioredis-redis`
353+ # is skipped and we still run this job (a skipped dependency is allowed, a
354+ # failed one is not).
353355 needs : [changes, ioredis-redis]
354356 if : >-
355357 !cancelled() &&
0 commit comments