144 lines
7.2 KiB
YAML
144 lines
7.2 KiB
YAML
# 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:<hash> 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 <jenkins@tensorflow.org>
|
|
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
|