# Copyright 2022 The TensorFlow Authors. All Rights Reserved. # # 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. # ============================================================================== # This Workflow updates tensorflow/tools/toolchains/remote_config/configs.bzl # to reference the most recent versions of the SIG Build Docker images. name: Update RBE Configs on: workflow_dispatch: permissions: contents: read jobs: rbe: name: Update RBE Configs runs-on: ubuntu-latest if: github.repository == 'tensorflow/tensorflow' # Don't do this in forks steps: - name: Checkout code uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - name: Update the RBE Configs run: | function map() { # The "digest" that allows us to pull an image is not the digest as # returned by the API, but a sha256sum of the entire chunk of image # metadata. gcr.io helpfully includes it in the header of the response # as docker-content-digest: sha256:[digest]. Note we use egrep to # match exactly sha256: because curl may include a ^M symbol at # the end of the line. # See https://cloud.google.com/architecture/using-container-images#exploring_image_manifests_digests_and_tags echo -n "Trying to map name $1 to tag $2... " digest=$(curl -s --head "https://gcr.io/v2/tensorflow-sigs/build/manifests/$2" | egrep -o "sha256:[[:alnum:]]*") # Find the line matching the regex "sigbuild-r2.9" (with quotes) and # replace just the digest portion in it sed -i"" "/\"$1\"/ s/sha256:[[:alnum:]]*/$digest/g" tensorflow/tools/toolchains/remote_config/configs.bzl echo "success." } # See https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/toolchains/remote_config/configs.bzl # This is a mapping of name_container_map keys under sigbuild_tf_configs # to tag names on gcr.io/tensorflow-sigs/build. # TF 2.9 map sigbuild-r2.9 2.9-python3.9 map sigbuild-r2.9-python3.8 2.9-python3.8 map sigbuild-r2.9-python3.9 2.9-python3.9 map sigbuild-r2.9-python3.10 2.9-python3.10 # TF 2.10 map sigbuild-r2.10 2.10-python3.9 map sigbuild-r2.10-python3.8 2.10-python3.8 map sigbuild-r2.10-python3.9 2.10-python3.9 map sigbuild-r2.10-python3.10 2.10-python3.10 # TF 2.11 map sigbuild-r2.11 2.11-python3.9 map sigbuild-r2.11-python3.8 2.11-python3.8 map sigbuild-r2.11-python3.9 2.11-python3.9 map sigbuild-r2.11-python3.10 2.11-python3.10 # WIP Clang Containers, used by TVCs map sigbuild-57469 57469-python3.9 map sigbuild-57469-python3.8 57469-python3.8 map sigbuild-57469-python3.9 57469-python3.9 map sigbuild-57469-python3.10 57469-python3.10 # TF 2.12 map sigbuild-r2.12 2.12-python3.9 map sigbuild-r2.12-python3.8 2.12-python3.8 map sigbuild-r2.12-python3.9 2.12-python3.9 map sigbuild-r2.12-python3.10 2.12-python3.10 map sigbuild-r2.12-python3.11 2.12-python3.11 # TF 2.12 + Clang (containers are the same, but env vars in configs.bzl are different) map sigbuild-r2.12-clang 2.12-python3.9 map sigbuild-r2.12-clang-python3.8 2.12-python3.8 map sigbuild-r2.12-clang-python3.9 2.12-python3.9 map sigbuild-r2.12-clang-python3.10 2.12-python3.10 map sigbuild-r2.12-clang-python3.11 2.12-python3.11 # TF 2.13 map sigbuild-r2.13 2.13-python3.9 map sigbuild-r2.13-python3.8 2.13-python3.8 map sigbuild-r2.13-python3.9 2.13-python3.9 map sigbuild-r2.13-python3.10 2.13-python3.10 map sigbuild-r2.13-python3.11 2.13-python3.11 # TF 2.13 + Clang (containers are the same, but env vars in configs.bzl are different) map sigbuild-r2.13-clang 2.13-python3.9 map sigbuild-r2.13-clang-python3.8 2.13-python3.8 map sigbuild-r2.13-clang-python3.9 2.13-python3.9 map sigbuild-r2.13-clang-python3.10 2.13-python3.10 map sigbuild-r2.13-clang-python3.11 2.13-python3.11 # TF 2.14 map sigbuild-r2.14 2.14-python3.9 map sigbuild-r2.14-python3.9 2.14-python3.9 map sigbuild-r2.14-python3.10 2.14-python3.10 map sigbuild-r2.14-python3.11 2.14-python3.11 # TF 2.14 + Clang (containers are the same, but env vars in configs.bzl are different) map sigbuild-r2.14-clang 2.14-python3.9 map sigbuild-r2.14-clang-python3.9 2.14-python3.9 map sigbuild-r2.14-clang-python3.10 2.14-python3.10 map sigbuild-r2.14-clang-python3.11 2.14-python3.11 # TF 2.16 map sigbuild-r2.16 2.16-python3.11 map sigbuild-r2.16-python3.9 2.16-python3.9 map sigbuild-r2.16-python3.10 2.16-python3.10 map sigbuild-r2.16-python3.11 2.16-python3.11 map sigbuild-r2.16-python3.12 2.16-python3.12 # TF 2.16 + Clang (containers are the same, but env vars in configs.bzl are different) map sigbuild-r2.16-clang 2.16-python3.11 map sigbuild-r2.16-clang-python3.9 2.16-python3.9 map sigbuild-r2.16-clang-python3.10 2.16-python3.10 map sigbuild-r2.16-clang-python3.11 2.16-python3.11 map sigbuild-r2.16-clang-python3.12 2.16-python3.12 # TF 2.17 map sigbuild-r2.17 2.17-python3.11 map sigbuild-r2.17-python3.9 2.17-python3.9 map sigbuild-r2.17-python3.10 2.17-python3.10 map sigbuild-r2.17-python3.11 2.17-python3.11 map sigbuild-r2.17-python3.12 2.17-python3.12 # TF 2.17 + Clang (containers are the same, but env vars in configs.bzl are different) map sigbuild-r2.17-clang 2.17-python3.11 map sigbuild-r2.17-clang-python3.9 2.17-python3.9 map sigbuild-r2.17-clang-python3.10 2.17-python3.10 map sigbuild-r2.17-clang-python3.11 2.17-python3.11 map sigbuild-r2.17-clang-python3.12 2.17-python3.12 - name: Create Pull Request with changes uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0 with: title: Update the RBE images to the latest container versions committer: TensorFlow Release Automation token: ${{ secrets.JENKINS_TOKEN }} reviewers: mihaimaruseac,learning-to-play,nitins17 body: | This PR was created by a GitHub Actions workflow to update all the SIG Build-based RBE containers to the most recent containers. See: - https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/toolchains/remote_config/configs.bzl - https://github.com/tensorflow/tensorflow/blob/master/.github/workflows/update-rbe.yml