diff --git a/.github/workflows/dataconnect.yml b/.github/workflows/dataconnect.yml index da947da44cf..9eb5acad181 100644 --- a/.github/workflows/dataconnect.yml +++ b/.github/workflows/dataconnect.yml @@ -32,13 +32,13 @@ on: - cron: '0 11 * * *' # Run nightly at 11am UTC (3am Pacific, 6am Eastern) env: - FDC_JAVA_VERSION: ${{ inputs.javaVersion || '17' }} - FDC_ANDROID_EMULATOR_API_LEVEL: ${{ inputs.androidEmulatorApiLevel || '34' }} - FDC_NODEJS_VERSION: ${{ inputs.nodeJsVersion || '20' }} - FDC_FIREBASE_TOOLS_VERSION: ${{ inputs.firebaseToolsVersion || '15.8.0' }} + FDC_JAVA_VERSION: ${{ inputs.javaVersion }} + FDC_ANDROID_EMULATOR_API_LEVEL: ${{ inputs.androidEmulatorApiLevel }} + FDC_NODEJS_VERSION: ${{ inputs.nodeJsVersion }} + FDC_FIREBASE_TOOLS_VERSION: ${{ inputs.firebaseToolsVersion }} FDC_FIREBASE_TOOLS_DIR: /tmp/firebase-tools FDC_FIREBASE_COMMAND: /tmp/firebase-tools/node_modules/.bin/firebase - FDC_PYTHON_VERSION: ${{ inputs.pythonVersion || '3.13' }} + FDC_PYTHON_VERSION: ${{ inputs.pythonVersion }} concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -54,6 +54,9 @@ jobs: with: show-progress: false + - name: Load CI Version Defaults + run: ./firebase-dataconnect/ci/fill_ci_defaults.sh >>"${GITHUB_ENV}" + - uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0 with: java-version: ${{ env.FDC_JAVA_VERSION }} @@ -323,6 +326,8 @@ jobs: with: show-progress: false sparse-checkout: 'firebase-dataconnect/ci/' + - name: Load CI Version Defaults + run: ./firebase-dataconnect/ci/fill_ci_defaults.sh >>"${GITHUB_ENV}" - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ env.FDC_PYTHON_VERSION }} @@ -339,6 +344,8 @@ jobs: with: show-progress: false sparse-checkout: 'firebase-dataconnect/ci/' + - name: Load CI Version Defaults + run: ./firebase-dataconnect/ci/fill_ci_defaults.sh >>"${GITHUB_ENV}" - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ env.FDC_PYTHON_VERSION }} @@ -355,6 +362,8 @@ jobs: with: show-progress: false sparse-checkout: 'firebase-dataconnect/ci/' + - name: Load CI Version Defaults + run: ./firebase-dataconnect/ci/fill_ci_defaults.sh >>"${GITHUB_ENV}" - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ env.FDC_PYTHON_VERSION }} @@ -371,6 +380,8 @@ jobs: with: show-progress: false sparse-checkout: 'firebase-dataconnect/ci/' + - name: Load CI Version Defaults + run: ./firebase-dataconnect/ci/fill_ci_defaults.sh >>"${GITHUB_ENV}" - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ env.FDC_PYTHON_VERSION }} @@ -408,6 +419,9 @@ jobs: firebase-dataconnect/ci/ .github/ + - name: Load CI Version Defaults + run: ./firebase-dataconnect/ci/fill_ci_defaults.sh >>"${GITHUB_ENV}" + - name: gh auth login run: echo '${{ secrets.GITHUB_TOKEN }}' | gh auth login --with-token diff --git a/.github/workflows/dataconnect_demo_app.yml b/.github/workflows/dataconnect_demo_app.yml index 9d5790e5284..7144c525aa8 100644 --- a/.github/workflows/dataconnect_demo_app.yml +++ b/.github/workflows/dataconnect_demo_app.yml @@ -38,7 +38,12 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: - sparse-checkout: firebase-dataconnect/demo + sparse-checkout: | + firebase-dataconnect/ci/ + firebase-dataconnect/demo/ + + - name: Load CI Version Defaults + run: ./firebase-dataconnect/ci/fill_ci_defaults.sh >>"${GITHUB_ENV}" - name: Create Cache Key Files run: | @@ -154,7 +159,12 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: - sparse-checkout: firebase-dataconnect/demo + sparse-checkout: | + firebase-dataconnect/ci/ + firebase-dataconnect/demo/ + + - name: Load CI Version Defaults + run: ./firebase-dataconnect/ci/fill_ci_defaults.sh >>"${GITHUB_ENV}" - name: Create Cache Key Files run: echo "h99ee4egfd" >github_actions_demo_spotless_cache_key.txt @@ -218,6 +228,9 @@ jobs: firebase-dataconnect/ci/ .github/ + - name: Load CI Version Defaults + run: ./firebase-dataconnect/ci/fill_ci_defaults.sh >>"${GITHUB_ENV}" + - name: gh auth login run: echo '${{ secrets.GITHUB_TOKEN }}' | gh auth login --with-token diff --git a/firebase-dataconnect/ci/fill_ci_defaults.sh b/firebase-dataconnect/ci/fill_ci_defaults.sh new file mode 100755 index 00000000000..c2220cab170 --- /dev/null +++ b/firebase-dataconnect/ci/fill_ci_defaults.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -euo pipefail + +if [[ $# -gt 1 ]] ; then + echo "ERROR: no command-line arguments are supported, but got: $*" >&2 + exit 2 +fi + +readonly DEFAULT_JAVA_VERSION="17" +readonly DEFAULT_ANDROID_EMULATOR_API_LEVEL="34" +readonly DEFAULT_NODEJS_VERSION="20" +readonly DEFAULT_FIREBASE_TOOLS_VERSION="15.8.0" +readonly DEFAULT_PYTHON_VERSION="3.13" + +echo "FDC_JAVA_VERSION=${FDC_JAVA_VERSION:-${DEFAULT_JAVA_VERSION}}" +echo "FDC_ANDROID_EMULATOR_API_LEVEL=${FDC_ANDROID_EMULATOR_API_LEVEL:-${DEFAULT_ANDROID_EMULATOR_API_LEVEL}}" +echo "FDC_NODEJS_VERSION=${FDC_NODEJS_VERSION:-${DEFAULT_NODEJS_VERSION}}" +echo "FDC_FIREBASE_TOOLS_VERSION=${FDC_FIREBASE_TOOLS_VERSION:-${DEFAULT_FIREBASE_TOOLS_VERSION}}" +echo "FDC_PYTHON_VERSION=${FDC_PYTHON_VERSION:-${DEFAULT_PYTHON_VERSION}}"