3434env :
3535 FDC_JAVA_VERSION : ${{ inputs.javaVersion || '17' }}
3636 FDC_ANDROID_EMULATOR_API_LEVEL : ${{ inputs.androidEmulatorApiLevel || '34' }}
37- FDC_NODEJS_VERSION : ${{ inputs.nodeJsVersion || '20 ' }}
38- FDC_FIREBASE_TOOLS_VERSION : ${{ inputs.firebaseToolsVersion || '15.11.0' }}
37+ FDC_NODEJS_VERSION : ${{ inputs.nodeJsVersion || '24 ' }}
38+ FDC_INPUT_FIREBASE_TOOLS_VERSION : ${{ inputs.firebaseToolsVersion }}
3939 FDC_FIREBASE_TOOLS_DIR : /tmp/firebase-tools
4040 FDC_FIREBASE_COMMAND : /tmp/firebase-tools/node_modules/.bin/firebase
4141 FDC_PYTHON_VERSION : ${{ inputs.pythonVersion || '3.13' }}
5454 with :
5555 show-progress : false
5656
57+ - name : Initialize FDC_FIREBASE_TOOLS_VERSION environment variable
58+ run : |
59+ set -euo pipefail
60+ if [[ -n "$FDC_INPUT_FIREBASE_TOOLS_VERSION" ]]; then
61+ version="$FDC_INPUT_FIREBASE_TOOLS_VERSION"
62+ else
63+ version="$(cat firebase-dataconnect/ci/firebase-tools-version.txt)"
64+ fi
65+ echo "FDC_FIREBASE_TOOLS_VERSION=${version}" >> "$GITHUB_ENV"
66+
5767 - uses : actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
5868 with :
5969 java-version : ${{ env.FDC_JAVA_VERSION }}
@@ -259,15 +269,15 @@ jobs:
259269 set -eux && ./gradlew --warning-mode all ${{ (inputs.gradleInfoLog && '--info') || '' }} :firebase-dataconnect:connectedCheck :firebase-dataconnect:connectors:connectedCheck
260270
261271 - name : Upload Log Files
262- uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6 .1
272+ uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0 .1
263273 with :
264274 name : integration_test_logs
265275 path : " **/*.log"
266276 if-no-files-found : warn
267277 compression-level : 9
268278
269279 - name : Upload Gradle Build Reports
270- uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6 .1
280+ uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0 .1
271281 with :
272282 name : integration_test_gradle_build_reports
273283 path : firebase-dataconnect/**/build/reports/
@@ -305,16 +315,26 @@ jobs:
305315 with :
306316 args : -color /github/workspace/.github/workflows/dataconnect.yml
307317
308- shellcheck :
318+ zshellcheck :
309319 continue-on-error : false
310320 runs-on : ubuntu-latest
311321 steps :
312322 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
313323 with :
314324 show-progress : false
315325 sparse-checkout : ' firebase-dataconnect/'
316- - name : shellcheck
317- run : find . -name '*.sh' -print0 | xargs --verbose -0 shellcheck --norc --enable=all --shell=bash
326+ - name : zshellcheck setup
327+ run : |
328+ set -xveuo pipefail
329+ cd '${{ runner.temp }}'
330+ mkdir zshellcheck
331+ cd zshellcheck
332+ curl -fsSL -o zshellcheck.tar.gz https://github.com/afadesigns/zshellcheck/releases/download/v1.0.17/zshellcheck_Linux_x86_64.tar.gz
333+ tar xvf zshellcheck.tar.gz
334+ - name : zshellcheck
335+ run : |
336+ set -xveuo pipefail
337+ find . -name '*.zsh' -exec '${{ runner.temp }}/zshellcheck/zshellcheck' -severity style -no-color -no-banner -diff '{}' +
318338
319339 python-ci-unit-tests :
320340 continue-on-error : false
@@ -393,6 +413,7 @@ jobs:
393413 needs :
394414 - ' integration-test'
395415 - ' actionlint-dataconnect-yml'
416+ - ' zshellcheck'
396417 - ' python-ci-unit-tests'
397418 - ' python-ci-lint'
398419 - ' python-ci-format'
@@ -418,6 +439,7 @@ jobs:
418439 cat >'${{ runner.temp }}/job_results.txt' <<EOF
419440 integration-test:${{ needs.integration-test.result }}
420441 actionlint-dataconnect-yml:${{ needs.actionlint-dataconnect-yml.result }}
442+ zshellcheck:${{ needs.zshellcheck.result }}
421443 python-ci-unit-tests:${{ needs.python-ci-unit-tests.result }}
422444 python-ci-lint:${{ needs.python-ci-lint.result }}
423445 python-ci-format:${{ needs.python-ci-format.result }}
0 commit comments