From 7ebbc1faa934d3d026f03b670627613d1dbc9511 Mon Sep 17 00:00:00 2001 From: mhucka Date: Wed, 10 Dec 2025 21:48:59 +0000 Subject: [PATCH 1/8] Simplify ci-nightly-build-test.yaml & add timeouts Make steps simpler by using tricks such as setting SHELLOPTS, and use new larger runner (from Google ML Velocity) for the build job because the job is running out of disk space on the default runner. --- .github/workflows/ci-nightly-build-test.yaml | 71 ++++++++------------ 1 file changed, 28 insertions(+), 43 deletions(-) diff --git a/.github/workflows/ci-nightly-build-test.yaml b/.github/workflows/ci-nightly-build-test.yaml index 7ef135904..e11dba272 100644 --- a/.github/workflows/ci-nightly-build-test.yaml +++ b/.github/workflows/ci-nightly-build-test.yaml @@ -14,23 +14,17 @@ # Summary: TFQ nightly full build & test. # -# This workflow compiles TFQ and runs all test cases, to verify everything -# works. Unlike the CI checks invoked on PRs and similar events, this workflow -# builds everything without caching and runs the full test suite, including -# "eternal" tests that take a long time to run. It is meant to guard against -# failures that might be missed when skipping the long-running tests or using -# caching to speed up the CI runs. -# +# Unlike the CI checks invoked on PRs and similar events, this workflow builds +# everything without caching and runs the full test suite, including "eternal" +# tests that take a long time to run. It is meant to guard against failures that +# might be missed when skipping long-running tests or using caches in CI runs. # For efficiency, it checks if there have been any commits in the past 24 hrs # and does not proceed if there have been none. -# -# This workflow also can be invoked manually via the "Run workflow" button at -# https://github.com/tensorflow/quantum/actions/workflows/ci-build-checks.yaml # yamllint disable rule:line-length -name: CI nightly full test -run-name: Continuous integration nightly build & test +name: "Nightly build & test" +run-name: "Nightly full build and test (conditional on recent changes)" on: schedule: @@ -42,11 +36,14 @@ on: description: "Python version:" type: string default: "3.10.15" - save_artifacts: description: Make Bazel artifacts downloadable type: boolean default: true + debug: + description: 'Run with debugging options' + type: boolean + default: true env: # Default Python version to use. @@ -64,6 +61,9 @@ env: test --test_timeout=6000 test --test_verbose_timeout_warnings + # Equivalent to doing "set -x" in shell scripts. + SHELLOPTS: ${{inputs.debug && 'xtrace'}} + concurrency: # Cancel any previously-started but still active runs on the same branch. cancel-in-progress: true @@ -72,10 +72,12 @@ concurrency: permissions: read-all jobs: - Decision: - runs-on: ubuntu-24.04 + check-recent: + name: "(Check for changes)" + runs-on: ubuntu-slim + timeout-minutes: 10 outputs: - run: ${{steps.commits.outputs.count > 0}} + have-changes: ${{steps.commits.outputs.count > 0}} steps: - name: Check out a sparse copy of the git repo for TFQ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 @@ -85,15 +87,15 @@ jobs: - name: Get number of commits in the last 24 hrs id: commits run: | - set -x count=$(git log --oneline --since '24 hours ago' | wc -l) echo "count=$count" >> "$GITHUB_OUTPUT" - Nightly: - if: needs.Decision.outputs.run == 'true' + nightly: + if: needs.check-recent.outputs.have-changes == 'true' name: Build and test - needs: Decision - runs-on: ubuntu-22.04 + needs: check-recent + runs-on: linux-x86-n2-32 + timeout-minutes: 60 steps: - name: Check out a copy of the TFQ git repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 @@ -107,36 +109,19 @@ jobs: uses: bazel-contrib/setup-bazel@f3f50ea6791b9b0f4c4eeabba4507422426462f5 # 0.9.1 with: bazelrc: ${{env.bazelrc_additions}} + bazelisk-version: 1.x - name: Build wheel - run: | - set -x - pip install --upgrade pip setuptools wheel - # The next script does a pip install, configure, & bazel build. - ./scripts/build_pip_package_test.sh + run: ./scripts/build_pip_package_test.sh - name: Test wheel - run: | - set -x - ./scripts/run_example.sh + run: ./scripts/run_example.sh - name: Test rest of TFQ - run: | - set -x -o pipefail - ./scripts/test_all.sh 2>&1 | tee test_all.log + run: ./scripts/test_all.sh |& tee test_all.log - name: Test tutorials - run: | - set -x -o pipefail - pip install jupyter - pip install nbclient==0.6.5 jupyter-client==6.1.12 ipython==7.22.0 - pip install ipykernel==5.1.1 - pip install gym==0.24.1 - pip install seaborn==0.12.0 - pip install -q git+https://github.com/tensorflow/docs - cd .. - python quantum/scripts/test_tutorials.py 2>&1 | \ - tee quantum/test_tutorials.log + run: ./scripts/ci_validate_tutorials.sh |& tee test_tutorials.log - if: failure() || inputs.save_artifacts == 'true' name: Make artifacts downloadable From 201bd019ce856f4a2ee6242c96cfa587c38abe15 Mon Sep 17 00:00:00 2001 From: mhucka Date: Wed, 10 Dec 2025 22:17:47 +0000 Subject: [PATCH 2/8] Use pip cache & bazel repo cache These are safe to use. --- .github/workflows/ci-nightly-build-test.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-nightly-build-test.yaml b/.github/workflows/ci-nightly-build-test.yaml index e11dba272..92c0afc9e 100644 --- a/.github/workflows/ci-nightly-build-test.yaml +++ b/.github/workflows/ci-nightly-build-test.yaml @@ -104,12 +104,14 @@ jobs: uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5 with: python-version: ${{inputs.py_version || env.py_version}} + cache: pip - name: Set up Bazel uses: bazel-contrib/setup-bazel@f3f50ea6791b9b0f4c4eeabba4507422426462f5 # 0.9.1 with: + bazelisk-cache: true + repository-cache: true bazelrc: ${{env.bazelrc_additions}} - bazelisk-version: 1.x - name: Build wheel run: ./scripts/build_pip_package_test.sh @@ -118,10 +120,10 @@ jobs: run: ./scripts/run_example.sh - name: Test rest of TFQ - run: ./scripts/test_all.sh |& tee test_all.log + run: ./scripts/test_all.sh - name: Test tutorials - run: ./scripts/ci_validate_tutorials.sh |& tee test_tutorials.log + run: ./scripts/ci_validate_tutorials.sh - if: failure() || inputs.save_artifacts == 'true' name: Make artifacts downloadable @@ -131,8 +133,6 @@ jobs: retention-days: 7 include-hidden-files: true path: | - test_all.log - test_tutorials.log /home/runner/.bazel/execroot/__main__/bazel-out/ !/home/runner/.bazel/execroot/__main__/bazel-out/**/*.so !/home/runner/.bazel/execroot/__main__/bazel-out/**/*.o From 438ade9f2e03b7bc7a1d6209a71eaeeba17a65b9 Mon Sep 17 00:00:00 2001 From: mhucka Date: Wed, 10 Dec 2025 22:18:58 +0000 Subject: [PATCH 3/8] Simplify ci-nightly-cirq-test.yaml & add use new runners Make steps simpler by using tricks such as setting SHELLOPTS, and use new larger runner (from Google ML Velocity) for the build job because the job is running out of disk space on the default runner. --- .github/workflows/ci-nightly-cirq-test.yaml | 133 +++++--------------- 1 file changed, 30 insertions(+), 103 deletions(-) diff --git a/.github/workflows/ci-nightly-cirq-test.yaml b/.github/workflows/ci-nightly-cirq-test.yaml index f322d4ceb..e2a5b047b 100644 --- a/.github/workflows/ci-nightly-cirq-test.yaml +++ b/.github/workflows/ci-nightly-cirq-test.yaml @@ -16,15 +16,12 @@ # # This workflow is executed every night on a schedule. By default, this # workflow will save Bazel build artifacts if an error occurs during a run. -# For testing, this workflow can be invoked manually from the GitHub page at -# https://github.com/tensorflow/quantum/actions/workflows/ci-nightly-cirq-test.yaml -# Clicking the "Run workflow" button there will present a form interface with -# options for overridding some of the parameters for the run. +# For testing, this workflow can be invoked manually. # yamllint disable rule:line-length -name: CI nightly Cirq compatibility test -run-name: Continuous integration Cirq compatibility test +name: Nightly Cirq compatibility test +run-name: "Nightly build and test against latest dev version of Cirq" on: schedule: @@ -33,51 +30,25 @@ on: # Manual on-demand invocations. workflow_dispatch: inputs: - py_version: - description: Version of Python to use - type: string - default: "3.10.15" - - bazel_version: - description: Version of Bazel Python to use - type: string - - arch: - description: Computer architecture to use - type: string - default: "x64" - - use_disk_cache: - description: Use Bazel disk_cache between runs - type: boolean - default: true - - use_test_cache: - description: Allow Bazel to cache test results - type: boolean - default: true - save_artifacts: description: Make Bazel outputs downloadable type: boolean default: true + debug: + description: 'Run with debugging options' + type: boolean + default: true env: - # Default Python version to use. - py_version: "3.10.15" - - # Bazel version. Note: this needs to match what is used in TF & TFQ. - bazel_version: 6.5.0 - - # Machine architecture to use. - arch: x64 - # Additional .bazelrc options to use. bazelrc_additions: | common --announce_rc build --verbose_failures test --test_timeout=3000 + # Equivalent to doing "set -x" in shell scripts. + SHELLOPTS: ${{inputs.debug && 'xtrace'}} + concurrency: # Cancel any previously-started but still active runs on the same branch. cancel-in-progress: true @@ -87,75 +58,39 @@ permissions: read-all jobs: test-compatibility: - name: Run TFQ tests - runs-on: ubuntu-22.04 + name: Build and test with latest Cirq + runs-on: linux-x86-n2-32 + timeout-minutes: 60 steps: - name: Check out a copy of the TFQ git repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - name: Set up Python ${{inputs.py_version || env.py_version}} - id: python + - name: Set up Python uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5 with: - python-version: ${{inputs.py_version || env.py_version}} - architecture: ${{inputs.arch || env.arch}} + python-version: '3.10.15' cache: pip - - name: Install TensorFlow Quantum dependencies - run: | - pip install --upgrade pip setuptools wheel - pip install -r requirements.txt - - - name: Install the nightly build version of Cirq - run: | - echo 'numpy<2.0.0' > constraint.txt - export PIP_CONSTRAINT=constraint.txt - pip install --upgrade cirq~=1.0.dev - - - name: Configure Bazel options - run: | - # If we didn't get a cache hit on the installed Python environment, - # something's changed, and we want to make sure to re-run all tests. - if [[ "${{steps.python.outputs.cache-hit}}" == "true" - && "${{github.event.inputs.use_test_cache}}" != "false" ]]; then - echo "use_test_cache=auto" >> "$GITHUB_ENV" - else - echo "use_test_cache=no" >> "$GITHUB_ENV" - fi - # Use the disk cache unless told not to. - if [[ "${{github.event.inputs.use_disk_cache}}" != "false" ]]; then - echo "use_disk_cache=true" >> "$GITHUB_ENV" - else - echo "use_disk_cache=false" >> "$GITHUB_ENV" - fi - - - name: Set up Bazel with caching - if: env.use_bazel_disk_cache == 'true' + - name: Set up Bazel uses: bazel-contrib/setup-bazel@529dbc2648ea79358c64f2bfa5f3ec98f07859e4 # 0.12.1 - env: - USE_BAZEL_VERSION: ${{inputs.bazel_version || env.bazel_version}} with: - disk-cache: ${{github.workflow}} bazelisk-cache: true - external-cache: true repository-cache: true bazelrc: | ${{env.bazelrc_additions}} - test --cache_test_results=${{env.use_test_cache}} + test --cache_test_results=no - - name: Set up Bazel without caching - if: env.use_bazel_disk_cache == 'false' - uses: bazel-contrib/setup-bazel@529dbc2648ea79358c64f2bfa5f3ec98f07859e4 # 0.12.1 - env: - USE_BAZEL_VERSION: ${{inputs.bazel_version || env.bazel_version}} - with: - bazelrc: | - ${{env.bazelrc_additions}} - test --cache_test_results=${{env.use_test_cache}} + - name: Install TensorFlow Quantum dependencies + run: pip install -r requirements.txt + + - name: Install the nightly build version of Cirq + run: | + echo 'numpy<2.0.0' > constraint.txt + export PIP_CONSTRAINT=constraint.txt + pip install --upgrade cirq~=1.0.dev - name: Configure TFQ run: | - set -x # Save information to the run log, in case it's needed for debugging. which python python --version @@ -166,25 +101,17 @@ jobs: printf "Y\n" | ./configure.sh - name: Run TFQ tests - # TODO: when the msan tests are working again, replace the "touch" - # line with ./scripts/msan_test.sh 2>&1 | tee msan-tests-output.log - run: | - set -x -o pipefail - ./scripts/test_all.sh 2>&1 | tee main-tests-output.log - touch msan-tests-output.log - - - name: Make Bazel artifacts downloadable (if desired) - if: >- - github.event.inputs.save_artifacts == 'true' - && (failure() || github.event_name == 'workflow_dispatch') + # TODO: when the msan tests work again, add ./scripts/msan_test.sh. + run: ./scripts/test_all.sh + + - if: failure() || inputs.save_artifacts == 'true' + name: Make artifacts downloadable uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4 with: name: bazel-out retention-days: 7 include-hidden-files: true path: | - main-tests-output.log - msan-tests-output.log /home/runner/.bazel/execroot/__main__/bazel-out/ !/home/runner/.bazel/execroot/__main__/bazel-out/**/*.so !/home/runner/.bazel/execroot/__main__/bazel-out/**/*.o From 5bec1c5108aae0d1110b79cd5fe36697ad0b8f1b Mon Sep 17 00:00:00 2001 From: mhucka Date: Wed, 10 Dec 2025 22:32:32 +0000 Subject: [PATCH 4/8] Add field for runner in workflow_dispatch It's impossible to test with the new ML runners in your fork, because the fork is not part of the TensorFlow org and thus doesn't have access to the runners. Need to provide the ability to specify the runner when invoking the workflow manually. --- .github/workflows/ci-nightly-build-test.yaml | 5 ++++- .github/workflows/ci-nightly-cirq-test.yaml | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-nightly-build-test.yaml b/.github/workflows/ci-nightly-build-test.yaml index 92c0afc9e..5c6a4d525 100644 --- a/.github/workflows/ci-nightly-build-test.yaml +++ b/.github/workflows/ci-nightly-build-test.yaml @@ -32,6 +32,9 @@ on: workflow_dispatch: inputs: + runner: + description: "GitHub job runner to use:" + default: "linux-x86-n2-32" py_version: description: "Python version:" type: string @@ -94,7 +97,7 @@ jobs: if: needs.check-recent.outputs.have-changes == 'true' name: Build and test needs: check-recent - runs-on: linux-x86-n2-32 + runs-on: ${{inputs.runner || "linux-x86-n2-32"}} timeout-minutes: 60 steps: - name: Check out a copy of the TFQ git repository diff --git a/.github/workflows/ci-nightly-cirq-test.yaml b/.github/workflows/ci-nightly-cirq-test.yaml index e2a5b047b..ccb200a96 100644 --- a/.github/workflows/ci-nightly-cirq-test.yaml +++ b/.github/workflows/ci-nightly-cirq-test.yaml @@ -30,8 +30,11 @@ on: # Manual on-demand invocations. workflow_dispatch: inputs: + runner: + description: "GitHub job runner to use:" + default: "linux-x86-n2-32" save_artifacts: - description: Make Bazel outputs downloadable + description: "Make Bazel outputs downloadable:" type: boolean default: true debug: @@ -59,7 +62,7 @@ permissions: read-all jobs: test-compatibility: name: Build and test with latest Cirq - runs-on: linux-x86-n2-32 + runs-on: ${{inputs.runner || "linux-x86-n2-32"}} timeout-minutes: 60 steps: - name: Check out a copy of the TFQ git repository From ad50c8b0473cdcb7fe92f6d14a0e6960169a6853 Mon Sep 17 00:00:00 2001 From: mhucka Date: Wed, 10 Dec 2025 22:39:01 +0000 Subject: [PATCH 5/8] Switch to single quotes In some contexts in GitHub Actions workflows, you have to use single quotes. Remembering when and where in YAML is too hard. Just use single quotes everywhere.s --- .github/workflows/ci-nightly-build-test.yaml | 22 ++++++++++---------- .github/workflows/ci-nightly-cirq-test.yaml | 14 ++++++------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci-nightly-build-test.yaml b/.github/workflows/ci-nightly-build-test.yaml index 5c6a4d525..c4cd93768 100644 --- a/.github/workflows/ci-nightly-build-test.yaml +++ b/.github/workflows/ci-nightly-build-test.yaml @@ -23,22 +23,22 @@ # yamllint disable rule:line-length -name: "Nightly build & test" -run-name: "Nightly full build and test (conditional on recent changes)" +name: 'Nightly build & test' +run-name: 'Nightly full build and test (conditional on recent changes)' on: schedule: - - cron: "15 6 * * *" + - cron: '15 6 * * *' workflow_dispatch: inputs: runner: - description: "GitHub job runner to use:" - default: "linux-x86-n2-32" + description: 'GitHub job runner to use:' + default: 'linux-x86-n2-32' py_version: - description: "Python version:" + description: 'Python version:' type: string - default: "3.10.15" + default: '3.10.15' save_artifacts: description: Make Bazel artifacts downloadable type: boolean @@ -50,7 +50,7 @@ on: env: # Default Python version to use. - py_version: "3.10.15" + py_version: '3.10.15' # Additional .bazelrc options to use. bazelrc_additions: | @@ -64,7 +64,7 @@ env: test --test_timeout=6000 test --test_verbose_timeout_warnings - # Equivalent to doing "set -x" in shell scripts. + # Equivalent to doing 'set -x' in shell scripts. SHELLOPTS: ${{inputs.debug && 'xtrace'}} concurrency: @@ -76,7 +76,7 @@ permissions: read-all jobs: check-recent: - name: "(Check for changes)" + name: '(Check for changes)' runs-on: ubuntu-slim timeout-minutes: 10 outputs: @@ -97,7 +97,7 @@ jobs: if: needs.check-recent.outputs.have-changes == 'true' name: Build and test needs: check-recent - runs-on: ${{inputs.runner || "linux-x86-n2-32"}} + runs-on: ${{inputs.runner || 'linux-x86-n2-32'}} timeout-minutes: 60 steps: - name: Check out a copy of the TFQ git repository diff --git a/.github/workflows/ci-nightly-cirq-test.yaml b/.github/workflows/ci-nightly-cirq-test.yaml index ccb200a96..3b2f6f628 100644 --- a/.github/workflows/ci-nightly-cirq-test.yaml +++ b/.github/workflows/ci-nightly-cirq-test.yaml @@ -21,20 +21,20 @@ # yamllint disable rule:line-length name: Nightly Cirq compatibility test -run-name: "Nightly build and test against latest dev version of Cirq" +run-name: 'Nightly build and test against latest dev version of Cirq' on: schedule: - - cron: "10 7 * * *" + - cron: '10 7 * * *' # Manual on-demand invocations. workflow_dispatch: inputs: runner: - description: "GitHub job runner to use:" - default: "linux-x86-n2-32" + description: 'GitHub job runner to use:' + default: 'linux-x86-n2-32' save_artifacts: - description: "Make Bazel outputs downloadable:" + description: 'Make Bazel outputs downloadable:' type: boolean default: true debug: @@ -49,7 +49,7 @@ env: build --verbose_failures test --test_timeout=3000 - # Equivalent to doing "set -x" in shell scripts. + # Equivalent to doing 'set -x' in shell scripts. SHELLOPTS: ${{inputs.debug && 'xtrace'}} concurrency: @@ -62,7 +62,7 @@ permissions: read-all jobs: test-compatibility: name: Build and test with latest Cirq - runs-on: ${{inputs.runner || "linux-x86-n2-32"}} + runs-on: ${{inputs.runner || 'linux-x86-n2-32'}} timeout-minutes: 60 steps: - name: Check out a copy of the TFQ git repository From e34f32af4121db207565c10ba8d89727f4cc7a9d Mon Sep 17 00:00:00 2001 From: mhucka Date: Wed, 10 Dec 2025 22:48:17 +0000 Subject: [PATCH 6/8] Try another way to use the debug flag --- .github/workflows/ci-nightly-build-test.yaml | 7 ++++--- .github/workflows/ci-nightly-cirq-test.yaml | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci-nightly-build-test.yaml b/.github/workflows/ci-nightly-build-test.yaml index c4cd93768..7de82f1af 100644 --- a/.github/workflows/ci-nightly-build-test.yaml +++ b/.github/workflows/ci-nightly-build-test.yaml @@ -64,9 +64,6 @@ env: test --test_timeout=6000 test --test_verbose_timeout_warnings - # Equivalent to doing 'set -x' in shell scripts. - SHELLOPTS: ${{inputs.debug && 'xtrace'}} - concurrency: # Cancel any previously-started but still active runs on the same branch. cancel-in-progress: true @@ -116,6 +113,10 @@ jobs: repository-cache: true bazelrc: ${{env.bazelrc_additions}} + - name: Turn on debug tracing + if: inputs.debug || runner.debug + run: set -x + - name: Build wheel run: ./scripts/build_pip_package_test.sh diff --git a/.github/workflows/ci-nightly-cirq-test.yaml b/.github/workflows/ci-nightly-cirq-test.yaml index 3b2f6f628..70ac72c41 100644 --- a/.github/workflows/ci-nightly-cirq-test.yaml +++ b/.github/workflows/ci-nightly-cirq-test.yaml @@ -49,9 +49,6 @@ env: build --verbose_failures test --test_timeout=3000 - # Equivalent to doing 'set -x' in shell scripts. - SHELLOPTS: ${{inputs.debug && 'xtrace'}} - concurrency: # Cancel any previously-started but still active runs on the same branch. cancel-in-progress: true @@ -86,6 +83,10 @@ jobs: - name: Install TensorFlow Quantum dependencies run: pip install -r requirements.txt + - name: Turn on debug tracing + if: inputs.debug || runner.debug + run: set -x + - name: Install the nightly build version of Cirq run: | echo 'numpy<2.0.0' > constraint.txt From 73e6757926cffc8667b7aed2334485594016207c Mon Sep 17 00:00:00 2001 From: mhucka Date: Thu, 11 Dec 2025 06:04:18 +0000 Subject: [PATCH 7/8] Fix runs-on values Despite that this was valid YAML, the GitHub expression parser seems to have a hard time with string literals that contain dashes. And apparently, it's unnecessary to provide a fallback in this case anyway. --- .github/workflows/ci-nightly-build-test.yaml | 4 ++-- .github/workflows/ci-nightly-cirq-test.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-nightly-build-test.yaml b/.github/workflows/ci-nightly-build-test.yaml index 7de82f1af..125a65d84 100644 --- a/.github/workflows/ci-nightly-build-test.yaml +++ b/.github/workflows/ci-nightly-build-test.yaml @@ -34,7 +34,7 @@ on: inputs: runner: description: 'GitHub job runner to use:' - default: 'linux-x86-n2-32' + default: linux-x86-n2-32 py_version: description: 'Python version:' type: string @@ -94,7 +94,7 @@ jobs: if: needs.check-recent.outputs.have-changes == 'true' name: Build and test needs: check-recent - runs-on: ${{inputs.runner || 'linux-x86-n2-32'}} + runs-on: ${{inputs.runner}} timeout-minutes: 60 steps: - name: Check out a copy of the TFQ git repository diff --git a/.github/workflows/ci-nightly-cirq-test.yaml b/.github/workflows/ci-nightly-cirq-test.yaml index 70ac72c41..34c75df2a 100644 --- a/.github/workflows/ci-nightly-cirq-test.yaml +++ b/.github/workflows/ci-nightly-cirq-test.yaml @@ -32,7 +32,7 @@ on: inputs: runner: description: 'GitHub job runner to use:' - default: 'linux-x86-n2-32' + default: linux-x86-n2-32 save_artifacts: description: 'Make Bazel outputs downloadable:' type: boolean @@ -59,7 +59,7 @@ permissions: read-all jobs: test-compatibility: name: Build and test with latest Cirq - runs-on: ${{inputs.runner || 'linux-x86-n2-32'}} + runs-on: ${{inputs.runner}} timeout-minutes: 60 steps: - name: Check out a copy of the TFQ git repository From 9498a07e5474a8adfcb33056bf4583d23a758c16 Mon Sep 17 00:00:00 2001 From: mhucka Date: Thu, 11 Dec 2025 07:25:29 +0000 Subject: [PATCH 8/8] Update action version hashes --- .github/workflows/ci-nightly-build-test.yaml | 8 ++++---- .github/workflows/ci-nightly-cirq-test.yaml | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci-nightly-build-test.yaml b/.github/workflows/ci-nightly-build-test.yaml index 125a65d84..eb07d9b62 100644 --- a/.github/workflows/ci-nightly-build-test.yaml +++ b/.github/workflows/ci-nightly-build-test.yaml @@ -80,7 +80,7 @@ jobs: have-changes: ${{steps.commits.outputs.count > 0}} steps: - name: Check out a sparse copy of the git repo for TFQ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 with: sparse-checkout: . @@ -98,7 +98,7 @@ jobs: timeout-minutes: 60 steps: - name: Check out a copy of the TFQ git repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 - name: Set up Python ${{inputs.py_version || env.py_version}} uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5 @@ -107,7 +107,7 @@ jobs: cache: pip - name: Set up Bazel - uses: bazel-contrib/setup-bazel@f3f50ea6791b9b0f4c4eeabba4507422426462f5 # 0.9.1 + uses: bazel-contrib/setup-bazel@4fd964a13a440a8aeb0be47350db2fc640f19ca8 # v1 with: bazelisk-cache: true repository-cache: true @@ -131,7 +131,7 @@ jobs: - if: failure() || inputs.save_artifacts == 'true' name: Make artifacts downloadable - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: test-artifacts retention-days: 7 diff --git a/.github/workflows/ci-nightly-cirq-test.yaml b/.github/workflows/ci-nightly-cirq-test.yaml index 34c75df2a..9501cbc47 100644 --- a/.github/workflows/ci-nightly-cirq-test.yaml +++ b/.github/workflows/ci-nightly-cirq-test.yaml @@ -63,7 +63,7 @@ jobs: timeout-minutes: 60 steps: - name: Check out a copy of the TFQ git repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 - name: Set up Python uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5 @@ -72,7 +72,7 @@ jobs: cache: pip - name: Set up Bazel - uses: bazel-contrib/setup-bazel@529dbc2648ea79358c64f2bfa5f3ec98f07859e4 # 0.12.1 + uses: bazel-contrib/setup-bazel@4fd964a13a440a8aeb0be47350db2fc640f19ca8 # v1 with: bazelisk-cache: true repository-cache: true @@ -110,7 +110,7 @@ jobs: - if: failure() || inputs.save_artifacts == 'true' name: Make artifacts downloadable - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: bazel-out retention-days: 7