1*e7b1675dSTing-Kang Chang#!/bin/bash 2*e7b1675dSTing-Kang Chang 3*e7b1675dSTing-Kang Chang# Copyright 2022 Google LLC 4*e7b1675dSTing-Kang Chang# 5*e7b1675dSTing-Kang Chang# Licensed under the Apache License, Version 2.0 (the "License"); 6*e7b1675dSTing-Kang Chang# you may not use this file except in compliance with the License. 7*e7b1675dSTing-Kang Chang# You may obtain a copy of the License at 8*e7b1675dSTing-Kang Chang# 9*e7b1675dSTing-Kang Chang# http://www.apache.org/licenses/LICENSE-2.0 10*e7b1675dSTing-Kang Chang# 11*e7b1675dSTing-Kang Chang# Unless required by applicable law or agreed to in writing, software 12*e7b1675dSTing-Kang Chang# distributed under the License is distributed on an "AS IS" BASIS, 13*e7b1675dSTing-Kang Chang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*e7b1675dSTing-Kang Chang# See the License for the specific language governing permissions and 15*e7b1675dSTing-Kang Chang# limitations under the License. 16*e7b1675dSTing-Kang Chang################################################################################ 17*e7b1675dSTing-Kang Chang 18*e7b1675dSTing-Kang Chang# This script upgrades GCC when running on Kokoro. 19*e7b1675dSTing-Kang Chang# 20*e7b1675dSTing-Kang Chang# Currently this is only needed for Ubuntu 1604 (gcc-5 => gcc-7). 21*e7b1675dSTing-Kang Chang# 22*e7b1675dSTing-Kang Chang# Usage instructions: 23*e7b1675dSTing-Kang Chang# 24*e7b1675dSTing-Kang Chang# ./kokoro/testutils/upgrade_gcc.sh 25*e7b1675dSTing-Kang Changset -e 26*e7b1675dSTing-Kang Chang 27*e7b1675dSTing-Kang Changupgrade_gcc() { 28*e7b1675dSTing-Kang Chang # Install gcc-7. 29*e7b1675dSTing-Kang Chang sudo apt install build-essential software-properties-common -y 30*e7b1675dSTing-Kang Chang sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y 31*e7b1675dSTing-Kang Chang sudo apt update 32*e7b1675dSTing-Kang Chang sudo apt install gcc-7 g++-7 -y 33*e7b1675dSTing-Kang Chang sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 \ 34*e7b1675dSTing-Kang Chang --slave /usr/bin/g++ g++ /usr/bin/g++-7 35*e7b1675dSTing-Kang Chang gcc -v 36*e7b1675dSTing-Kang Chang} 37*e7b1675dSTing-Kang Chang 38*e7b1675dSTing-Kang Changif [[ -n "${KOKORO_ARTIFACTS_DIR:-}" ]] ; then 39*e7b1675dSTing-Kang Chang upgrade_gcc 40*e7b1675dSTing-Kang Changfi 41