From 9fced64146452e1186747bd1ff571203285f06fa Mon Sep 17 00:00:00 2001
From: Joey Perrott
Date: Tue, 12 Nov 2024 17:01:26 +0000
Subject: [PATCH] ci: remove circleci as we no longer rely on it (#58615)
Remove CircleCI artifacts and configuration
PR Close #58615
---
.bazelrc | 6 --
.circleci/README.md | 19 ------
.circleci/bazel.common.rc | 16 -----
.circleci/bazel.linux.rc | 23 -------
.circleci/bazel.windows.rc | 17 ------
.circleci/config.yml | 16 -----
.circleci/env-helpers.inc.sh | 76 -----------------------
.circleci/env.linux.sh | 4 --
.circleci/env.sh | 88 ---------------------------
.circleci/env.windows.sh | 13 ----
.circleci/setup_cache.sh | 11 ----
.devcontainer/recommended-Dockerfile | 3 +-
.gitignore | 4 --
.pullapprove.yml | 1 -
CONTRIBUTING.md | 2 +-
README.md | 9 ---
integration/README.md | 2 +-
integration/run_tests.sh | 1 -
karma-js.conf.js | 2 +-
scripts/ci/publish-build-artifacts.sh | 1 -
tools/saucelabs-daemon/README.md | 2 +-
tools/saucelabs/sauce-service.sh | 2 +-
22 files changed, 6 insertions(+), 312 deletions(-)
delete mode 100644 .circleci/README.md
delete mode 100644 .circleci/bazel.common.rc
delete mode 100644 .circleci/bazel.linux.rc
delete mode 100644 .circleci/bazel.windows.rc
delete mode 100644 .circleci/config.yml
delete mode 100644 .circleci/env-helpers.inc.sh
delete mode 100755 .circleci/env.linux.sh
delete mode 100755 .circleci/env.sh
delete mode 100755 .circleci/env.windows.sh
delete mode 100755 .circleci/setup_cache.sh
diff --git a/.bazelrc b/.bazelrc
index aca58640cc7..5049882e2dc 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -78,12 +78,6 @@ query --output=label_kind
# By default, failing tests don't print any output, it goes to the log file
test --test_output=errors
-################################
-# Settings for CircleCI #
-################################
-
-# Bazel flags for CircleCI are in /.circleci/bazel.linux.rc and /.circleci/bazel.windows.rc
-
##################################
# Remote Build Execution support #
# Turn on these settings with #
diff --git a/.circleci/README.md b/.circleci/README.md
deleted file mode 100644
index cddaf76fe8c..00000000000
--- a/.circleci/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Encryption
-
-Based on https://github.com/circleci/encrypted-files
-
-In the CircleCI web UI, we have a secret variable called `KEY`
-https://circleci.com/gh/angular/angular/edit#env-vars
-which is only exposed to non-fork builds
-(see "Pass secrets to builds from forked pull requests" under
-https://circleci.com/gh/angular/angular/edit#advanced-settings)
-
-We use this as a symmetric AES encryption key to encrypt tokens like
-a GitHub token that enables publishing snapshots.
-
-To create the github_token file, we take this approach:
-- Find the angular-builds:token in the internal pw database
-- Go inside the CircleCI default docker image so you use the same version of openssl as we will at runtime: `docker run --rm -it circleci/node:10.12`
-- echo "https://[token]:@github.com" > credentials
-- openssl aes-256-cbc -e -in credentials -out .circleci/github_token -k $KEY
-- If needed, base64-encode the result so you can copy-paste it out of docker: `base64 github_token`
diff --git a/.circleci/bazel.common.rc b/.circleci/bazel.common.rc
deleted file mode 100644
index 2b4c9ec625d..00000000000
--- a/.circleci/bazel.common.rc
+++ /dev/null
@@ -1,16 +0,0 @@
-# Settings in this file should be OS agnostic. Use the bazel..rc files for OS specific settings.
-
-# Print all the options that apply to the build.
-# This helps us diagnose which options override others
-# (e.g. /etc/bazel.bazelrc vs. tools/bazel.rc)
-build --announce_rc
-
-# Retry in the event of flakes, eg. https://circleci.com/gh/angular/angular/31309
-# By default this is set in the project `.bazelrc` to `1`.
-test --flaky_test_attempts=3
-
-# More details on failures
-build --verbose_failures=true
-
-# CI supports colors but Bazel does not detect it.
-common --color=yes
diff --git a/.circleci/bazel.linux.rc b/.circleci/bazel.linux.rc
deleted file mode 100644
index fa1b482ed88..00000000000
--- a/.circleci/bazel.linux.rc
+++ /dev/null
@@ -1,23 +0,0 @@
-# These options are enabled when running on CI
-# We do this by copying this file to /etc/bazel.bazelrc at the start of the build.
-# See documentation in /docs/BAZEL.md
-
-# Import config items common to both Linux and Windows setups.
-# https://docs.bazel.build/versions/master/guide.html#bazelrc-syntax-and-semantics
-try-import %workspace%/.circleci/bazel.common.rc
-
-# Save downloaded repositories in a location that can be cached by CircleCI. This helps us
-# speeding up the analysis time significantly with Bazel managed node dependencies on the CI.
-build --repository_cache=/home/circleci/bazel_repository_cache
-
-# Workaround https://github.com/bazelbuild/bazel/issues/3645
-# Bazel doesn't calculate the memory ceiling correctly when running under Docker.
-# Limit Bazel to consuming resources that fit in CircleCI "2xlarge+" class
-# https://circleci.com/docs/2.0/configuration-reference/#resource_class
-build --local_cpu_resources=20
-build --local_ram_resources=40960
-
-# All build executed remotely should be done using our RBE configuration.
-build:remote --google_default_credentials
-
-build --config=remote
diff --git a/.circleci/bazel.windows.rc b/.circleci/bazel.windows.rc
deleted file mode 100644
index 309b1cba132..00000000000
--- a/.circleci/bazel.windows.rc
+++ /dev/null
@@ -1,17 +0,0 @@
-# These options are enabled when running on CI
-# We do this by copying this file to $env:ProgramData\bazel.bazelrc at the start of the build.
-# See documentation in /docs/BAZEL.md
-
-# Import config items common to both Linux and Windows setups.
-# https://docs.bazel.build/versions/master/guide.html#bazelrc-syntax-and-semantics
-try-import %workspace%/.circleci/bazel.common.rc
-
-# Manually set the local resources used in windows CI runs
-build --local_ram_resources=120000
-build --local_cpu_resources=32
-
-# All windows jobs run on master and should use http caching
-build --remote_http_cache=https://storage.googleapis.com/angular-team-cache
-build --remote_accept_cached=true
-build --remote_upload_local_results=true
-build --google_default_credentials
diff --git a/.circleci/config.yml b/.circleci/config.yml
deleted file mode 100644
index 9454be12fd0..00000000000
--- a/.circleci/config.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-# This config is remaining in place to prevent pull requests failing because of CircleCI config missing.
-
-version: 2.1
-
-jobs:
- pass:
- docker:
- - image: cimg/base:2022.05
- steps:
- - run: echo "This too shall pass (always)"
-
-workflows:
- version: 2
- default_workflow:
- jobs:
- - pass
diff --git a/.circleci/env-helpers.inc.sh b/.circleci/env-helpers.inc.sh
deleted file mode 100644
index ff818d24b80..00000000000
--- a/.circleci/env-helpers.inc.sh
+++ /dev/null
@@ -1,76 +0,0 @@
-####################################################################################################
-# Helpers for defining environment variables for CircleCI.
-#
-# In CircleCI, each step runs in a new shell. The way to share ENV variables across steps is to
-# export them from `$BASH_ENV`, which is automatically sourced at the beginning of every step (for
-# the default `bash` shell).
-#
-# See also https://circleci.com/docs/2.0/env-vars/#using-bash_env-to-set-environment-variables.
-####################################################################################################
-
-# Set and print an environment variable.
-#
-# Use this function for setting environment variables that are public, i.e. it is OK for them to be
-# visible to anyone through the CI logs.
-#
-# Usage: `setPublicVar `
-function setPublicVar() {
- setSecretVar $1 "$2";
- echo "$1=$2";
-}
-
-# Set (without printing) an environment variable.
-#
-# Use this function for setting environment variables that are secret, i.e. should not be visible to
-# everyone through the CI logs.
-#
-# Usage: `setSecretVar `
-function setSecretVar() {
- # WARNING: Secrets (e.g. passwords, access tokens) should NOT be printed.
- # (Keep original shell options to restore at the end.)
- local -r originalShellOptions=$(set +o);
- set +x -eu -o pipefail;
-
- local assignmentStatement="export $1=\"${2:-}\";"
-
- echo "${assignmentStatement}" >> $BASH_ENV;
- eval "${assignmentStatement}"
-
- # Restore original shell options.
- eval "$originalShellOptions";
-}
-
-
-# Create a function to set an environment variable, when called.
-#
-# Use this function for creating setter for public environment variables that require expensive or
-# time-consuming computations and may not be needed. When needed, you can call this function to set
-# the environment variable (which will be available through `$BASH_ENV` from that point onwards).
-#
-# Arguments:
-# - ``: The name of the environment variable. The generated setter function will be
-# `setPublicVar_`.
-# - ``: The code to run to compute the value for the variable. Since this code should be
-# executed lazily, it must be properly escaped. For example:
-# ```sh
-# # DO NOT do this:
-# createPublicVarSetter MY_VAR "$(whoami)"; # `whoami` will be evaluated eagerly
-#
-# # DO this isntead:
-# createPublicVarSetter MY_VAR "\$(whoami)"; # `whoami` will NOT be evaluated eagerly
-# ```
-#
-# Usage: `createPublicVarSetter `
-#
-# Example:
-# ```sh
-# createPublicVarSetter MY_VAR 'echo "FOO"';
-# echo $MY_VAR; # Not defined
-#
-# setPublicVar_MY_VAR;
-# source $BASH_ENV;
-# echo $MY_VAR; # FOO
-# ```
-function createPublicVarSetter() {
- echo "setPublicVar_$1() { setPublicVar $1 \"$2\"; }" >> $BASH_ENV;
-}
diff --git a/.circleci/env.linux.sh b/.circleci/env.linux.sh
deleted file mode 100755
index 6fab1c71143..00000000000
--- a/.circleci/env.linux.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-####################################################################################################
-# Set bazel configuration for CircleCI runs.
-####################################################################################################
-cp "${PROJECT_ROOT}/.circleci/bazel.linux.rc" ".bazelrc.user";
diff --git a/.circleci/env.sh b/.circleci/env.sh
deleted file mode 100755
index 9522f3c56a7..00000000000
--- a/.circleci/env.sh
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/usr/bin/env bash
-
-# Variables
-readonly projectDir=$(realpath "$(dirname ${BASH_SOURCE[0]})/..")
-readonly envHelpersPath="$projectDir/.circleci/env-helpers.inc.sh";
-
-# Load helpers and make them available everywhere (through `$BASH_ENV`).
-source $envHelpersPath;
-echo "source $envHelpersPath;" >> $BASH_ENV;
-
-
-####################################################################################################
-# Define PUBLIC environment variables for CircleCI.
-####################################################################################################
-# See https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables for more info.
-####################################################################################################
-setPublicVar CI "$CI"
-setPublicVar PROJECT_ROOT "$projectDir";
-# This is the branch being built; e.g. `pull/12345` for PR builds.
-setPublicVar CI_BRANCH "$CIRCLE_BRANCH";
-setPublicVar CI_BUILD_URL "$CIRCLE_BUILD_URL";
-setPublicVar CI_COMMIT "$CIRCLE_SHA1";
-# `CI_COMMIT_RANGE` is only used on push builds (a.k.a. non-PR, non-scheduled builds and rerun
-# workflows of such builds).
-setPublicVar CI_GIT_BASE_REVISION "${CIRCLE_GIT_BASE_REVISION}";
-setPublicVar CI_GIT_REVISION "${CIRCLE_GIT_REVISION}";
-setPublicVar CI_COMMIT_RANGE "$CIRCLE_GIT_BASE_REVISION..$CIRCLE_GIT_REVISION";
-setPublicVar CI_PULL_REQUEST "${CIRCLE_PR_NUMBER:-false}";
-setPublicVar CI_REPO_NAME "$CIRCLE_PROJECT_REPONAME";
-setPublicVar CI_REPO_OWNER "$CIRCLE_PROJECT_USERNAME";
-setPublicVar CI_PR_REPONAME "$CIRCLE_PR_REPONAME";
-setPublicVar CI_PR_USERNAME "$CIRCLE_PR_USERNAME";
-
-
-####################################################################################################
-# Define "lazy" PUBLIC environment variables for CircleCI.
-# (I.e. functions to set an environment variable when called.)
-####################################################################################################
-createPublicVarSetter CI_STABLE_BRANCH "\$(npm info @angular/core dist-tags.latest | sed -r 's/^\\s*([0-9]+\\.[0-9]+)\\.[0-9]+.*$/\\1.x/')";
-
-
-####################################################################################################
-# Define SECRET environment variables for CircleCI.
-####################################################################################################
-setSecretVar CI_SECRET_AIO_DEPLOY_FIREBASE_TOKEN "$AIO_DEPLOY_TOKEN";
-setSecretVar CI_SECRET_PAYLOAD_FIREBASE_TOKEN "$ANGULAR_PAYLOAD_TOKEN";
-
-
-####################################################################################################
-# Define SauceLabs environment variables for CircleCI.
-####################################################################################################
-setPublicVar SAUCE_USERNAME "angular-framework";
-setSecretVar SAUCE_ACCESS_KEY "f4bf7c639c5a-c6bb-d6a4-a4b5-800aa111";
-# TODO(josephperrott): Remove environment variables once all saucelabs tests are via bazel method.
-setPublicVar SAUCE_LOG_FILE /tmp/angular/sauce-connect.log
-setPublicVar SAUCE_READY_FILE /tmp/angular/sauce-connect-ready-file.lock
-setPublicVar SAUCE_PID_FILE /tmp/angular/sauce-connect-pid-file.lock
-setPublicVar SAUCE_TUNNEL_IDENTIFIER "angular-framework-${CIRCLE_BUILD_NUM}-${CIRCLE_NODE_INDEX}"
-# Amount of seconds we wait for sauceconnect to establish a tunnel instance. In order to not
-# acquire CircleCI instances for too long if sauceconnect failed, we need a connect timeout.
-setPublicVar SAUCE_READY_FILE_TIMEOUT 120
-
-####################################################################################################
-# Create shell script in /tmp for Bazel actions to access CI envs without
-# busting the cache. Used by payload-size.sh script in integration tests.
-####################################################################################################
-readonly bazelVarEnv="/tmp/bazel-ci-env.sh"
-echo "# Setup by /.circle/env.sh" > $bazelVarEnv
-echo "export PROJECT_ROOT=\"${PROJECT_ROOT}\";" >> $bazelVarEnv
-echo "export CI_BRANCH=\"${CI_BRANCH}\";" >> $bazelVarEnv
-echo "export CI_BUILD_URL=\"${CI_BUILD_URL}\";" >> $bazelVarEnv
-echo "export CI_COMMIT=\"${CI_COMMIT}\";" >> $bazelVarEnv
-echo "export CI_PULL_REQUEST=\"${CI_PULL_REQUEST}\";" >> $bazelVarEnv
-echo "export CI_REPO_NAME=\"${CI_REPO_NAME}\";" >> $bazelVarEnv
-echo "export CI_REPO_OWNER=\"${CI_REPO_OWNER}\";" >> $bazelVarEnv
-echo "export CI_SECRET_PAYLOAD_FIREBASE_TOKEN=\"${CI_SECRET_PAYLOAD_FIREBASE_TOKEN}\";" >> $bazelVarEnv
-
-####################################################################################################
-# Platform-specific environment setup (which can leverage the base variables from here)
-####################################################################################################
-
-# Conditionally, load additional environment settings based on the current VM
-# operating system running. We detect Windows by checking for `%AppData%`.
-if [[ -n "${APPDATA}" ]]; then
- source ${projectDir}/.circleci/env.windows.sh
-else
- source ${projectDir}/.circleci/env.linux.sh
-fi
diff --git a/.circleci/env.windows.sh b/.circleci/env.windows.sh
deleted file mode 100755
index 19a6fbe1c65..00000000000
--- a/.circleci/env.windows.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-####################################################################################################
-# Set bazel configuration for CircleCI runs.
-####################################################################################################
-cp "${PROJECT_ROOT}/.circleci/bazel.windows.rc" ".bazelrc.user";
-
-# Override the `PATH` environment variable so that the windows-nvm NodeJS version
-# always has precedence over potential existing NodeJS versions from the image.
-setPublicVar PATH "/c/Program Files/nodejs/:$PATH"
-
-# Expose the Bazelisk version. We need to run Bazelisk globally since Windows has problems launching
-# Bazel from a node modules directoy that might be modified by the Bazel Yarn install then.
-setPublicVar BAZELISK_VERSION \
- "$(cd ${PROJECT_ROOT}; node -p 'require("./package.json").devDependencies["@bazel/bazelisk"]')"
diff --git a/.circleci/setup_cache.sh b/.circleci/setup_cache.sh
deleted file mode 100755
index 232596df4a9..00000000000
--- a/.circleci/setup_cache.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-# Install bazel remote cache proxy
-# This is temporary until the feature is no longer experimental on CircleCI.
-# See remote cache documentation in /docs/BAZEL.md
-
-set -u -e
-
-readonly DOWNLOAD_URL="https://5-116431813-gh.circle-artifacts.com/0/pkg/bazel-remote-proxy-$(uname -s)_$(uname -m)"
-
-curl --fail -o ~/bazel-remote-proxy "$DOWNLOAD_URL"
-chmod +x ~/bazel-remote-proxy
diff --git a/.devcontainer/recommended-Dockerfile b/.devcontainer/recommended-Dockerfile
index b12a0a70ed1..d128851219b 100644
--- a/.devcontainer/recommended-Dockerfile
+++ b/.devcontainer/recommended-Dockerfile
@@ -1,6 +1,5 @@
# Image metadata and config.
# Ideally, the Node.js version should match what we use on CI.
-# See `executors > default-executor` in `.circleci/config.yml`.
FROM cimg/node:18.13.0@sha256:45d0ee279f522c4562a464df71108104cc9b2187205333ffd0707d4f05589731
@@ -12,7 +11,7 @@ LABEL name="Angular dev environment" \
EXPOSE 4000 4200 4433 5000 8080 9876
-# Switch to `root` (CircleCI images use `circleci` as the user).
+# Switch to `root`.
USER root
diff --git a/.gitignore b/.gitignore
index 487a4952c50..9590c28b2a1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,10 +6,6 @@
*.log
/node_modules/
-# CircleCI temporary file for cache key computation.
-# See `save_month_to_file` in `.circleci/config.yml`.
-month.txt
-
# Include when developing application packages.
pubspec.lock
.c9
diff --git a/.pullapprove.yml b/.pullapprove.yml
index 89af31257c0..c64c3d11c52 100644
--- a/.pullapprove.yml
+++ b/.pullapprove.yml
@@ -634,7 +634,6 @@ groups:
- >
contains_any_globs(files.exclude('.pullapprove.yml'), [
'{*,.*}',
- '.circleci/**/{*,.*}',
'.devcontainer/**/{*,.*}',
'.github/**/{*,.*}',
'.husky/**/{*,.*}',
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9d69f1f8c89..a8703ba25ab 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -260,7 +260,7 @@ The `` and `` fields are mandatory, the `()` field is opti
Must be one of the following:
* **build**: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
-* **ci**: Changes to our CI configuration files and scripts (examples: CircleCi, SauceLabs)
+* **ci**: Changes to our CI configuration files and scripts (examples: Github Actions, SauceLabs)
* **docs**: Documentation only changes
* **feat**: A new feature
* **fix**: A bug fix
diff --git a/README.md b/README.md
index b004d505801..5bbc1ee6eab 100644
--- a/README.md
+++ b/README.md
@@ -24,9 +24,6 @@
-
-
-
@@ -35,12 +32,6 @@
-
-
-
-
-
-
## Documentation
diff --git a/integration/README.md b/integration/README.md
index 1942b46fdfe..b6ae214a71e 100644
--- a/integration/README.md
+++ b/integration/README.md
@@ -156,7 +156,7 @@ And from the flags that the Karma `ChromeHeadless` browser passes to Chrome: htt
The `--disable-dev-shm-usage` flag disables the usage of `/dev/shm` because it causes Chrome to crash on some environments.
-On CircleCI, the puppeteer provisioned Chrome crashes with `CI we get Root cause: org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist which resolves` without this flag.
+On CI, the puppeteer provisioned Chrome crashes with `CI we get Root cause: org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist which resolves` without this flag.
See: https://github.com/puppeteer/puppeteer/blob/v1.0.0/docs/troubleshooting.md#tips
See: https://stackoverflow.com/questions/50642308/webdriverexception-unknown-error-devtoolsactiveport-file-doesnt-exist-while-t
diff --git a/integration/run_tests.sh b/integration/run_tests.sh
index 3fd4d990f07..019e8c6fd1a 100755
--- a/integration/run_tests.sh
+++ b/integration/run_tests.sh
@@ -2,7 +2,6 @@
set -u -e -o pipefail
-# see https://circleci.com/docs/2.0/env-vars/#circleci-built-in-environment-variables
CI=${CI:-false}
cd "$(dirname "$0")"
diff --git a/karma-js.conf.js b/karma-js.conf.js
index 00b01bdb11b..7b8cfd8aea3 100644
--- a/karma-js.conf.js
+++ b/karma-js.conf.js
@@ -130,7 +130,7 @@ module.exports = function (config) {
// the tunnel. We do this because devices are sometimes not able to properly resolve
// `localhost` or `127.0.0.1` through the SauceLabs tunnel. Using a domain that does not
// resolve to anything on SauceLabs VMs ensures that such requests are always resolved through
- // the tunnel, and resolve to the actual tunnel host machine (commonly the CircleCI VMs).
+ // the tunnel, and resolve to the actual tunnel host machine (commonly the GHA VMs).
// More context can be found in: https://github.com/angular/angular/pull/35171.
if (process.env.SAUCE_LOCALHOST_ALIAS_DOMAIN) {
conf.hostname = process.env.SAUCE_LOCALHOST_ALIAS_DOMAIN;
diff --git a/scripts/ci/publish-build-artifacts.sh b/scripts/ci/publish-build-artifacts.sh
index 58cd30abd89..a4b9404fb39 100755
--- a/scripts/ci/publish-build-artifacts.sh
+++ b/scripts/ci/publish-build-artifacts.sh
@@ -75,7 +75,6 @@ function publishRepo {
if [[ ${CI} ]]; then
(
- # The file ~/.git_credentials is created in /.circleci/config.yml
cd $REPO_DIR && \
git config credential.helper "store --file=$HOME/.git_credentials"
)
diff --git a/tools/saucelabs-daemon/README.md b/tools/saucelabs-daemon/README.md
index 64f17d720af..0cbfc80cb9c 100644
--- a/tools/saucelabs-daemon/README.md
+++ b/tools/saucelabs-daemon/README.md
@@ -3,7 +3,7 @@
## Local testing
1. Set up your `SAUCE_USERNAME`, `SAUCE_ACCESS_KEY` & `SAUCE_TUNNEL_IDENTIFIER` environment variables.
-These are required. You can find the values for `SAUCE_USERNAME` and `SAUCE_ACCESS_KEY` in `/.circleci/env.sh`. `SAUCE_TUNNEL_IDENTIFIER` can be set to any unique value.
+These are required. You can find the values for `SAUCE_USERNAME` and `SAUCE_ACCESS_KEY` on your Saucelabs account. `SAUCE_TUNNEL_IDENTIFIER` can be set to any unique value.
If you are having trouble running Saucelabs tests locally you can contact [Joey Perrott](https://github.com/josephperrott) or [Paul Gschwendtner](https://github.com/devversion) for support.
diff --git a/tools/saucelabs/sauce-service.sh b/tools/saucelabs/sauce-service.sh
index e76ecf43f1a..a3a5215fc5c 100755
--- a/tools/saucelabs/sauce-service.sh
+++ b/tools/saucelabs/sauce-service.sh
@@ -72,7 +72,7 @@ readonly SAUCE_READY_FILE="${TMP_DIR}/sauce-connect.lock"
readonly SAUCE_PARAMS_JSON_FILE="${TMP_DIR}/sauce-connect-params.json"
# Amount of seconds we wait for sauceconnect to establish a tunnel instance. In order to not
-# acquire CircleCI instances for too long if sauceconnect fails, we need a connect timeout.
+# acquire CI instances for too long if sauceconnect fails, we need a connect timeout.
readonly SAUCE_READY_FILE_TIMEOUT=120
readonly SERVICE_LOCK_FILE="${TMP_DIR}/service.lock"