From e136b95a6083aa9b284bb7acfe704a259c7ffa0c Mon Sep 17 00:00:00 2001 From: Lizan Zhou Date: Sun, 18 Oct 2020 19:41:45 -0700 Subject: [PATCH] docs: clean up docs for azp migration (#13558) Signed-off-by: Lizan Zhou --- .bazelrc | 4 +- DEVELOPER.md | 3 +- README.md | 1 - REPO_LAYOUT.md | 3 +- STYLE.md | 2 +- api/CONTRIBUTING.md | 8 ++-- ci/README.md | 8 ++-- ci/do_circle_ci.sh | 51 ---------------------- ci/mac_ci_setup.sh | 6 --- ci/repokitteh/modules/azure_pipelines.star | 2 +- docs/README.md | 13 +++--- docs/publish.sh | 2 +- repokitteh.star | 2 - source/docs/repokitteh.md | 11 ----- 14 files changed, 22 insertions(+), 94 deletions(-) delete mode 100755 ci/do_circle_ci.sh diff --git a/.bazelrc b/.bazelrc index dd242a8aacd1..16d8843d6a88 100644 --- a/.bazelrc +++ b/.bazelrc @@ -3,10 +3,10 @@ # Bazel doesn't need more than 200MB of memory for local build based on memory profiling: # https://docs.bazel.build/versions/master/skylark/performance.html#memory-profiling # The default JVM max heapsize is 1/4 of physical memory up to 32GB which could be large -# enough to consume all memory constrained by cgroup in large host, which is the case in CircleCI. +# enough to consume all memory constrained by cgroup in large host. # Limiting JVM heapsize here to let it do GC more when approaching the limit to # leave room for compiler/linker. -# The number 2G is choosed heuristically to both support in CircleCI and large enough for RBE. +# The number 2G is chosen heuristically to both support large VM and small VM with RBE. # Startup options cannot be selected via config. startup --host_jvm_args=-Xmx2g diff --git a/DEVELOPER.md b/DEVELOPER.md index b9bb204e66fe..6786925fa7e8 100644 --- a/DEVELOPER.md +++ b/DEVELOPER.md @@ -1,6 +1,7 @@ # Developer documentation -Envoy is built using the Bazel build system. CircleCI builds, tests, and runs coverage against all pull requests and the master branch. +Envoy is built using the Bazel build system. Our CI on Azure Pipelines builds, tests, and runs coverage against +all pull requests and the master branch. To get started building Envoy locally, see the [Bazel quick start](https://github.com/envoyproxy/envoy/blob/master/bazel/README.md#quick-start-bazel-build-for-developers). To run tests, there are Bazel [targets](https://github.com/envoyproxy/envoy/blob/master/bazel/README.md#testing-envoy-with-bazel) for Google Test. diff --git a/README.md b/README.md index 597e2c3ff07c..03c0aa0432d6 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,6 @@ involved and how Envoy plays a role, read the CNCF [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1266/badge)](https://bestpractices.coreinfrastructure.org/projects/1266) [![Azure Pipelines](https://dev.azure.com/cncf/envoy/_apis/build/status/11?branchName=master)](https://dev.azure.com/cncf/envoy/_build/latest?definitionId=11&branchName=master) -[![CircleCI](https://circleci.com/gh/envoyproxy/envoy/tree/master.svg?style=shield)](https://circleci.com/gh/envoyproxy/envoy/tree/master) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/envoy.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:envoy) [![Jenkins](https://powerci.osuosl.org/buildStatus/icon?job=build-envoy-static-master&subject=ppc64le%20build)](https://powerci.osuosl.org/job/build-envoy-static-master/) diff --git a/REPO_LAYOUT.md b/REPO_LAYOUT.md index cd87e015ac5b..e4f2452a1417 100644 --- a/REPO_LAYOUT.md +++ b/REPO_LAYOUT.md @@ -4,7 +4,8 @@ This is a high level overview of how the repository is laid out to both aid in c as well as to clearly specify how extensions are added to the repository. The top level directories are: -* [.circleci/](.circleci/): Configuration for [CircleCI](https://circleci.com/gh/envoyproxy). +* [.azure-pipelines/](.azure-pipelines/): Configuration for +[Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/). * [api/](api/): Envoy data plane API. * [bazel/](bazel/): Configuration for Envoy's use of [Bazel](https://bazel.build/). * [ci/](ci/): Scripts used both during CI as well as to build Docker containers. diff --git a/STYLE.md b/STYLE.md index f9328cf528f7..ee2deadf170b 100644 --- a/STYLE.md +++ b/STYLE.md @@ -1,7 +1,7 @@ # C++ coding style * The Envoy source code is formatted using clang-format. Thus all white spaces, etc. - issues are taken care of automatically. The CircleCI tests will automatically check + issues are taken care of automatically. The Azure Pipelines will automatically check the code format and fail. There are make targets that can both check the format (check_format) as well as fix the code format for you (fix_format). Errors in .clang-tidy are enforced while other warnings are suggestions. Note that code and diff --git a/api/CONTRIBUTING.md b/api/CONTRIBUTING.md index 773248f2e2ea..01ba39b500b8 100644 --- a/api/CONTRIBUTING.md +++ b/api/CONTRIBUTING.md @@ -50,11 +50,11 @@ generated RST files are also viewable in `generated/rst`. Note also that the generated documentation can be viewed in CI: -1. Open docs job in CircleCI. -2. Navigate to "artifacts" tab. -3. Expand files and click on `index.html`. +1. Open docs job in Azure Pipelines. +2. Navigate to "Upload Docs to GCS" log. +3. Click on the link there. -If you do not see an artifacts tab this is a bug in CircleCI. Try logging out and logging back in. +If you do not see "Upload Docs to GCS" or it is failing, that means the docs are not built correctly. ### Documentation guidelines diff --git a/ci/README.md b/ci/README.md index ccef23fb5bf2..028e31263b30 100644 --- a/ci/README.md +++ b/ci/README.md @@ -5,7 +5,7 @@ and an image based on Windows2019. ## Ubuntu Envoy image -The Ubuntu based Envoy Docker image at [`envoyproxy/envoy-build:`](https://hub.docker.com/r/envoyproxy/envoy-build/) is used for CircleCI checks, +The Ubuntu based Envoy Docker image at [`envoyproxy/envoy-build:`](https://hub.docker.com/r/envoyproxy/envoy-build/) is used for CI checks, where `` is specified in [`envoy_build_sha.sh`](https://github.com/envoyproxy/envoy/blob/master/ci/envoy_build_sha.sh). Developers may work with the latest build image SHA in [envoy-build-tools](https://github.com/envoyproxy/envoy-build-tools/blob/master/toolchains/rbe_toolchains_config.bzl#L8) repo to provide a self-contained environment for building Envoy binaries and running tests that reflects the latest built Ubuntu Envoy image. @@ -189,10 +189,10 @@ This build the Ubuntu based `envoyproxy/envoy-build-ubuntu` image, and the final # macOS Build Flow -The macOS CI build is part of the [CircleCI](https://circleci.com/gh/envoyproxy/envoy) workflow. +The macOS CI build is part of the [Azure Pipelines](https://dev.azure.com/cncf/envoy/_build) workflow. Dependencies are installed by the `ci/mac_ci_setup.sh` script, via [Homebrew](https://brew.sh), -which is pre-installed on the CircleCI macOS image. The dependencies are cached are re-installed -on every build. The `ci/mac_ci_steps.sh` script executes the specific commands that +which is pre-installed on the [Azure Pipelines macOS image](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md). +The dependencies are cached and re-installed on every build. The `ci/mac_ci_steps.sh` script executes the specific commands that build and test Envoy. Note that the full version of Xcode (not just Command Line Tools) is required. # Coverity Scan Build Flow diff --git a/ci/do_circle_ci.sh b/ci/do_circle_ci.sh deleted file mode 100755 index 3602f6a00239..000000000000 --- a/ci/do_circle_ci.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash - -set -e - -# Workaround for argument too long issue in protoc -ulimit -s 16384 - -# bazel uses jgit internally and the default circle-ci .gitconfig says to -# convert https://github.com to ssh://git@github.com, which jgit does not support. -if [[ -e "${HOME}/.gitconfig" ]]; then - mv ~/.gitconfig ~/.gitconfig_save -fi - -# Workaround for not using ci/run_envoy_docker.sh -# Create a fake home. Python site libs tries to do getpwuid(3) if we don't and the CI -# Docker image gets confused as it has no passwd entry when running non-root -# unless we do this. -FAKE_HOME=/tmp/fake_home -mkdir -p "${FAKE_HOME}" -export HOME="${FAKE_HOME}" -export PYTHONUSERBASE="${FAKE_HOME}" -export USER=bazel - -ENVOY_SRCDIR="$(pwd)" -export ENVOY_SRCDIR - -# xlarge resource_class. -# See note: https://circleci.com/docs/2.0/configuration-reference/#resource_class for why we -# hard code this (basically due to how docker works). -export NUM_CPUS=6 - -# CircleCI doesn't support IPv6 by default, so we run all tests with IPv4 only. -# IPv6 tests are run with Azure Pipelines. -export BAZEL_BUILD_EXTRA_OPTIONS+=" \ - --test_env=ENVOY_IP_TEST_VERSIONS=v4only \ - --local_cpu_resources=${NUM_CPUS} \ - --action_env=HOME \ - --action_env=PYTHONUSERBASE \ - --test_env=HOME \ - --test_env=PYTHONUSERBASE" - -function finish { - echo "disk space at end of build:" - df -h -} -trap finish EXIT - -echo "disk space at beginning of build:" -df -h - -ci/do_ci.sh "$@" diff --git a/ci/mac_ci_setup.sh b/ci/mac_ci_setup.sh index 755852b4ffa0..d69562ced31f 100755 --- a/ci/mac_ci_setup.sh +++ b/ci/mac_ci_setup.sh @@ -51,12 +51,6 @@ do is_installed "${DEP}" || install "${DEP}" done -if [ -n "$CIRCLECI" ]; then - # bazel uses jgit internally and the default circle-ci .gitconfig says to - # convert https://github.com to ssh://git@github.com, which jgit does not support. - mv ~/.gitconfig ~/.gitconfig_save -fi - # Required as bazel and a foreign bazelisk are installed in the latest macos vm image, we have # to unlink/overwrite them to install bazelisk echo "Installing bazelisk" diff --git a/ci/repokitteh/modules/azure_pipelines.star b/ci/repokitteh/modules/azure_pipelines.star index 7d80c149b5cd..655ba0e50863 100644 --- a/ci/repokitteh/modules/azure_pipelines.star +++ b/ci/repokitteh/modules/azure_pipelines.star @@ -25,7 +25,7 @@ def _get_azp_checks(): return checks def _retry(config, comment_id, command): - msgs = "Retrying Azure Pipelines, to retry CircleCI checks, use `/retest-circle`.\n" + msgs = "Retrying Azure Pipelines.\n" checks = _get_azp_checks() retried_checks = [] diff --git a/docs/README.md b/docs/README.md index 216e7bafcbad..5cd5444d670b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -34,20 +34,17 @@ To use this method you will need a minimum of 4-5GB of disk space available to a # Creating a Pull Request with documentation changes -When you create a Pull Request the documentation is rendered by CircleCI. - -If you are logged in to CircleCI (it is possible to authenticate using your Github account), you can view -the rendered changes. +When you create a Pull Request the documentation is rendered by Azure Pipelines. To do this: -- click `Details` in the `ci/circleci: docs` check at the bottom of the Pull Request. -- click `ARTIFACTS` in the CircleCI dashboard -- browse to the documentation root at `generated/docs/index.html`. +1. Open docs job in Azure Pipelines. +2. Navigate to "Upload Docs to GCS" log. +3. Click on the link there. # How the Envoy website and docs are updated 1. The docs are published to [docs/envoy/latest](https://github.com/envoyproxy/envoyproxy.github.io/tree/master/docs/envoy/latest) - on every commit to master. This process is handled by CircleCI with the + on every commit to master. This process is handled by Azure Pipelines with the [`publish.sh`](https://github.com/envoyproxy/envoy/blob/master/docs/publish.sh) script. 2. The docs are published to [docs/envoy](https://github.com/envoyproxy/envoyproxy.github.io/tree/master/docs/envoy) diff --git a/docs/publish.sh b/docs/publish.sh index c56e9bb31066..11b75f1b77c9 100755 --- a/docs/publish.sh +++ b/docs/publish.sh @@ -1,6 +1,6 @@ #!/bin/bash -# This is run on every commit that CircleCI picks up. It assumes that docs have already been built +# This is run on every commit that Azure Pipelines picks up. It assumes that docs have already been built # via docs/build.sh. The push behavior differs depending on the nature of the commit: # * Tag commit (e.g. v1.6.0): pushes docs to versioned location, e.g. # https://www.envoyproxy.io/docs/envoy/v1.6.0/. diff --git a/repokitteh.star b/repokitteh.star index 93d86cbd3fb8..bf5919628aff 100644 --- a/repokitteh.star +++ b/repokitteh.star @@ -3,7 +3,6 @@ pin("github.com/repokitteh/modules", "4ee2ed0c3622aad7fcddc04cb5dc866e44a541e6") use("github.com/repokitteh/modules/assign.star") use("github.com/repokitteh/modules/review.star") use("github.com/repokitteh/modules/wait.star") -use("github.com/repokitteh/modules/circleci.star", secret_token=get_secret('circle_token')) use("github.com/envoyproxy/envoy/ci/repokitteh/modules/azure_pipelines.star", secret_token=get_secret('azp_token')) use("github.com/envoyproxy/envoy/ci/repokitteh/modules/newcontributor.star") use( @@ -37,7 +36,6 @@ use( ], ) -alias('retest-circle', 'retry-circle') alias('retest', 'retry-azp') def _backport(): diff --git a/source/docs/repokitteh.md b/source/docs/repokitteh.md index 1d2b747bdacb..0d07ba9ddc26 100644 --- a/source/docs/repokitteh.md +++ b/source/docs/repokitteh.md @@ -75,17 +75,6 @@ Sets the label `waiting:any` on a PR. When a new commit is pushed or any comment [Demo PR](https://github.com/envoyproxy/envoybot/pull/15) -### [CircleCI Retest](https://github.com/repokitteh/modules/blob/master/circleci.star) -Restart failed CircleCI tests. - -Example: -``` -/retest-circle -``` -Restarts all failed CircleCI tests, as reported in the commit statuses. - -[Demo PR](https://github.com/envoyproxy/envoy/pull/12613#issuecomment-676141200) - ### [Azure Pipelines Retest](https://github.com/envoyproxy/envoy/blob/master/ci/repokitteh/modules/azure_pipelines.star) Restart failed Azure pipelines.