Skip to content

Commit

Permalink
Merge branch 'main' into david.goffredo/dd-trace-cpp-6/9-event_scheduler
Browse files Browse the repository at this point in the history
Signed-off-by: David Goffredo <david.goffredo@datadoghq.com>
  • Loading branch information
dgoffredo committed Feb 15, 2023
2 parents e3c8625 + f61052f commit a709c34
Show file tree
Hide file tree
Showing 625 changed files with 17,110 additions and 5,475 deletions.
219 changes: 108 additions & 111 deletions .azure-pipelines/pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ stages:
ENVOY_RBE: "true"
BAZEL_BUILD_EXTRA_OPTIONS: "--config=remote-ci --jobs=$(RbeJobs)"
AZP_BRANCH: $(Build.SourceBranch)
AZP_COMMIT_SHA: $(system.pullRequest.sourceCommitId)
ENVOY_DOCKER_BUILD_DIR: $(Build.StagingDirectory)
BAZEL_REMOTE_CACHE: grpcs://remotebuildexecution.googleapis.com
BAZEL_REMOTE_INSTANCE: projects/envoy-ci/instances/default_instance
Expand Down Expand Up @@ -359,95 +360,6 @@ stages:
- bash: |
echo "linux_arm64 released"
- stage: distribution
dependsOn: ["env", "linux_arm64", "linux_x64"]
jobs:
- job: package_x64
dependsOn: []
condition: and(not(canceled()), succeeded(), ne(stageDependencies.env.repo.outputs['changed.mobileOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.docsOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.examplesOnly'], 'true'))
timeoutInMinutes: 120
pool:
vmImage: "ubuntu-20.04"
steps:
- template: bazel.yml
parameters:
ciTarget: bazel.distribution
- job: package_arm64
dependsOn: []
condition: and(not(canceled()), succeeded(), ne(stageDependencies.env.repo.outputs['changed.mobileOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.docsOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.examplesOnly'], 'true'))
timeoutInMinutes: 120
pool: "arm-large"
steps:
- template: bazel.yml
parameters:
managedAgent: false
ciTarget: bazel.distribution
rbe: false
artifactSuffix: ".arm64"
bazelBuildExtraOptions: "--sandbox_base=/tmp/sandbox_base"
- job: verify_x64
dependsOn: ["package_x64"]
condition: and(not(canceled()), succeeded(), ne(stageDependencies.env.repo.outputs['changed.mobileOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.docsOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.examplesOnly'], 'true'))
timeoutInMinutes: 120
pool:
vmImage: "ubuntu-20.04"
steps:
- task: DownloadBuildArtifacts@0
inputs:
buildType: current
artifactName: "bazel.distribution"
itemPattern: "bazel.distribution/packages.x64.tar.gz"
downloadType: single
targetPath: $(Build.StagingDirectory)
- script: ci/run_envoy_docker.sh 'ci/do_ci.sh verify_distro'
workingDirectory: $(Build.SourcesDirectory)
env:
AZP_BRANCH: $(Build.SourceBranch)
ENVOY_DOCKER_BUILD_DIR: $(Build.StagingDirectory)
BAZEL_REMOTE_CACHE: grpcs://remotebuildexecution.googleapis.com
BAZEL_REMOTE_INSTANCE: projects/envoy-ci/instances/default_instance
GCP_SERVICE_ACCOUNT_KEY: $(GcpServiceAccountKey)
displayName: "Verify packages"
- job: verify_arm64
dependsOn: ["package_arm64"]
condition: and(not(canceled()), succeeded(), ne(stageDependencies.env.repo.outputs['changed.mobileOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.docsOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.examplesOnly'], 'true'))
timeoutInMinutes: 120
pool: "arm-large"
steps:
- task: DownloadBuildArtifacts@0
inputs:
buildType: current
artifactName: "bazel.distribution.arm64"
itemPattern: "bazel.distribution.arm64/packages.arm64.tar.gz"
downloadType: single
targetPath: $(Build.StagingDirectory)
- script: ci/run_envoy_docker.sh 'ci/do_ci.sh verify_distro'
workingDirectory: $(Build.SourcesDirectory)
env:
AZP_BRANCH: $(Build.SourceBranch)
ENVOY_DOCKER_BUILD_DIR: $(Build.StagingDirectory)
BAZEL_REMOTE_CACHE: grpcs://remotebuildexecution.googleapis.com
BAZEL_REMOTE_INSTANCE: projects/envoy-ci/instances/default_instance
GCP_SERVICE_ACCOUNT_KEY: $(GcpServiceAccountKey)
displayName: "Verify packages"

- job: verified
dependsOn: ["verify_x64", "verify_arm64"]
pool:
vmImage: "ubuntu-20.04"
# This condition ensures that this (required) check passes if all of
# the preceding checks either pass or are skipped
# adapted from:
# https://learn.microsoft.com/en-us/azure/devops/pipelines/process/expressions?view=azure-devops#job-to-job-dependencies-within-one-stage
condition: |
and(
in(dependencies.verify_x64.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'),
in(dependencies.verify_arm64.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'))
steps:
- checkout: none
- bash: |
echo "checks complete"
- stage: check
dependsOn: ["env", "linux_x64"]
jobs:
Expand Down Expand Up @@ -533,11 +445,11 @@ stages:
- bash: |
echo "checks complete"
- stage: docker
- stage: publish
dependsOn: ["env", "linux_x64", "linux_arm64"]
jobs:
- job: docker
displayName: "linux multiarch"
displayName: "Docker (linux multi arch)"
condition: and(not(canceled()), succeeded(), ne(stageDependencies.env.repo.outputs['changed.mobileOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.docsOnly'], 'true'))
timeoutInMinutes: 120
pool:
Expand Down Expand Up @@ -606,25 +518,55 @@ stages:
timeoutInMinutes: 10
condition: always()

- job: linux
dependsOn: ["docker"]
- job: package_x64
displayName: Linux debs (x64)
dependsOn: []
condition: and(not(canceled()), succeeded(), ne(stageDependencies.env.repo.outputs['changed.mobileOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.docsOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.examplesOnly'], 'true'))
timeoutInMinutes: 120
pool:
vmImage: "ubuntu-20.04"
# This condition ensures that this (required) job passes if all of
# the preceding jobs either pass or are skipped
steps:
- template: bazel.yml
parameters:
ciTarget: bazel.distribution
- job: package_arm64
displayName: Linux debs (arm64)
dependsOn: []
condition: and(not(canceled()), succeeded(), ne(stageDependencies.env.repo.outputs['changed.mobileOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.docsOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.examplesOnly'], 'true'))
timeoutInMinutes: 120
pool: "arm-large"
steps:
- template: bazel.yml
parameters:
managedAgent: false
ciTarget: bazel.distribution
rbe: false
artifactSuffix: ".arm64"
bazelBuildExtraOptions: "--sandbox_base=/tmp/sandbox_base"

- job: success
dependsOn: ["docker", "package_x64", "package_arm64"]
displayName: Success (linux artefacts)
pool:
vmImage: "ubuntu-20.04"
# This condition ensures that this (required) check passes if all of
# the preceding checks either pass or are skipped
# adapted from:
# https://learn.microsoft.com/en-us/azure/devops/pipelines/process/expressions?view=azure-devops#job-to-job-dependencies-within-one-stage
condition: in(dependencies.docker.result, 'Succeeded', 'SucceededWithIssues', 'Skipped')
condition: |
and(
in(dependencies.docker.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'),
in(dependencies.package_x64.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'),
in(dependencies.package_arm64.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'))
steps:
- checkout: none
- bash: |
echo "Docker linux built"
echo "building publishable assets complete"
- stage: publish
dependsOn: ["docker"]
condition: and(succeeded(), eq(variables['PostSubmit'], true), ne(variables['NoSync'], true))
jobs:
- job: docs
displayName: Publish docs to netlify
dependsOn: ["success"]
condition: and(succeeded(), eq(variables['PostSubmit'], true), ne(variables['NoSync'], true))
pool:
vmImage: "ubuntu-20.04"
steps:
Expand Down Expand Up @@ -670,8 +612,9 @@ stages:
NETLIFY_TRIGGER_URL: $(NetlifyTriggerURL)

- job: github
displayName: Publish release tag
dependsOn: ["docs"]
condition: eq(variables['isStableBranch'], 'true')
condition: and(succeeded(), eq(variables['PostSubmit'], true), ne(variables['NoSync'], true), eq(variables['isStableBranch'], 'true'))
pool:
vmImage: "ubuntu-20.04"
steps:
Expand All @@ -687,11 +630,13 @@ stages:
workingDirectory: $(Build.SourcesDirectory)
condition: eq(variables['isDev'], 'false')
env:
AZP_BRANCH: $(Build.SourceBranch)
GITHUB_TOKEN: $(GitHubPublicRepoOnlyAccessToken)

- job: assets
dependsOn: []
condition: eq(variables['isTaggedRelease'], 'true')
displayName: Publish release assets
condition: and(succeeded(), eq(variables['PostSubmit'], true), ne(variables['NoSync'], true), eq(variables['isTaggedRelease'], 'true'))
dependsOn: ["success"]
pool:
vmImage: "ubuntu-20.04"
steps:
Expand Down Expand Up @@ -728,7 +673,8 @@ stages:
name: MaintainerGPGKey
displayName: 'Download maintainer GPG key'
inputs:
secureFile: 'maintainer.gpg.key'
# NB: This is the path to the key and **must** be set on a per-pipeline basis
secureFile: '$(maintainerGPGKey)'

- bash: |
set -e
Expand Down Expand Up @@ -758,9 +704,10 @@ stages:
MAINTAINER_GPG_KEY_PASSPHRASE: $(MaintainerGPGKeyPassphrase)
- stage: verify
dependsOn: ["env", "docker"]
dependsOn: ["env", "publish"]
jobs:
- job: examples
displayName: Verify (Docker/x64) examples
condition: and(not(canceled()), succeeded(), ne(stageDependencies.env.repo.outputs['changed.mobileOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.docsOnly'], 'true'))
pool:
vmImage: "ubuntu-20.04"
Expand All @@ -776,19 +723,69 @@ stages:
ENVOY_DOCKER_BUILD_DIR: $(Build.StagingDirectory)
NO_BUILD_SETUP: 1

- job: packages_x64
displayName: Verify debs (x64)
condition: and(not(canceled()), succeeded(), ne(stageDependencies.env.repo.outputs['changed.mobileOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.docsOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.examplesOnly'], 'true'))
timeoutInMinutes: 120
pool:
vmImage: "ubuntu-20.04"
steps:
- task: DownloadBuildArtifacts@0
inputs:
buildType: current
artifactName: "bazel.distribution"
itemPattern: "bazel.distribution/packages.x64.tar.gz"
downloadType: single
targetPath: $(Build.StagingDirectory)
- script: ci/run_envoy_docker.sh 'ci/do_ci.sh verify_distro'
workingDirectory: $(Build.SourcesDirectory)
env:
AZP_BRANCH: $(Build.SourceBranch)
ENVOY_DOCKER_BUILD_DIR: $(Build.StagingDirectory)
BAZEL_REMOTE_CACHE: grpcs://remotebuildexecution.googleapis.com
BAZEL_REMOTE_INSTANCE: projects/envoy-ci/instances/default_instance
GCP_SERVICE_ACCOUNT_KEY: $(GcpServiceAccountKey)
displayName: "Verify packages"
- job: packages_arm64
displayName: Verify debs (arm64)
condition: and(not(canceled()), succeeded(), ne(stageDependencies.env.repo.outputs['changed.mobileOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.docsOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.examplesOnly'], 'true'))
timeoutInMinutes: 120
pool: "arm-large"
steps:
- task: DownloadBuildArtifacts@0
inputs:
buildType: current
artifactName: "bazel.distribution.arm64"
itemPattern: "bazel.distribution.arm64/packages.arm64.tar.gz"
downloadType: single
targetPath: $(Build.StagingDirectory)
- script: ci/run_envoy_docker.sh 'ci/do_ci.sh verify_distro'
workingDirectory: $(Build.SourcesDirectory)
env:
AZP_BRANCH: $(Build.SourceBranch)
ENVOY_DOCKER_BUILD_DIR: $(Build.StagingDirectory)
BAZEL_REMOTE_CACHE: grpcs://remotebuildexecution.googleapis.com
BAZEL_REMOTE_INSTANCE: projects/envoy-ci/instances/default_instance
GCP_SERVICE_ACCOUNT_KEY: $(GcpServiceAccountKey)
displayName: "Verify packages"

- job: verified
dependsOn: ["examples"]
dependsOn: ["examples", "packages_x64", "packages_arm64"]
pool:
vmImage: "ubuntu-20.04"
# This condition ensures that this (required) job passes if all of
# the preceding jobs either pass or are skipped
# This condition ensures that this (required) check passes if all of
# the preceding checks either pass or are skipped
# adapted from:
# https://learn.microsoft.com/en-us/azure/devops/pipelines/process/expressions?view=azure-devops#job-to-job-dependencies-within-one-stage
condition: in(dependencies.examples.result, 'Succeeded', 'SucceededWithIssues', 'Skipped')
condition: |
and(
in(dependencies.examples.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'),
in(dependencies.packages_x64.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'),
in(dependencies.packages_arm64.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'))
steps:
- checkout: none
- bash: |
echo "examples verifiied"
echo "checks complete"
- stage: macos
dependsOn: ["env", "precheck"]
Expand Down
2 changes: 1 addition & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ run --color=yes
build --color=yes
build --workspace_status_command="bash bazel/get_workspace_status"
build --incompatible_strict_action_env
build --host_force_python=PY3
build --java_runtime_version=remotejdk_11
build --tool_java_runtime_version=remotejdk_11
build --platform_mappings=bazel/platform_mappings
# silence absl logspam.
build --copt=-DABSL_MIN_LOG_LEVEL=4
build --define envoy_mobile_listener=enabled

# Pass PATH, CC, CXX and LLVM_CONFIG variables from the environment.
build --action_env=CC --host_action_env=CC
Expand Down
1 change: 0 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
/changelogs/*.yaml merge=union
/generated_api_shadow/envoy/** linguist-generated=true
/generated_api_shadow/bazel/** linguist-generated=true
*.svg binary
Expand Down
Loading

0 comments on commit a709c34

Please sign in to comment.