[TEST][AGENTRUN-294] Build the agent with Go tip
What does this PR do?
Motivation
Describe how you validated your changes
Possible Drawbacks / Trade-offs
Additional Notes
Datadog Summary
✅ Code Quality ✅ Code Security ❌ Pipelines
Next Steps
The following jobs failed due to code errors:
DataDog/datadog-agent / build_otel_agent_binary_x64
Unknown godebug 'tlskyber' in go.work file at line 7.
DataDog/datadog-agent / lint_licenses
unknown godebug "tlskyber" in go.work file at line 7.
DataDog/datadog-agent / integration_tests_otel
unknown godebug 'tlskyber' in go.work file at line 7
The following jobs failed due to platform errors:
Do Not Merge / Check Do Not Merge
Workflow fails as the pull request is labeled 'do-not-merge'.
Do Not Merge / Check Do Not Merge
Pull request is labeled as 'do-not-merge'. This workflow fails to prevent merge.
Do Not Merge / Check Do Not Merge
Workflow intentionally fails due to pull request being labeled as 'do-not-merge'.
Was this helpful? Give us feedback!
Gitlab CI Configuration Changes
Updated: .gitlab-ci.yml
Modified Jobs
variables (configuration)
variables:
AGENT_API_KEY_ORG2: agent-api-key-org-2
AGENT_APP_KEY_ORG2: agent-app-key-org-2
AGENT_BINARIES_DIR: bin/agent
AGENT_GITHUB_APP: agent-github-app
AGENT_QA_E2E: agent-qa-e2e
API_KEY_ORG2: ci.datadog-agent.datadog_api_key_org2
ARTIFACT_DOWNLOAD_ATTEMPTS: 2
ATLASSIAN_WRITE: atlassian-write
BTFHUB_ARCHIVE_BRANCH: main
BUCKET_BRANCH: dev
CHANGELOG_COMMIT_SHA: ci.datadog-agent.gitlab_changelog_commit_sha
CHOCOLATEY_API_KEY: ci.datadog-agent.chocolatey_api_key
- CI_IMAGE_BTF_GEN: v66293343-2eef00c4
+ CI_IMAGE_BTF_GEN: v68978153-f422a37c
- CI_IMAGE_BTF_GEN_SUFFIX: ''
? ^^
+ CI_IMAGE_BTF_GEN_SUFFIX: _test_only
? ^^^^^^^^^^
- CI_IMAGE_DEB_ARM64: v66293343-2eef00c4
+ CI_IMAGE_DEB_ARM64: v68978153-f422a37c
- CI_IMAGE_DEB_ARM64_SUFFIX: ''
? ^^
+ CI_IMAGE_DEB_ARM64_SUFFIX: _test_only
? ^^^^^^^^^^
- CI_IMAGE_DEB_ARMHF: v66293343-2eef00c4
+ CI_IMAGE_DEB_ARMHF: v68978153-f422a37c
- CI_IMAGE_DEB_ARMHF_SUFFIX: ''
? ^^
+ CI_IMAGE_DEB_ARMHF_SUFFIX: _test_only
? ^^^^^^^^^^
- CI_IMAGE_DEB_X64: v66293343-2eef00c4
+ CI_IMAGE_DEB_X64: v68978153-f422a37c
- CI_IMAGE_DEB_X64_SUFFIX: ''
? ^^
+ CI_IMAGE_DEB_X64_SUFFIX: _test_only
? ^^^^^^^^^^
- CI_IMAGE_DOCKER_ARM64: v66293343-2eef00c4
+ CI_IMAGE_DOCKER_ARM64: v68978153-f422a37c
- CI_IMAGE_DOCKER_ARM64_SUFFIX: ''
? ^^
+ CI_IMAGE_DOCKER_ARM64_SUFFIX: _test_only
? ^^^^^^^^^^
- CI_IMAGE_DOCKER_X64: v66293343-2eef00c4
+ CI_IMAGE_DOCKER_X64: v68978153-f422a37c
- CI_IMAGE_DOCKER_X64_SUFFIX: ''
? ^^
+ CI_IMAGE_DOCKER_X64_SUFFIX: _test_only
? ^^^^^^^^^^
- CI_IMAGE_GITLAB_AGENT_DEPLOY: v66293343-2eef00c4
? ^^ ^^^ ^^^^^ -
+ CI_IMAGE_GITLAB_AGENT_DEPLOY: v68978153-f422a37c
? ^ ^^^^ ++ ^^^^
- CI_IMAGE_GITLAB_AGENT_DEPLOY_SUFFIX: ''
? ^^
+ CI_IMAGE_GITLAB_AGENT_DEPLOY_SUFFIX: _test_only
? ^^^^^^^^^^
- CI_IMAGE_LINUX_GLIBC_2_17_X64: v66293343-2eef00c4
? ^^ ^^^ ^^^^^ -
+ CI_IMAGE_LINUX_GLIBC_2_17_X64: v68978153-f422a37c
? ^ ^^^^ ++ ^^^^
- CI_IMAGE_LINUX_GLIBC_2_17_X64_SUFFIX: ''
? ^^
+ CI_IMAGE_LINUX_GLIBC_2_17_X64_SUFFIX: _test_only
? ^^^^^^^^^^
- CI_IMAGE_LINUX_GLIBC_2_23_ARM64: v66293343-2eef00c4
? ^^ ^^^ ^^^^^ -
+ CI_IMAGE_LINUX_GLIBC_2_23_ARM64: v68978153-f422a37c
? ^ ^^^^ ++ ^^^^
- CI_IMAGE_LINUX_GLIBC_2_23_ARM64_SUFFIX: ''
? ^^
+ CI_IMAGE_LINUX_GLIBC_2_23_ARM64_SUFFIX: _test_only
? ^^^^^^^^^^
- CI_IMAGE_RPM_ARM64: v66293343-2eef00c4
+ CI_IMAGE_RPM_ARM64: v68978153-f422a37c
- CI_IMAGE_RPM_ARM64_SUFFIX: ''
? ^^
+ CI_IMAGE_RPM_ARM64_SUFFIX: _test_only
? ^^^^^^^^^^
- CI_IMAGE_RPM_ARMHF: v66293343-2eef00c4
+ CI_IMAGE_RPM_ARMHF: v68978153-f422a37c
- CI_IMAGE_RPM_ARMHF_SUFFIX: ''
? ^^
+ CI_IMAGE_RPM_ARMHF_SUFFIX: _test_only
? ^^^^^^^^^^
- CI_IMAGE_RPM_X64: v66293343-2eef00c4
+ CI_IMAGE_RPM_X64: v68978153-f422a37c
- CI_IMAGE_RPM_X64_SUFFIX: ''
? ^^
+ CI_IMAGE_RPM_X64_SUFFIX: _test_only
? ^^^^^^^^^^
- CI_IMAGE_WIN_LTSC2022_X64: v66293343-2eef00c4
+ CI_IMAGE_WIN_LTSC2022_X64: v67503855-0c93f922
CI_IMAGE_WIN_LTSC2022_X64_SUFFIX: ''
CLANG_BUILD_VERSION: v60409452-ee70de70
CLANG_LLVM_VER: 12.0.1
CLUSTER_AGENT_BINARIES_DIR: bin/datadog-cluster-agent
CLUSTER_AGENT_CLOUDFOUNDRY_BINARIES_DIR: bin/datadog-cluster-agent-cloudfoundry
CODECOV: codecov
CODECOV_TOKEN: ci.datadog-agent.codecov_token
- COMPARE_TO_BRANCH: main
? ^^^^
+ COMPARE_TO_BRANCH: 7.68.x
? ^^^^^^
CWS_INSTRUMENTATION_BINARIES_DIR: bin/cws-instrumentation
DATADOG_AGENT_EMBEDDED_PATH: /opt/datadog-agent/embedded
DD_AGENT_TESTING_DIR: $CI_PROJECT_DIR/test/new-e2e/tests
DD_PKG_VERSION: latest
DEB_GPG_KEY: ci.datadog-agent.deb_signing_private_key_${DEB_GPG_KEY_ID}
DEB_GPG_KEY_ID: c0962c7d
DEB_GPG_KEY_NAME: Datadog, Inc. APT key
DEB_RPM_TESTING_BUCKET_BRANCH: testing
DEB_S3_BUCKET: apt.datad0g.com
DEB_SIGNING_PASSPHRASE: ci.datadog-agent.deb_signing_key_passphrase_${DEB_GPG_KEY_ID}
DEB_TESTING_S3_BUCKET: apttesting.datad0g.com
DOCKER_REGISTRY_LOGIN: ci.datadog-agent.docker_hub_login
DOCKER_REGISTRY_PWD: ci.datadog-agent.docker_hub_pwd
DOCKER_REGISTRY_RO: dockerhub-readonly
DOCKER_REGISTRY_URL: docker.io
DOGSTATSD_BINARIES_DIR: bin/dogstatsd
E2E_AZURE: e2e-azure
E2E_GCP: e2e-gcp
EXECUTOR_JOB_SECTION_ATTEMPTS: 2
FF_KUBERNETES_HONOR_ENTRYPOINT: true
FF_SCRIPT_SECTIONS: 1
FF_TIMESTAMPS: true
GENERAL_ARTIFACTS_CACHE_BUCKET_URL: https://dd-agent-omnibus.s3.amazonaws.com
GET_SOURCES_ATTEMPTS: 2
GITLAB_TOKEN: gitlab-token
GO_TEST_SKIP_FLAKE: 'true'
INSTALLER_TESTING_S3_BUCKET: installtesting.datad0g.com
INSTALL_SCRIPT_API_KEY_ORG2: install-script-api-key-org-2
INTEGRATION_WHEELS_CACHE_BUCKET: dd-agent-omnibus
KERNEL_MATRIX_TESTING_ARM_AMI_ID: ami-0b5f838a19d37fc61
KERNEL_MATRIX_TESTING_X86_AMI_ID: ami-05b3973acf5422348
KITCHEN_INFRASTRUCTURE_FLAKES_RETRY: 2
MACOS_APPLE_APPLICATION_SIGNING: apple-application-signing
MACOS_APPLE_DEVELOPER_ACCOUNT: apple-developer-account
MACOS_APPLE_INSTALLER_SIGNING: apple-installer-signing
MACOS_GITHUB_APP_1: macos-github-app-one
MACOS_GITHUB_APP_2: macos-github-app-two
MACOS_KEYCHAIN_PWD: ci-keychain
MACOS_S3_BUCKET: dd-agent-macostesting
OMNIBUS_BASE_DIR: /omnibus
OMNIBUS_GIT_CACHE_DIR: /tmp/omnibus-git-cache
OMNIBUS_PACKAGE_DIR: $CI_PROJECT_DIR/omnibus/pkg/
OMNIBUS_PACKAGE_DIR_SUSE: $CI_PROJECT_DIR/omnibus/suse/pkg
PIPELINE_KEY_ALIAS: alias/ci_datadog-agent_pipeline-key
PROCESS_S3_BUCKET: datad0g-process-agent
RESTORE_CACHE_ATTEMPTS: 2
RPM_GPG_KEY: ci.datadog-agent.rpm_signing_private_key_${RPM_GPG_KEY_ID}
RPM_GPG_KEY_ID: b01082d3
RPM_GPG_KEY_NAME: Datadog, Inc. RPM key
RPM_S3_BUCKET: yum.datad0g.com
RPM_SIGNING_PASSPHRASE: ci.datadog-agent.rpm_signing_key_passphrase_${RPM_GPG_KEY_ID}
RPM_TESTING_S3_BUCKET: yumtesting.datad0g.com
RUN_E2E_TESTS: auto
RUN_KMT_TESTS: auto
RUN_UNIT_TESTS: auto
S3_ARTIFACTS_URI: s3://dd-ci-artefacts-build-stable/$CI_PROJECT_NAME/$CI_PIPELINE_ID
S3_CP_CMD: aws s3 cp $S3_CP_OPTIONS
S3_CP_OPTIONS: --no-progress --region us-east-1 --sse AES256
S3_DD_AGENT_OMNIBUS_BTFS_URI: s3://dd-agent-omnibus/btfs
S3_DD_AGENT_OMNIBUS_JAVA_URI: s3://dd-agent-omnibus/openjdk
S3_DD_AGENT_OMNIBUS_LLVM_URI: s3://dd-agent-omnibus/llvm
S3_DSD6_URI: s3://dsd6-staging
S3_OMNIBUS_CACHE_BUCKET: dd-ci-datadog-agent-omnibus-cache-build-stable
S3_OMNIBUS_GIT_CACHE_BUCKET: dd-ci-datadog-agent-omnibus-git-cache-build-stable
S3_PERMANENT_ARTIFACTS_URI: s3://dd-ci-persistent-artefacts-build-stable/$CI_PROJECT_NAME
S3_PROJECT_ARTIFACTS_URI: s3://dd-ci-artefacts-build-stable/$CI_PROJECT_NAME
S3_RELEASE_ARTIFACTS_URI: s3://dd-release-artifacts/$CI_PROJECT_NAME/$CI_PIPELINE_ID
S3_RELEASE_INSTALLER_ARTIFACTS_URI: s3://dd-release-artifacts/datadog-installer/$CI_PIPELINE_ID
S3_SBOM_STORAGE_URI: s3://sbom-root-us1-ddbuild-io/$CI_PROJECT_NAME/$CI_PIPELINE_ID
SLACK_AGENT: slack-agent-ci
SMP_ACCOUNT: smp
STATIC_BINARIES_DIR: bin/static
SYSTEM_PROBE_BINARIES_DIR: bin/system-probe
VCPKG_BLOB_SAS_URL: ci.datadog-agent-buildimages.vcpkg_blob_sas_url
WINDOWS_BUILDS_S3_BUCKET: $WIN_S3_BUCKET/builds
WINDOWS_POWERSHELL_DIR: $CI_PROJECT_DIR/signed_scripts
WINDOWS_TESTING_S3_BUCKET: pipelines/A7/$CI_PIPELINE_ID
WINGET_PAT: ci.datadog-agent.winget_pat
WIN_S3_BUCKET: dd-agent-mstesting
.new-e2e_windows_installer_v7_tests
.new-e2e_windows_installer_v7_tests:
parallel:
matrix:
- E2E_MSI_TEST: TestInstall
- E2E_MSI_TEST: TestRepair
- E2E_MSI_TEST: TestUpgrade
- E2E_MSI_TEST: TestUpgradeFromLatest
- E2E_MSI_TEST: TestPersistingIntegrations
+ - E2E_MSI_TEST: TestPersistingIntegrationsDuringUninstall
- E2E_MSI_TEST: TestDisablePersistingIntegrations
- E2E_MSI_TEST: TestIntegrationFolderPermissions
- E2E_MSI_TEST: TestIntegrationRollback
- E2E_MSI_TEST: TestUpgradeRollback
- E2E_MSI_TEST: TestUpgradeRollbackWithoutCWS
- E2E_MSI_TEST: TestUpgradeChangeUser
- E2E_MSI_TEST: TestUpgradeFromV5
- E2E_MSI_TEST: TestAgentUser/user_only
- E2E_MSI_TEST: TestAgentUser/dotslash_user
- E2E_MSI_TEST: TestAgentUser/hostname_user
- E2E_MSI_TEST: TestAgentUser/LocalSystem
- E2E_MSI_TEST: TestAgentUser/SYSTEM
- E2E_MSI_TEST: TestInstallOpts
- E2E_MSI_TEST: TestSubServicesOpts/all-subservices
- E2E_MSI_TEST: TestSubServicesOpts/no-subservices
- E2E_MSI_TEST: TestInstallAltDir
- E2E_MSI_TEST: TestInstallExistingAltDir
- E2E_MSI_TEST: TestInstallAltDirAndCorruptForUninstall
- E2E_MSI_TEST: TestInstallFail
- E2E_MSI_TEST: TestInstallWithLanmanServerDisabled
- E2E_MSI_TEST: TestNPMUpgradeToNPM
- E2E_MSI_TEST: TestNPMUpgradeNPMToNPM
- E2E_MSI_TEST: TestNPMInstallWithAddLocal
- E2E_MSI_TEST: TestNPMUpgradeFromBeta
- E2E_MSI_TEST: TestUpgradeFromV6
deploy_containers-cws-instrumentation-latest
deploy_containers-cws-instrumentation-latest:
before_script:
- - VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
+ - if [[ "$VERSION" == "" ]]; then VERSION="$(dda inv agent.version --url-safe)"
- || exit $?
+ || exit $?; fi
? ++++
+ - if [[ "$CWS_INSTRUMENTATION_REPOSITORY" == "" ]]; then export CWS_INSTRUMENTATION_REPOSITORY="cws-instrumentation";
+ fi
+ - export IMG_BASE_SRC="${SRC_CWS_INSTRUMENTATION}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
+ - export IMG_SOURCES="${IMG_BASE_SRC}-amd64,${IMG_BASE_SRC}-arm64"
- - export IMG_TAG_REFERENCE=${CWS_INSTRUMENTATION_REPOSITORY}:${VERSION}
? ^^^^^^^^ ^^
+ - export IMG_DESTINATIONS="${CWS_INSTRUMENTATION_REPOSITORY}:${VERSION}"
? +++ ++ ^^^ ^ + +
- dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
- job: deploy_containers-cws-instrumentation-final-versioned
+ job: docker_build_cws_instrumentation_amd64
+ - artifacts: false
+ job: docker_build_cws_instrumentation_arm64
rules:
- if: $DEPLOY_AGENT != "true" && $DDR_WORKFLOW_ID == null
when: never
- if: ($DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null) && $BUCKET_BRANCH ==
"beta"
when: never
- allow_failure: true
if: $BUCKET_BRANCH != "beta" && $BUCKET_BRANCH != "stable"
variables:
AGENT_REPOSITORY: agent-dev
DSD_REPOSITORY: dogstatsd-dev
IMG_REGISTRIES: dev
OTEL_AGENT_REPOSITORY: ddot-collector-dev
when: manual
- allow_failure: true
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: manual
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_cws_instrumentation
tags:
- arch:amd64
variables:
- IMG_NEW_TAGS: latest
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
+ VERSION: latest
deploy_containers-cws-instrumentation-rc-mutable
deploy_containers-cws-instrumentation-rc-mutable:
before_script:
- - VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
+ - if [[ "$VERSION" == "" ]]; then VERSION="$(dda inv agent.version --url-safe)"
- || exit $?
+ || exit $?; fi
? ++++
+ - if [[ "$CWS_INSTRUMENTATION_REPOSITORY" == "" ]]; then export CWS_INSTRUMENTATION_REPOSITORY="cws-instrumentation";
+ fi
+ - export IMG_BASE_SRC="${SRC_CWS_INSTRUMENTATION}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
+ - export IMG_SOURCES="${IMG_BASE_SRC}-amd64,${IMG_BASE_SRC}-arm64"
- - export IMG_TAG_REFERENCE=${CWS_INSTRUMENTATION_REPOSITORY}:${VERSION}
? ^^^^^^^^ ^^
+ - export IMG_DESTINATIONS="${CWS_INSTRUMENTATION_REPOSITORY}:${VERSION}"
? +++ ++ ^^^ ^ + +
- dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
- job: deploy_containers-cws-instrumentation-rc-versioned
+ job: docker_build_cws_instrumentation_amd64
+ - artifacts: false
+ job: docker_build_cws_instrumentation_arm64
rules:
- if: $DEPLOY_AGENT != "true" && $DDR_WORKFLOW_ID == null
when: never
- if: ($DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null) && $BUCKET_BRANCH ==
"beta" && $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: on_success
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_cws_instrumentation
tags:
- arch:amd64
variables:
- IMG_NEW_TAGS: rc
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
+ VERSION: rc
deploy_containers-dca-fips-latest
deploy_containers-dca-fips-latest:
before_script:
- - VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
+ - if [[ "$VERSION" == "" ]]; then VERSION="$(dda inv agent.version --url-safe)"
- || exit $?
+ || exit $?; fi
? ++++
+ - if [[ "$CLUSTER_AGENT_REPOSITORY" == "" ]]; then export CLUSTER_AGENT_REPOSITORY="cluster-agent";
+ fi
+ - export IMG_BASE_SRC="${SRC_DCA}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
+ - export IMG_SOURCES="${IMG_BASE_SRC}-fips-amd64,${IMG_BASE_SRC}-fips-arm64"
- - export IMG_TAG_REFERENCE=${CLUSTER_AGENT_REPOSITORY}:${VERSION}-fips
? ^^^^^^^^ ^^
+ - export IMG_DESTINATIONS="${CLUSTER_AGENT_REPOSITORY}:${VERSION}-fips"
? +++ ++ ^^^ ^ + +
- dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
- job: deploy_containers-dca-fips
+ job: docker_build_cluster_agent_fips_amd64
+ - artifacts: false
+ job: docker_build_cluster_agent_fips_arm64
rules:
- if: $DEPLOY_AGENT != "true" && $DDR_WORKFLOW_ID == null
when: never
- if: ($DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null) && $BUCKET_BRANCH ==
"beta"
when: never
- allow_failure: true
if: $BUCKET_BRANCH != "beta" && $BUCKET_BRANCH != "stable"
variables:
AGENT_REPOSITORY: agent-dev
DSD_REPOSITORY: dogstatsd-dev
IMG_REGISTRIES: dev
OTEL_AGENT_REPOSITORY: ddot-collector-dev
when: manual
- allow_failure: true
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: manual
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_dca
tags:
- arch:amd64
variables:
- IMG_NEW_TAGS: latest-fips
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
+ VERSION: latest
deploy_containers-dca-fips-rc
deploy_containers-dca-fips-rc:
before_script:
- - VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
+ - if [[ "$VERSION" == "" ]]; then VERSION="$(dda inv agent.version --url-safe)"
- || exit $?
+ || exit $?; fi
? ++++
+ - if [[ "$CLUSTER_AGENT_REPOSITORY" == "" ]]; then export CLUSTER_AGENT_REPOSITORY="cluster-agent";
+ fi
+ - export IMG_BASE_SRC="${SRC_DCA}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
+ - export IMG_SOURCES="${IMG_BASE_SRC}-fips-amd64,${IMG_BASE_SRC}-fips-arm64"
- - export IMG_TAG_REFERENCE=${CLUSTER_AGENT_REPOSITORY}:${VERSION}-fips
? ^^^^^^^^ ^^
+ - export IMG_DESTINATIONS="${CLUSTER_AGENT_REPOSITORY}:${VERSION}-fips"
? +++ ++ ^^^ ^ + +
- dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
- job: deploy_containers-dca-fips
+ job: docker_build_cluster_agent_fips_amd64
+ - artifacts: false
+ job: docker_build_cluster_agent_fips_arm64
rules:
- if: $DEPLOY_AGENT != "true" && $DDR_WORKFLOW_ID == null
when: never
- if: ($DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null) && $BUCKET_BRANCH ==
"beta" && $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: on_success
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_dca
tags:
- arch:amd64
variables:
- IMG_NEW_TAGS: rc-fips
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
+ VERSION: rc
deploy_containers-dca-fips_internal-latest
deploy_containers-dca-fips_internal-latest:
before_script:
- - VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
+ - if [[ "$VERSION" == "" ]]; then VERSION="$(dda inv agent.version --url-safe)"
- || exit $?
+ || exit $?; fi
? ++++
+ - if [[ "$CLUSTER_AGENT_REPOSITORY" == "" ]]; then export CLUSTER_AGENT_REPOSITORY="cluster-agent";
+ fi
+ - export IMG_BASE_SRC="${SRC_DCA}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
+ - export IMG_SOURCES="${IMG_BASE_SRC}-fips-amd64,${IMG_BASE_SRC}-fips-arm64"
- - export IMG_TAG_REFERENCE=${CLUSTER_AGENT_REPOSITORY}:${VERSION}-fips
? ^^^^^^^^ ^^
+ - export IMG_DESTINATIONS="${CLUSTER_AGENT_REPOSITORY}:${VERSION}-fips"
? +++ ++ ^^^ ^ + +
- dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
- job: deploy_containers-dca-fips_internal
+ job: docker_build_cluster_agent_fips_amd64
+ - artifacts: false
+ job: docker_build_cluster_agent_fips_arm64
rules:
- if: $DEPLOY_AGENT != "true" && $DDR_WORKFLOW_ID == null
when: never
- if: ($DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null) && $BUCKET_BRANCH ==
"beta"
when: never
- if: $BUCKET_BRANCH != "beta" && $BUCKET_BRANCH != "stable"
when: never
- allow_failure: true
variables:
AGENT_REPOSITORY: ci/datadog-agent/agent-release
CLUSTER_AGENT_REPOSITORY: ci/datadog-agent/cluster-agent-release
DSD_REPOSITORY: ci/datadog-agent/dogstatsd-release
IMG_REGISTRIES: internal-aws-ddbuild
OTEL_AGENT_REPOSITORY: ci/datadog-agent/otel-agent-release
when: manual
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_dca
tags:
- arch:amd64
variables:
- IMG_NEW_TAGS: latest-fips
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
+ VERSION: latest
deploy_containers-dca-fips_internal-rc
deploy_containers-dca-fips_internal-rc:
before_script:
- - VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
+ - if [[ "$VERSION" == "" ]]; then VERSION="$(dda inv agent.version --url-safe)"
- || exit $?
+ || exit $?; fi
? ++++
+ - if [[ "$CLUSTER_AGENT_REPOSITORY" == "" ]]; then export CLUSTER_AGENT_REPOSITORY="cluster-agent";
+ fi
+ - export IMG_BASE_SRC="${SRC_DCA}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
+ - export IMG_SOURCES="${IMG_BASE_SRC}-fips-amd64,${IMG_BASE_SRC}-fips-arm64"
- - export IMG_TAG_REFERENCE=${CLUSTER_AGENT_REPOSITORY}:${VERSION}-fips
? ^^^^^^^^ ^^
+ - export IMG_DESTINATIONS="${CLUSTER_AGENT_REPOSITORY}:${VERSION}-fips"
? +++ ++ ^^^ ^ + +
- dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
- job: deploy_containers-dca-fips_internal
+ job: docker_build_cluster_agent_fips_amd64
+ - artifacts: false
+ job: docker_build_cluster_agent_fips_arm64
rules:
- if: $DEPLOY_AGENT != "true" && $DDR_WORKFLOW_ID == null
when: never
- if: ($DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null) && $BUCKET_BRANCH ==
"beta" && $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: ci/datadog-agent/agent-release
CLUSTER_AGENT_REPOSITORY: ci/datadog-agent/cluster-agent-release
DSD_REPOSITORY: ci/datadog-agent/dogstatsd-release
IMG_REGISTRIES: internal-aws-ddbuild
OTEL_AGENT_REPOSITORY: ci/datadog-agent/otel-agent-release
when: on_success
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_dca
tags:
- arch:amd64
variables:
- IMG_NEW_TAGS: rc-fips
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
+ VERSION: rc
deploy_containers-dca-latest
deploy_containers-dca-latest:
before_script:
- - VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
+ - if [[ "$VERSION" == "" ]]; then VERSION="$(dda inv agent.version --url-safe)"
- || exit $?
+ || exit $?; fi
? ++++
+ - if [[ "$CLUSTER_AGENT_REPOSITORY" == "" ]]; then export CLUSTER_AGENT_REPOSITORY="cluster-agent";
+ fi
+ - export IMG_BASE_SRC="${SRC_DCA}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
+ - export IMG_SOURCES="${IMG_BASE_SRC}-amd64,${IMG_BASE_SRC}-arm64"
- - export IMG_TAG_REFERENCE=${CLUSTER_AGENT_REPOSITORY}:${VERSION}
? ^^^^^^^^ ^^
+ - export IMG_DESTINATIONS="${CLUSTER_AGENT_REPOSITORY}:${VERSION}"
? +++ ++ ^^^ ^ + +
- dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
- job: deploy_containers-dca
+ job: docker_build_cluster_agent_amd64
+ - artifacts: false
+ job: docker_build_cluster_agent_arm64
rules:
- if: $DEPLOY_AGENT != "true" && $DDR_WORKFLOW_ID == null
when: never
- if: ($DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null) && $BUCKET_BRANCH ==
"beta"
when: never
- allow_failure: true
if: $BUCKET_BRANCH != "beta" && $BUCKET_BRANCH != "stable"
variables:
AGENT_REPOSITORY: agent-dev
DSD_REPOSITORY: dogstatsd-dev
IMG_REGISTRIES: dev
OTEL_AGENT_REPOSITORY: ddot-collector-dev
when: manual
- allow_failure: true
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: manual
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_dca
tags:
- arch:amd64
variables:
- IMG_NEW_TAGS: latest
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
+ VERSION: latest
deploy_containers-dca-rc
deploy_containers-dca-rc:
before_script:
- - VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
+ - if [[ "$VERSION" == "" ]]; then VERSION="$(dda inv agent.version --url-safe)"
- || exit $?
+ || exit $?; fi
? ++++
+ - if [[ "$CLUSTER_AGENT_REPOSITORY" == "" ]]; then export CLUSTER_AGENT_REPOSITORY="cluster-agent";
+ fi
+ - export IMG_BASE_SRC="${SRC_DCA}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
+ - export IMG_SOURCES="${IMG_BASE_SRC}-amd64,${IMG_BASE_SRC}-arm64"
- - export IMG_TAG_REFERENCE=${CLUSTER_AGENT_REPOSITORY}:${VERSION}
? ^^^^^^^^ ^^
+ - export IMG_DESTINATIONS="${CLUSTER_AGENT_REPOSITORY}:${VERSION}"
? +++ ++ ^^^ ^ + +
- dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
- job: deploy_containers-dca
+ job: docker_build_cluster_agent_amd64
+ - artifacts: false
+ job: docker_build_cluster_agent_arm64
rules:
- if: $DEPLOY_AGENT != "true" && $DDR_WORKFLOW_ID == null
when: never
- if: ($DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null) && $BUCKET_BRANCH ==
"beta" && $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: on_success
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_dca
tags:
- arch:amd64
variables:
- IMG_NEW_TAGS: rc
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
+ VERSION: rc
deploy_containers-dca_internal-latest
deploy_containers-dca_internal-latest:
before_script:
- - VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
+ - if [[ "$VERSION" == "" ]]; then VERSION="$(dda inv agent.version --url-safe)"
- || exit $?
+ || exit $?; fi
? ++++
+ - if [[ "$CLUSTER_AGENT_REPOSITORY" == "" ]]; then export CLUSTER_AGENT_REPOSITORY="cluster-agent";
+ fi
+ - export IMG_BASE_SRC="${SRC_DCA}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
+ - export IMG_SOURCES="${IMG_BASE_SRC}-amd64,${IMG_BASE_SRC}-arm64"
- - export IMG_TAG_REFERENCE=${CLUSTER_AGENT_REPOSITORY}:${VERSION}
? ^^^^^^^^ ^^
+ - export IMG_DESTINATIONS="${CLUSTER_AGENT_REPOSITORY}:${VERSION}"
? +++ ++ ^^^ ^ + +
- dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
- job: deploy_containers-dca_internal
+ job: docker_build_cluster_agent_amd64
+ - artifacts: false
+ job: docker_build_cluster_agent_arm64
rules:
- if: $DEPLOY_AGENT != "true" && $DDR_WORKFLOW_ID == null
when: never
- if: ($DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null) && $BUCKET_BRANCH ==
"beta"
when: never
- if: $BUCKET_BRANCH != "beta" && $BUCKET_BRANCH != "stable"
when: never
- allow_failure: true
variables:
AGENT_REPOSITORY: ci/datadog-agent/agent-release
CLUSTER_AGENT_REPOSITORY: ci/datadog-agent/cluster-agent-release
DSD_REPOSITORY: ci/datadog-agent/dogstatsd-release
IMG_REGISTRIES: internal-aws-ddbuild
OTEL_AGENT_REPOSITORY: ci/datadog-agent/otel-agent-release
when: manual
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_dca
tags:
- arch:amd64
variables:
- IMG_NEW_TAGS: latest
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
+ VERSION: latest
deploy_containers-dca_internal-rc
deploy_containers-dca_internal-rc:
before_script:
- - VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
+ - if [[ "$VERSION" == "" ]]; then VERSION="$(dda inv agent.version --url-safe)"
- || exit $?
+ || exit $?; fi
? ++++
+ - if [[ "$CLUSTER_AGENT_REPOSITORY" == "" ]]; then export CLUSTER_AGENT_REPOSITORY="cluster-agent";
+ fi
+ - export IMG_BASE_SRC="${SRC_DCA}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
+ - export IMG_SOURCES="${IMG_BASE_SRC}-amd64,${IMG_BASE_SRC}-arm64"
- - export IMG_TAG_REFERENCE=${CLUSTER_AGENT_REPOSITORY}:${VERSION}
? ^^^^^^^^ ^^
+ - export IMG_DESTINATIONS="${CLUSTER_AGENT_REPOSITORY}:${VERSION}"
? +++ ++ ^^^ ^ + +
- dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
- job: deploy_containers-dca_internal
+ job: docker_build_cluster_agent_amd64
+ - artifacts: false
+ job: docker_build_cluster_agent_arm64
rules:
- if: $DEPLOY_AGENT != "true" && $DDR_WORKFLOW_ID == null
when: never
- if: ($DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null) && $BUCKET_BRANCH ==
"beta" && $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: ci/datadog-agent/agent-release
CLUSTER_AGENT_REPOSITORY: ci/datadog-agent/cluster-agent-release
DSD_REPOSITORY: ci/datadog-agent/dogstatsd-release
IMG_REGISTRIES: internal-aws-ddbuild
OTEL_AGENT_REPOSITORY: ci/datadog-agent/otel-agent-release
when: on_success
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_dca
tags:
- arch:amd64
variables:
- IMG_NEW_TAGS: rc
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
+ VERSION: rc
new-e2e-windows-agent-msi-windows-server-a7-x86_64
new-e2e-windows-agent-msi-windows-server-a7-x86_64:
after_script:
- $CI_PROJECT_DIR/tools/ci/junit_upload.sh "junit-${CI_JOB_ID}.tgz" "$E2E_RESULT_JSON"
artifacts:
expire_in: 2 weeks
paths:
- $E2E_OUTPUT_DIR
- $E2E_RESULT_JSON
- junit-*.tgz
reports:
annotations:
- $EXTERNAL_LINKS_PATH
when: always
before_script:
- WINDOWS_AGENT_VERSION=$(dda inv agent.version) || exit $?; export WINDOWS_AGENT_VERSION
- mkdir -p $GOPATH/pkg/mod/cache && tar xJf modcache_e2e.tar.xz -C $GOPATH/pkg/mod/cache
|| exit 101
- rm -f modcache_e2e.tar.xz
- mkdir -p ~/.aws
- "if [ -n \"$E2E_USE_AWS_PROFILE\" ]; then\n echo Using agent-qa-ci aws profile\n\
\ $CI_PROJECT_DIR/tools/ci/fetch_secret.sh $AGENT_QA_E2E profile >> ~/.aws/config\
\ || exit $?\n # Now all `aws` commands target the agent-qa profile\n export\
\ AWS_PROFILE=agent-qa-ci\nelse\n # Assume role to fetch only once credentials\
\ and avoid rate limits\n echo Assuming ddbuild-agent-ci role\n roleoutput=\"\
$(aws sts assume-role --role-arn arn:aws:iam::669783387624:role/ddbuild-agent-ci\
\ --external-id ddbuild-agent-ci --role-session-name RoleSession)\"\n export\
\ AWS_ACCESS_KEY_ID=\"$(echo \"$roleoutput\" | jq -r '.Credentials.AccessKeyId')\"\
\n export AWS_SECRET_ACCESS_KEY=\"$(echo \"$roleoutput\" | jq -r '.Credentials.SecretAccessKey')\"\
\n export AWS_SESSION_TOKEN=\"$(echo \"$roleoutput\" | jq -r '.Credentials.SessionToken')\"\
\nfi\n"
- $CI_PROJECT_DIR/tools/ci/fetch_secret.sh $AGENT_QA_E2E ssh_public_key_rsa > $E2E_AWS_PUBLIC_KEY_PATH
|| exit $?
- touch $E2E_AWS_PRIVATE_KEY_PATH && chmod 600 $E2E_AWS_PRIVATE_KEY_PATH && $CI_PROJECT_DIR/tools/ci/fetch_secret.sh
$AGENT_QA_E2E ssh_key_rsa > $E2E_AWS_PRIVATE_KEY_PATH || exit $?
- $CI_PROJECT_DIR/tools/ci/fetch_secret.sh $AGENT_QA_E2E ssh_public_key_rsa > $E2E_AZURE_PUBLIC_KEY_PATH
|| exit $?
- touch $E2E_AZURE_PRIVATE_KEY_PATH && chmod 600 $E2E_AZURE_PRIVATE_KEY_PATH &&
$CI_PROJECT_DIR/tools/ci/fetch_secret.sh $AGENT_QA_E2E ssh_key_rsa > $E2E_AZURE_PRIVATE_KEY_PATH
|| exit $?
- $CI_PROJECT_DIR/tools/ci/fetch_secret.sh $AGENT_QA_E2E ssh_public_key_rsa > $E2E_GCP_PUBLIC_KEY_PATH
|| exit $?
- touch $E2E_GCP_PRIVATE_KEY_PATH && chmod 600 $E2E_GCP_PRIVATE_KEY_PATH && $CI_PROJECT_DIR/tools/ci/fetch_secret.sh
$AGENT_QA_E2E ssh_key_rsa > $E2E_GCP_PRIVATE_KEY_PATH || exit $?
- pulumi login "s3://dd-pulumi-state?region=us-east-1&awssdk=v2&profile=$AWS_PROFILE"
- ARM_CLIENT_ID=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $E2E_AZURE client_id)
|| exit $?; export ARM_CLIENT_ID
- ARM_CLIENT_SECRET=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $E2E_AZURE token)
|| exit $?; export ARM_CLIENT_SECRET
- ARM_TENANT_ID=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $E2E_AZURE tenant_id)
|| exit $?; export ARM_TENANT_ID
- ARM_SUBSCRIPTION_ID=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $E2E_AZURE subscription_id)
|| exit $?; export ARM_SUBSCRIPTION_ID
- $CI_PROJECT_DIR/tools/ci/fetch_secret.sh $E2E_GCP credentials_json > ~/gcp-credentials.json
|| exit $?
- export GOOGLE_APPLICATION_CREDENTIALS=~/gcp-credentials.json
- dda inv -- -e gitlab.generate-ci-visibility-links --output=$EXTERNAL_LINKS_PATH
image: registry.ddbuild.io/ci/test-infra-definitions/runner$TEST_INFRA_DEFINITIONS_BUILDIMAGES_SUFFIX:$TEST_INFRA_DEFINITIONS_BUILDIMAGES
needs:
- go_e2e_deps
- deploy_windows_testing-a7
parallel:
matrix:
- E2E_MSI_TEST: TestInstall
- E2E_MSI_TEST: TestRepair
- E2E_MSI_TEST: TestUpgrade
- E2E_MSI_TEST: TestUpgradeFromLatest
- E2E_MSI_TEST: TestPersistingIntegrations
+ - E2E_MSI_TEST: TestPersistingIntegrationsDuringUninstall
- E2E_MSI_TEST: TestDisablePersistingIntegrations
- E2E_MSI_TEST: TestIntegrationFolderPermissions
- E2E_MSI_TEST: TestIntegrationRollback
- E2E_MSI_TEST: TestUpgradeRollback
- E2E_MSI_TEST: TestUpgradeRollbackWithoutCWS
- E2E_MSI_TEST: TestUpgradeChangeUser
- E2E_MSI_TEST: TestUpgradeFromV5
- E2E_MSI_TEST: TestAgentUser/user_only
- E2E_MSI_TEST: TestAgentUser/dotslash_user
- E2E_MSI_TEST: TestAgentUser/hostname_user
- E2E_MSI_TEST: TestAgentUser/LocalSystem
- E2E_MSI_TEST: TestAgentUser/SYSTEM
- E2E_MSI_TEST: TestInstallOpts
- E2E_MSI_TEST: TestSubServicesOpts/all-subservices
- E2E_MSI_TEST: TestSubServicesOpts/no-subservices
- E2E_MSI_TEST: TestInstallAltDir
- E2E_MSI_TEST: TestInstallExistingAltDir
- E2E_MSI_TEST: TestInstallAltDirAndCorruptForUninstall
- E2E_MSI_TEST: TestInstallFail
- E2E_MSI_TEST: TestInstallWithLanmanServerDisabled
- E2E_MSI_TEST: TestNPMUpgradeToNPM
- E2E_MSI_TEST: TestNPMUpgradeNPMToNPM
- E2E_MSI_TEST: TestNPMInstallWithAddLocal
- E2E_MSI_TEST: TestNPMUpgradeFromBeta
- E2E_MSI_TEST: TestUpgradeFromV6
rules:
- if: $DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null
- if: $RUN_E2E_TESTS == "off"
when: never
- if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
when: never
- if: $RUN_E2E_TESTS == "on"
when: on_success
- if: $CI_COMMIT_BRANCH == "main"
when: on_success
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\.[0-9]+\.x$/
when: on_success
- if: $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
when: on_success
- changes:
compare_to: $COMPARE_TO_BRANCH
paths:
- .gitlab/e2e/e2e.yml
- test/new-e2e/pkg/**/*
- test/new-e2e/go.mod
- flakes.yaml
- release.json
- changes:
compare_to: $COMPARE_TO_BRANCH
paths:
- tools/windows/DatadogAgentInstaller/**/*
- .gitlab/e2e_install_packages/windows.yml
- test/new-e2e/tests/windows/install-test/**/*
- test/new-e2e/tests/windows/domain-test/**/*
- tasks/msi.py
- omnibus/python-scripts/**/*
- omnibus/lib/**/*
- omnibus/config/projects/agent.rb
- omnibus/config/software/**/*
- omnibus/config/templates/**/*
- release.json
when: on_success
- if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
when: never
- allow_failure: true
when: manual
script:
- export LAST_STABLE_VERSION=$(dda inv release.get-release-json-value "last_stable::7"
--no-worktree)
- dda inv -- -e new-e2e-tests.run --local-package $CI_PROJECT_DIR/$OMNIBUS_BASE_DIR
--result-json $E2E_RESULT_JSON --targets $TARGETS -c ddagent:imagePullRegistry=669783387624.dkr.ecr.us-east-1.amazonaws.com
-c ddagent:imagePullUsername=AWS -c ddagent:imagePullPassword=$(aws ecr get-login-password)
--junit-tar junit-${CI_JOB_ID}.tgz ${EXTRA_PARAMS} --test-washer --logs-folder=$E2E_OUTPUT_DIR/logs
--logs-post-processing --logs-post-processing-test-depth=$E2E_LOGS_PROCESSING_TEST_DEPTH
stage: e2e_install_packages
tags:
- arch:amd64
timeout: 1h15m
variables:
AGENT_MAJOR_VERSION: 7
E2E_AWS_PRIVATE_KEY_PATH: /tmp/agent-qa-aws-ssh-key
E2E_AWS_PUBLIC_KEY_PATH: /tmp/agent-qa-aws-ssh-key.pub
E2E_AZURE_PRIVATE_KEY_PATH: /tmp/agent-qa-azure-ssh-key
E2E_AZURE_PUBLIC_KEY_PATH: /tmp/agent-qa-azure-ssh-key.pub
E2E_COMMIT_SHA: $CI_COMMIT_SHORT_SHA
E2E_GCP_PRIVATE_KEY_PATH: /tmp/agent-qa-gcp-ssh-key
E2E_GCP_PUBLIC_KEY_PATH: /tmp/agent-qa-gcp-ssh-key.pub
E2E_KEY_PAIR_NAME: datadog-agent-ci-rsa
E2E_LOGS_PROCESSING_TEST_DEPTH: 1
E2E_OUTPUT_DIR: $CI_PROJECT_DIR/e2e-output
E2E_PIPELINE_ID: $CI_PIPELINE_ID
E2E_RESULT_JSON: $CI_PROJECT_DIR/e2e_test_output.json
E2E_USE_AWS_PROFILE: 'true'
EXTERNAL_LINKS_PATH: external_links_$CI_JOB_ID.json
EXTRA_PARAMS: --run "$E2E_MSI_TEST$"
FLAKY_PATTERNS_CONFIG: $CI_PROJECT_DIR/flaky-patterns-runtime.yaml
KUBERNETES_CPU_REQUEST: 6
KUBERNETES_MEMORY_LIMIT: 16Gi
KUBERNETES_MEMORY_REQUEST: 12Gi
SHOULD_RUN_IN_FLAKES_FINDER: 'true'
TARGETS: ./tests/windows/install-test
TEAM: windows-agent
WINDOWS_AGENT_ARCH: x86_64
Removed Jobs
- .deploy_mutable_dca_tags-fips-base
- .deploy_mutable_dca_tags-base
- .deploy_mutable_cws-instrumentation_tags_base
Changes Summary
| Removed | Modified | Added | Renamed |
|---|---|---|---|
| 3 | 13 | 0 | 0 |
Updated: .gitlab/deploy_containers/deploy_containers_trigger.yml
Modified Jobs
.deploy_mutable_image_tags_7
.deploy_mutable_image_tags_7:
before_script:
- VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
|| exit $?
- export IMG_TAG_REFERENCE=${AGENT_REPOSITORY}:${VERSION}${SUFFIX}
- - if [[ -z "$IMG_NEW_TAGS" ]]; then IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
+ - if [[ -z "$IMG_NEW_TAGS" ]]; then export IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
? +++++++
dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_mutable_image_tags
tags:
- arch:amd64
variables:
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
TAG_BASE: '7'
.deploy_mutable_image_tags_7-rc
.deploy_mutable_image_tags_7-rc:
before_script:
- VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
|| exit $?
- export IMG_TAG_REFERENCE=${AGENT_REPOSITORY}:${VERSION}${SUFFIX}
- - if [[ -z "$IMG_NEW_TAGS" ]]; then IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
+ - if [[ -z "$IMG_NEW_TAGS" ]]; then export IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
? +++++++
dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_mutable_image_tags
tags:
- arch:amd64
variables:
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
TAG_BASE: 7-rc
.deploy_mutable_image_tags_base
.deploy_mutable_image_tags_base:
before_script:
- VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
|| exit $?
- export IMG_TAG_REFERENCE=${AGENT_REPOSITORY}:${VERSION}${SUFFIX}
- - if [[ -z "$IMG_NEW_TAGS" ]]; then IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
+ - if [[ -z "$IMG_NEW_TAGS" ]]; then export IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
? +++++++
dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_mutable_image_tags
tags:
- arch:amd64
variables:
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
deploy_mutable_image_tags-a7
deploy_mutable_image_tags-a7:
before_script:
- VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
|| exit $?
- export IMG_TAG_REFERENCE=${AGENT_REPOSITORY}:${VERSION}${SUFFIX}
- - if [[ -z "$IMG_NEW_TAGS" ]]; then IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
+ - if [[ -z "$IMG_NEW_TAGS" ]]; then export IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
? +++++++
dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
parallel:
matrix:
- IMG_NEW_TAGS:
- 7,latest
SUFFIX:
- ''
- IMG_NEW_TAGS:
- 7-jmx,latest-jmx
SUFFIX:
- -jmx
- IMG_NEW_TAGS:
- 7-servercore,latest-servercore
SUFFIX:
- -servercore
- IMG_NEW_TAGS:
- 7-servercore-jmx,latest-servercore-jmx
SUFFIX:
- -servercore-jmx
- IMG_NEW_TAGS:
- 7-ltsc2019,latest-ltsc2019
SUFFIX:
- -ltsc2019
- IMG_NEW_TAGS:
- 7-ltsc2022,latest-ltsc2022
SUFFIX:
- -ltsc2022
- IMG_NEW_TAGS:
- 7-servercore-ltsc2019,latest-servercore-ltsc2019
SUFFIX:
- -servercore-ltsc2019
- IMG_NEW_TAGS:
- 7-servercore-ltsc2022,latest-servercore-ltsc2022
SUFFIX:
- -servercore-ltsc2022
- IMG_NEW_TAGS:
- 7-servercore-ltsc2019-jmx,latest-servercore-ltsc2019-jmx
SUFFIX: -servercore-ltsc2019-jmx
- IMG_NEW_TAGS:
- 7-servercore-ltsc2022-jmx,latest-servercore-ltsc2022-jmx
SUFFIX:
- -servercore-ltsc2022-jmx
- IMG_NEW_TAGS:
- 7-full,latest-full
SUFFIX:
- -full
rules:
- if: $BUCKET_BRANCH == "beta"
when: never
- allow_failure: true
if: $BUCKET_BRANCH != "beta" && $BUCKET_BRANCH != "stable"
variables:
AGENT_REPOSITORY: agent-dev
DSD_REPOSITORY: dogstatsd-dev
IMG_REGISTRIES: dev
OTEL_AGENT_REPOSITORY: ddot-collector-dev
when: manual
- allow_failure: true
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: manual
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_mutable_image_tags
tags:
- arch:amd64
variables:
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
deploy_mutable_image_tags-a7-fips
deploy_mutable_image_tags-a7-fips:
before_script:
- VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
|| exit $?
- export IMG_TAG_REFERENCE=${AGENT_REPOSITORY}:${VERSION}${SUFFIX}
- - if [[ -z "$IMG_NEW_TAGS" ]]; then IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
+ - if [[ -z "$IMG_NEW_TAGS" ]]; then export IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
? +++++++
dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
parallel:
matrix:
- SUFFIX:
- -fips
- -fips-jmx
rules:
- if: $BUCKET_BRANCH == "beta"
when: never
- allow_failure: true
if: $BUCKET_BRANCH != "beta" && $BUCKET_BRANCH != "stable"
variables:
AGENT_REPOSITORY: agent-dev
DSD_REPOSITORY: dogstatsd-dev
IMG_REGISTRIES: dev
OTEL_AGENT_REPOSITORY: ddot-collector-dev
when: manual
- allow_failure: true
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: manual
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_mutable_image_tags
tags:
- arch:amd64
variables:
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
TAG_BASE: '7'
deploy_mutable_image_tags-a7-fips-rc
deploy_mutable_image_tags-a7-fips-rc:
before_script:
- VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
|| exit $?
- export IMG_TAG_REFERENCE=${AGENT_REPOSITORY}:${VERSION}${SUFFIX}
- - if [[ -z "$IMG_NEW_TAGS" ]]; then IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
+ - if [[ -z "$IMG_NEW_TAGS" ]]; then export IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
? +++++++
dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
job: deploy_containers-a7-fips
parallel:
matrix:
- SUFFIX:
- -fips
- -fips-jmx
rules:
- allow_failure: true
if: $FORCE_MANUAL == "true" && $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: manual
- if: $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: on_success
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_mutable_image_tags
tags:
- arch:amd64
variables:
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
TAG_BASE: 7-rc
deploy_mutable_image_tags-a7-fips_internal-rc
deploy_mutable_image_tags-a7-fips_internal-rc:
before_script:
- VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
|| exit $?
- export IMG_TAG_REFERENCE=${AGENT_REPOSITORY}:${VERSION}${SUFFIX}
- - if [[ -z "$IMG_NEW_TAGS" ]]; then IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
+ - if [[ -z "$IMG_NEW_TAGS" ]]; then export IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
? +++++++
dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
job: deploy_containers-a7-fips_internal-rc
parallel:
matrix:
- SUFFIX:
- -fips
- -fips-jmx
rules:
- allow_failure: true
if: $FORCE_MANUAL == "true" && $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: ci/datadog-agent/agent-release
CLUSTER_AGENT_REPOSITORY: ci/datadog-agent/cluster-agent-release
CWS_INSTRUMENTATION_REPOSITORY: ci/datadog-agent/cws-instrumentation-release
DSD_REPOSITORY: ci/datadog-agent/dogstatsd-release
IMG_REGISTRIES: internal-aws-ddbuild
OTEL_AGENT_REPOSITORY: ci/datadog-agent/otel-agent-release
when: manual
- if: $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: ci/datadog-agent/agent-release
CLUSTER_AGENT_REPOSITORY: ci/datadog-agent/cluster-agent-release
CWS_INSTRUMENTATION_REPOSITORY: ci/datadog-agent/cws-instrumentation-release
DSD_REPOSITORY: ci/datadog-agent/dogstatsd-release
IMG_REGISTRIES: internal-aws-ddbuild
OTEL_AGENT_REPOSITORY: ci/datadog-agent/otel-agent-release
when: on_success
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_mutable_image_tags
tags:
- arch:amd64
variables:
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
TAG_BASE: 7-rc
deploy_mutable_image_tags-a7-full-rc
deploy_mutable_image_tags-a7-full-rc:
before_script:
- VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
|| exit $?
- export IMG_TAG_REFERENCE=${AGENT_REPOSITORY}:${VERSION}${SUFFIX}
- - if [[ -z "$IMG_NEW_TAGS" ]]; then IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
+ - if [[ -z "$IMG_NEW_TAGS" ]]; then export IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
? +++++++
dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
job: deploy_containers-a7-full
parallel:
matrix:
- SUFFIX:
- -full
rules:
- allow_failure: true
if: $FORCE_MANUAL == "true" && $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: manual
- if: $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: on_success
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_mutable_image_tags
tags:
- arch:amd64
variables:
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
TAG_BASE: 7-rc
deploy_mutable_image_tags-a7-rc
deploy_mutable_image_tags-a7-rc:
before_script:
- VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
|| exit $?
- export IMG_TAG_REFERENCE=${AGENT_REPOSITORY}:${VERSION}${SUFFIX}
- - if [[ -z "$IMG_NEW_TAGS" ]]; then IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
+ - if [[ -z "$IMG_NEW_TAGS" ]]; then export IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
? +++++++
dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
job: deploy_containers-a7
parallel:
matrix:
- SUFFIX:
- ''
- -jmx
- -servercore
- -servercore-jmx
- -linux
- -linux-jmx
rules:
- allow_failure: true
if: $FORCE_MANUAL == "true" && $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: manual
- if: $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: on_success
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_mutable_image_tags
tags:
- arch:amd64
variables:
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
TAG_BASE: 7-rc
deploy_mutable_image_tags-a7-win-only-rc
deploy_mutable_image_tags-a7-win-only-rc:
before_script:
- VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
|| exit $?
- export IMG_TAG_REFERENCE=${AGENT_REPOSITORY}:${VERSION}${SUFFIX}
- - if [[ -z "$IMG_NEW_TAGS" ]]; then IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
+ - if [[ -z "$IMG_NEW_TAGS" ]]; then export IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
? +++++++
dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
job: deploy_containers-a7-win-only
parallel:
matrix:
- SUFFIX:
- -ltsc2019
- -servercore-ltsc2019
- -ltsc2022
- -servercore-ltsc2022
- -ltsc2019-jmx
- -servercore-ltsc2019-jmx
- -ltsc2022-jmx
- -servercore-ltsc2022-jmx
rules:
- allow_failure: true
if: $FORCE_MANUAL == "true" && $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: manual
- if: $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: agent
DSD_REPOSITORY: dogstatsd
IMG_REGISTRIES: public
OTEL_AGENT_REPOSITORY: ddot-collector
when: on_success
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_mutable_image_tags
tags:
- arch:amd64
variables:
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
TAG_BASE: 7-rc
deploy_mutable_image_tags-a7_internal
deploy_mutable_image_tags-a7_internal:
before_script:
- VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
|| exit $?
- export IMG_TAG_REFERENCE=${AGENT_REPOSITORY}:${VERSION}${SUFFIX}
- - if [[ -z "$IMG_NEW_TAGS" ]]; then IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
+ - if [[ -z "$IMG_NEW_TAGS" ]]; then export IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
? +++++++
dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
parallel:
matrix:
- SUFFIX:
- -jmx
- -full
- -fips-jmx
rules:
- if: $BUCKET_BRANCH == "beta"
when: never
- if: $BUCKET_BRANCH != "beta" && $BUCKET_BRANCH != "stable"
when: never
- allow_failure: true
if: $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+$/
variables:
AGENT_REPOSITORY: ci/datadog-agent/agent-release
CLUSTER_AGENT_REPOSITORY: ci/datadog-agent/cluster-agent-release
CWS_INSTRUMENTATION_REPOSITORY: ci/datadog-agent/cws-instrumentation-release
DSD_REPOSITORY: ci/datadog-agent/dogstatsd-release
IMG_REGISTRIES: internal-aws-ddbuild
OTEL_AGENT_REPOSITORY: ci/datadog-agent/otel-agent-release
when: manual
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_mutable_image_tags
tags:
- arch:amd64
variables:
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
TAG_BASE: '7'
deploy_mutable_image_tags-a7_internal-rc
deploy_mutable_image_tags-a7_internal-rc:
before_script:
- VERSION="$(dda inv -- agent.version --url-safe --pipeline-id $PARENT_PIPELINE_ID)"
|| exit $?
- export IMG_TAG_REFERENCE=${AGENT_REPOSITORY}:${VERSION}${SUFFIX}
- - if [[ -z "$IMG_NEW_TAGS" ]]; then IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
+ - if [[ -z "$IMG_NEW_TAGS" ]]; then export IMG_NEW_TAGS=${TAG_BASE}${SUFFIX}; fi
? +++++++
dependencies: []
image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$CI_IMAGE_DOCKER_X64_SUFFIX:$CI_IMAGE_DOCKER_X64
needs:
- artifacts: false
job: deploy_containers-a7_internal-rc
parallel:
matrix:
- SUFFIX:
- ''
rules:
- allow_failure: true
if: $FORCE_MANUAL == "true" && $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: ci/datadog-agent/agent-release
CLUSTER_AGENT_REPOSITORY: ci/datadog-agent/cluster-agent-release
CWS_INSTRUMENTATION_REPOSITORY: ci/datadog-agent/cws-instrumentation-release
DSD_REPOSITORY: ci/datadog-agent/dogstatsd-release
IMG_REGISTRIES: internal-aws-ddbuild
OTEL_AGENT_REPOSITORY: ci/datadog-agent/otel-agent-release
when: manual
- if: $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/
variables:
AGENT_REPOSITORY: ci/datadog-agent/agent-release
CLUSTER_AGENT_REPOSITORY: ci/datadog-agent/cluster-agent-release
CWS_INSTRUMENTATION_REPOSITORY: ci/datadog-agent/cws-instrumentation-release
DSD_REPOSITORY: ci/datadog-agent/dogstatsd-release
IMG_REGISTRIES: internal-aws-ddbuild
OTEL_AGENT_REPOSITORY: ci/datadog-agent/otel-agent-release
when: on_success
script:
- GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
|| exit $?; export GITLAB_TOKEN
- "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMG_SOURCES\" =~ \"$SRC_AGENT\"\
\ || \"$IMG_SOURCES\" =~ \"$SRC_DCA\" || \"$IMG_SOURCES\" =~ \"$SRC_CWS_INSTRUMENTATION\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_AGENT\" || \"$IMG_VARIABLES\" =~ \"$SRC_DCA\"\
\ || \"$IMG_VARIABLES\" =~ \"$SRC_CWS_INSTRUMENTATION\" ) ]]; then\n export ECR_RELEASE_SUFFIX=\"\
-nightly\"\nelse\n export ECR_RELEASE_SUFFIX=\"${CI_COMMIT_TAG+-release}\"\n\
fi\n"
- IMG_VARIABLES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_VARIABLES")"
- IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_OTEL_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
<<<"$IMG_SOURCES")"
- dda inv pipeline.trigger-child-pipeline --project-name DataDog/public-images --git-ref
main --timeout 1800 --variable IMG_VARIABLES --variable IMG_REGISTRIES --variable
IMG_SOURCES --variable IMG_DESTINATIONS --variable IMG_TAG_REFERENCE --variable
IMG_NEW_TAGS --variable IMG_SIGNING --variable APPS --variable BAZEL_TARGET --variable
DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
stage: deploy_mutable_image_tags
tags:
- arch:amd64
variables:
IMG_SIGNING: ''
IMG_VARIABLES: ''
SRC_AGENT: registry.ddbuild.io/ci/datadog-agent/agent
SRC_CWS_INSTRUMENTATION: registry.ddbuild.io/ci/datadog-agent/cws-instrumentation
SRC_DCA: registry.ddbuild.io/ci/datadog-agent/cluster-agent
SRC_DSD: registry.ddbuild.io/ci/datadog-agent/dogstatsd
SRC_OTEL_AGENT: registry.ddbuild.io/ci/datadog-agent/otel-agent
TAG_BASE: 7-rc
Changes Summary
| Removed | Modified | Added | Renamed |
|---|---|---|---|
| 0 | 12 | 0 | 0 |
:information_source: Diff available in the job log.
Uncompressed package size comparison
Comparison with ancestor 42097200d2364aeb52089033dc7c4cf6ac44f180
Diff per package
| package | diff | status | size | ancestor | threshold |
|---|---|---|---|---|---|
| datadog-agent-x86_64-rpm | 0.42MB | ⚠️ | 783.34MB | 782.92MB | 0.50MB |
| datadog-agent-x86_64-suse | 0.42MB | ⚠️ | 783.34MB | 782.92MB | 0.50MB |
| datadog-agent-amd64-deb | 0.42MB | ⚠️ | 774.39MB | 773.97MB | 0.50MB |
| datadog-agent-arm64-deb | 0.40MB | ⚠️ | 760.48MB | 760.08MB | 0.50MB |
| datadog-agent-aarch64-rpm | 0.40MB | ⚠️ | 769.41MB | 769.00MB | 0.50MB |
| datadog-heroku-agent-amd64-deb | 0.24MB | ⚠️ | 380.88MB | 380.65MB | 0.50MB |
| datadog-iot-agent-amd64-deb | 0.15MB | ⚠️ | 62.95MB | 62.80MB | 0.50MB |
| datadog-iot-agent-x86_64-rpm | 0.14MB | ⚠️ | 63.03MB | 62.88MB | 0.50MB |
| datadog-iot-agent-x86_64-suse | 0.14MB | ⚠️ | 63.03MB | 62.88MB | 0.50MB |
| datadog-iot-agent-aarch64-rpm | 0.14MB | ⚠️ | 59.59MB | 59.45MB | 0.50MB |
| datadog-iot-agent-arm64-deb | 0.14MB | ⚠️ | 59.51MB | 59.37MB | 0.50MB |
| datadog-dogstatsd-amd64-deb | 0.13MB | ⚠️ | 32.11MB | 31.99MB | 0.50MB |
| datadog-dogstatsd-x86_64-rpm | 0.13MB | ⚠️ | 32.20MB | 32.07MB | 0.50MB |
| datadog-dogstatsd-x86_64-suse | 0.13MB | ⚠️ | 32.20MB | 32.07MB | 0.50MB |
| datadog-dogstatsd-arm64-deb | 0.12MB | ⚠️ | 30.59MB | 30.47MB | 0.50MB |
Decision
⚠️ Warning
Regression Detector
Regression Detector Results
Metrics dashboard
Target profiles
Run ID: 847bdc3a-9041-49ae-9dfc-ec72ff192d70
Baseline: 076aadc2b85286a11f39a969a6e9e8cb084c6a14 Comparison: a3c433b11a602261dece71f8bfc4f2ac5a11882f Diff
Optimization Goals: ✅ No significant changes detected
Fine details of change detection per experiment
| perf | experiment | goal | Δ mean % | Δ mean % CI | trials | links |
|---|---|---|---|---|---|---|
| ➖ | quality_gate_logs | % cpu utilization | +3.36 | [+0.55, +6.18] | 1 | Logs bounds checks dashboard |
| ➖ | docker_containers_cpu | % cpu utilization | +1.38 | [-1.62, +4.38] | 1 | Logs |
| ➖ | uds_dogstatsd_to_api_cpu | % cpu utilization | +1.16 | [+0.29, +2.03] | 1 | Logs |
| ➖ | otlp_ingest_logs | memory utilization | +1.07 | [+0.94, +1.20] | 1 | Logs |
| ➖ | uds_dogstatsd_20mb_12k_contexts_20_senders | memory utilization | +1.02 | [+0.95, +1.09] | 1 | Logs |
| ➖ | otlp_ingest_metrics | memory utilization | +0.99 | [+0.83, +1.16] | 1 | Logs |
| ➖ | ddot_metrics | memory utilization | +0.81 | [+0.69, +0.92] | 1 | Logs |
| ➖ | quality_gate_idle | memory utilization | +0.62 | [+0.55, +0.69] | 1 | Logs bounds checks dashboard |
| ➖ | quality_gate_idle_all_features | memory utilization | +0.21 | [+0.09, +0.34] | 1 | Logs bounds checks dashboard |
| ➖ | file_to_blackhole_100ms_latency | egress throughput | +0.07 | [-0.54, +0.69] | 1 | Logs |
| ➖ | ddot_logs | memory utilization | +0.07 | [-0.05, +0.19] | 1 | Logs |
| ➖ | file_to_blackhole_500ms_latency | egress throughput | +0.05 | [-0.60, +0.69] | 1 | Logs |
| ➖ | file_to_blackhole_0ms_latency_http2 | egress throughput | +0.04 | [-0.51, +0.59] | 1 | Logs |
| ➖ | file_to_blackhole_0ms_latency | egress throughput | +0.03 | [-0.56, +0.62] | 1 | Logs |
| ➖ | uds_dogstatsd_to_api | ingress throughput | +0.01 | [-0.28, +0.29] | 1 | Logs |
| ➖ | file_to_blackhole_0ms_latency_http1 | egress throughput | -0.00 | [-0.58, +0.57] | 1 | Logs |
| ➖ | tcp_dd_logs_filter_exclude | ingress throughput | -0.00 | [-0.01, +0.01] | 1 | Logs |
| ➖ | file_to_blackhole_300ms_latency | egress throughput | -0.01 | [-0.58, +0.56] | 1 | Logs |
| ➖ | file_to_blackhole_1000ms_latency_linear_load | egress throughput | -0.04 | [-0.28, +0.19] | 1 | Logs |
| ➖ | file_to_blackhole_1000ms_latency | egress throughput | -0.08 | [-0.67, +0.51] | 1 | Logs |
| ➖ | file_tree | memory utilization | -0.20 | [-0.40, +0.01] | 1 | Logs |
| ➖ | docker_containers_memory | memory utilization | -0.39 | [-0.45, -0.33] | 1 | Logs |
| ➖ | tcp_syslog_to_blackhole | ingress throughput | -3.61 | [-3.65, -3.56] | 1 | Logs |
Bounds Checks: ❌ Failed
| perf | experiment | bounds_check_name | replicates_passed | links |
|---|---|---|---|---|
| ❌ | docker_containers_cpu | simple_check_run | 0/10 | |
| ❌ | docker_containers_memory | simple_check_run | 0/10 | |
| ✅ | docker_containers_memory | memory_usage | 10/10 | |
| ✅ | file_to_blackhole_0ms_latency | lost_bytes | 10/10 | |
| ✅ | file_to_blackhole_0ms_latency | memory_usage | 10/10 | |
| ✅ | file_to_blackhole_0ms_latency_http1 | lost_bytes | 10/10 | |
| ✅ | file_to_blackhole_0ms_latency_http1 | memory_usage | 10/10 | |
| ✅ | file_to_blackhole_0ms_latency_http2 | lost_bytes | 10/10 | |
| ✅ | file_to_blackhole_0ms_latency_http2 | memory_usage | 10/10 | |
| ✅ | file_to_blackhole_1000ms_latency | memory_usage | 10/10 | |
| ✅ | file_to_blackhole_1000ms_latency_linear_load | memory_usage | 10/10 | |
| ✅ | file_to_blackhole_100ms_latency | lost_bytes | 10/10 | |
| ✅ | file_to_blackhole_100ms_latency | memory_usage | 10/10 | |
| ✅ | file_to_blackhole_300ms_latency | lost_bytes | 10/10 | |
| ✅ | file_to_blackhole_300ms_latency | memory_usage | 10/10 | |
| ✅ | file_to_blackhole_500ms_latency | lost_bytes | 10/10 | |
| ✅ | file_to_blackhole_500ms_latency | memory_usage | 10/10 | |
| ✅ | quality_gate_idle | intake_connections | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_idle | memory_usage | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_idle_all_features | intake_connections | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_idle_all_features | memory_usage | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_logs | intake_connections | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_logs | lost_bytes | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_logs | memory_usage | 10/10 | bounds checks dashboard |
Explanation
Confidence level: 90.00% Effect size tolerance: |Δ mean %| ≥ 5.00%
Performance changes are noted in the perf column of each table:
- ✅ = significantly better comparison variant performance
- ❌ = significantly worse comparison variant performance
- ➖ = no significant change in performance
A regression test is an A/B test of target performance in a repeatable rig, where "performance" is measured as "comparison variant minus baseline variant" for an optimization goal (e.g., ingress throughput). Due to intrinsic variability in measuring that goal, we can only estimate its mean value for each experiment; we report uncertainty in that value as a 90.00% confidence interval denoted "Δ mean % CI".
For each experiment, we decide whether a change in performance is a "regression" -- a change worth investigating further -- if all of the following criteria are true:
-
Its estimated |Δ mean %| ≥ 5.00%, indicating the change is big enough to merit a closer look.
-
Its 90.00% confidence interval "Δ mean % CI" does not contain zero, indicating that if our statistical model is accurate, there is at least a 90.00% chance there is a difference in performance between baseline and comparison variants.
-
Its configuration does not mark it "erratic".
CI Pass/Fail Decision
✅ Passed. All Quality Gates passed.
- quality_gate_idle, bounds check intake_connections: 10/10 replicas passed. Gate passed.
- quality_gate_idle, bounds check memory_usage: 10/10 replicas passed. Gate passed.
- quality_gate_logs, bounds check intake_connections: 10/10 replicas passed. Gate passed.
- quality_gate_logs, bounds check memory_usage: 10/10 replicas passed. Gate passed.
- quality_gate_logs, bounds check lost_bytes: 10/10 replicas passed. Gate passed.
- quality_gate_idle_all_features, bounds check intake_connections: 10/10 replicas passed. Gate passed.
- quality_gate_idle_all_features, bounds check memory_usage: 10/10 replicas passed. Gate passed.
Static quality checks
❌ Please find below the results from static quality gates Comparison made with ancestor d9bfd7f8b48a1f4bbc4e31e997f1e981695d7c03
Error
| Quality gate | Delta | On disk size (MiB) | Delta | On wire size (MiB) | |
|---|---|---|---|---|---|
| ❌ | docker_cws_instrumentation_amd64 | $${+0.49}$$ | $${7.57}$$ > $${7.12}$$ | $${+0.23}$$ | $${3.18}$$ < $${3.29}$$ |
| ❌ | docker_cws_instrumentation_arm64 | $${+0.37}$$ | $${7.06}$$ > $${6.92}$$ | $${+0.18}$$ | $${2.88}$$ < $${3.07}$$ |
| ❌ | docker_dogstatsd_amd64 | $${+0.51}$$ | $${39.73}$$ > $${39.57}$$ | $${+0.25}$$ | $${15.37}$$ < $${15.76}$$ |
Gate failure full details
| Quality gate | Error type | Error message |
|---|---|---|
| docker_cws_instrumentation_amd64 | AssertionError | Image size on disk (uncompressed image size) 7939903 is higher than the maximum allowed 7465861 by the gate ! |
| docker_cws_instrumentation_arm64 | AssertionError | Image size on disk (uncompressed image size) 7407423 is higher than the maximum allowed 7256145 by the gate ! |
| docker_dogstatsd_amd64 | AssertionError | Image size on disk (uncompressed image size) 41657932 is higher than the maximum allowed 41492152 by the gate ! |
Static quality gates prevent the PR to merge! You can check the static quality gates confluence page for guidance. We also have a toolbox page available to list tools useful to debug the size increase.
Successful checks
Info
| Quality gate | Delta | On disk size (MiB) | Delta | On wire size (MiB) | |
|---|---|---|---|---|---|
| ✅ | agent_deb_amd64 | $${+3.22}$$ | $${699.64}$$ < $${752.99}$$ | $${+1.08}$$ | $${177.16}$$ < $${187.44}$$ |
| ✅ | agent_deb_amd64_fips | $${+0.08}$$ | $${694.72}$$ < $${751.36}$$ | $${-0.03}$$ | $${175.53}$$ < $${187.06}$$ |
| ✅ | agent_heroku_amd64 | $${+1.1}$$ | $${359.81}$$ < $${369.68}$$ | $${+0.35}$$ | $${96.87}$$ < $${99.55}$$ |
| ✅ | agent_msi | $${+0.01}$$ | $${958.91}$$ < $${987.01}$$ | $${-0.03}$$ | $${146.28}$$ < $${150.72}$$ |
| ✅ | agent_rpm_amd64 | $${+3.22}$$ | $${699.62}$$ < $${752.98}$$ | $${+1.22}$$ | $${178.83}$$ < $${190.03}$$ |
| ✅ | agent_rpm_amd64_fips | $${+0.08}$$ | $${694.71}$$ < $${751.35}$$ | $${+0.05}$$ | $${177.52}$$ < $${189.81}$$ |
| ✅ | agent_rpm_arm64 | $${-0.63}$$ | $${685.79}$$ < $${739.42}$$ | $${+0.56}$$ | $${161.59}$$ < $${171.23}$$ |
| ✅ | agent_rpm_arm64_fips | $${+0.07}$$ | $${684.83}$$ < $${737.91}$$ | $${+0.01}$$ | $${160.17}$$ < $${170.22}$$ |
| ✅ | agent_suse_amd64 | $${+3.22}$$ | $${699.62}$$ < $${752.98}$$ | $${+1.22}$$ | $${178.83}$$ < $${190.03}$$ |
| ✅ | agent_suse_amd64_fips | $${+0.08}$$ | $${694.71}$$ < $${751.35}$$ | $${+0.05}$$ | $${177.52}$$ < $${189.81}$$ |
| ✅ | agent_suse_arm64 | $${-0.63}$$ | $${685.79}$$ < $${739.42}$$ | $${+0.56}$$ | $${161.59}$$ < $${171.23}$$ |
| ✅ | agent_suse_arm64_fips | $${+0.07}$$ | $${684.83}$$ < $${737.91}$$ | $${+0.01}$$ | $${160.17}$$ < $${170.22}$$ |
| ✅ | docker_agent_amd64 | $${+3.22}$$ | $${783.43}$$ < $${849.39}$$ | $${+1.59}$$ | $${270.26}$$ < $${288.34}$$ |
| ✅ | docker_agent_arm64 | $${-0.63}$$ | $${793.04}$$ < $${858.97}$$ | $${+0.45}$$ | $${256.49}$$ < $${274.36}$$ |
| ✅ | docker_agent_jmx_amd64 | $${+3.22}$$ | $${974.62}$$ < $${1040.59}$$ | $${+1.59}$$ | $${339.24}$$ < $${357.3}$$ |
| ✅ | docker_agent_jmx_arm64 | $${-0.63}$$ | $${972.83}$$ < $${1038.77}$$ | $${+0.4}$$ | $${321.42}$$ < $${339.32}$$ |
| ✅ | docker_agent_windows1809 | $${-0.06}$$ | $${1487.01}$$ < $${1557.19}$$ | $${-0.02}$$ | $${487.97}$$ < $${507.33}$$ |
| ✅ | docker_agent_windows1809_core | $${+0.01}$$ | $${6217.04}$$ < $${6287.46}$$ | $${0}$$ | $${2048.0}$$ < $${2067.76}$$ |
| ✅ | docker_agent_windows1809_core_jmx | $${-0.19}$$ | $${6338.61}$$ < $${6409.04}$$ | $${0}$$ | $${2048.0}$$ < $${2067.76}$$ |
| ✅ | docker_agent_windows1809_jmx | $${+0.01}$$ | $${1608.71}$$ < $${1679.14}$$ | $${+0.03}$$ | $${530.39}$$ < $${550.27}$$ |
| ✅ | docker_agent_windows2022 | $${+0.2}$$ | $${1506.37}$$ < $${1576.85}$$ | $${-0}$$ | $${500.74}$$ < $${520.76}$$ |
| ✅ | docker_agent_windows2022_core | $${+0.04}$$ | $${6190.13}$$ < $${6260.53}$$ | $${0}$$ | $${2048.0}$$ < $${2067.76}$$ |
| ✅ | docker_agent_windows2022_core_jmx | $${-0.02}$$ | $${6311.74}$$ < $${6382.17}$$ | $${0}$$ | $${2048.0}$$ < $${2067.76}$$ |
| ✅ | docker_agent_windows2022_jmx | $${+0.01}$$ | $${1627.96}$$ < $${1698.2}$$ | $${-0.02}$$ | $${543.01}$$ < $${562.99}$$ |
| ✅ | docker_cluster_agent_amd64 | $${+1.48}$$ | $${214.31}$$ < $${259.73}$$ | $${+0.76}$$ | $${73.14}$$ < $${103.68}$$ |
| ✅ | docker_cluster_agent_arm64 | $${-0.68}$$ | $${228.0}$$ < $${274.24}$$ | $${+0.25}$$ | $${68.9}$$ < $${98.45}$$ |
| ✅ | docker_dogstatsd_arm64 | $${+0.08}$$ | $${37.96}$$ < $${38.2}$$ | $${+0.11}$$ | $${14.65}$$ < $${14.83}$$ |
| ✅ | dogstatsd_deb_amd64 | $${+0.51}$$ | $${30.96}$$ < $${31.52}$$ | $${+0.2}$$ | $${8.19}$$ < $${8.97}$$ |
| ✅ | dogstatsd_deb_arm64 | $${+0.09}$$ | $${29.1}$$ < $${30.08}$$ | $${+0.12}$$ | $${7.06}$$ < $${7.92}$$ |
| ✅ | dogstatsd_rpm_amd64 | $${+0.51}$$ | $${30.96}$$ < $${31.52}$$ | $${+0.2}$$ | $${8.2}$$ < $${8.98}$$ |
| ✅ | dogstatsd_suse_amd64 | $${+0.51}$$ | $${30.96}$$ < $${31.52}$$ | $${+0.2}$$ | $${8.2}$$ < $${8.98}$$ |
| ✅ | iot_agent_deb_amd64 | $${+0.55}$$ | $${50.97}$$ < $${60.17}$$ | $${+0.2}$$ | $${13.04}$$ < $${15.82}$$ |
| ✅ | iot_agent_deb_arm64 | $${-0.22}$$ | $${47.67}$$ < $${56.94}$$ | $${+0.08}$$ | $${11.22}$$ < $${13.86}$$ |
| ✅ | iot_agent_deb_armhf | $${+0.59}$$ | $${48.06}$$ < $${56.41}$$ | $${+0.2}$$ | $${11.4}$$ < $${13.86}$$ |
| ✅ | iot_agent_rpm_amd64 | $${+0.55}$$ | $${50.97}$$ < $${60.18}$$ | $${+0.2}$$ | $${13.06}$$ < $${15.84}$$ |
| ✅ | iot_agent_rpm_arm64 | $${-0.22}$$ | $${47.67}$$ < $${56.94}$$ | $${+0.08}$$ | $${11.24}$$ < $${13.76}$$ |
| ✅ | iot_agent_suse_amd64 | $${+0.55}$$ | $${50.97}$$ < $${60.18}$$ | $${+0.2}$$ | $${13.06}$$ < $${15.84}$$ |
Serverless Benchmark Results
BenchmarkStartEndInvocation comparison between fae77ad64e987796a509483eedc4ac3a3dd871f6 and b6ab21d06a787a892e758e10a64be91f7c721be4.
tl;dr
Use these benchmarks as an insight tool during development.
-
Skim down the
vs basecolumn in each chart. If there is a~, then there was no statistically significant change to the benchmark. Otherwise, ensure the estimated percent change is either negative or very small. -
The last row of each chart is the
geomean. Ensure this percentage is either negative or very small.
What is this benchmarking?
The BenchmarkStartEndInvocation compares the amount of time it takes to call the start-invocation and end-invocation endpoints. For universal instrumentation languages (Dotnet, Golang, Java, Ruby), this represents the majority of the duration overhead added by our tracing layer.
The benchmark is run using a large variety of lambda request payloads. In the charts below, there is one row for each event payload type.
How do I interpret these charts?
The charts below comes from benchstat. They represent the statistical change in duration (sec/op), memory overhead (B/op), and allocations (allocs/op).
The benchstat docs explain how to interpret these charts.
Before the comparison table, we see common file-level configuration. If there are benchmarks with different configuration (for example, from different packages), benchstat will print separate tables for each configuration.
The table then compares the two input files for each benchmark. It shows the median and 95% confidence interval summaries for each benchmark before and after the change, and an A/B comparison under "vs base". ... The p-value measures how likely it is that any differences were due to random chance (i.e., noise). The "~" means benchstat did not detect a statistically significant difference between the two inputs. ...
Note that "statistically significant" is not the same as "large": with enough low-noise data, even very small changes can be distinguished from noise and considered statistically significant. It is, of course, generally easier to distinguish large changes from noise.
Finally, the last row of the table shows the geometric mean of each column, giving an overall picture of how the benchmarks changed. Proportional changes in the geomean reflect proportional changes in the benchmarks. For example, given n benchmarks, if sec/op for one of them increases by a factor of 2, then the sec/op geomean will increase by a factor of ⁿ√2.
I need more help
First off, do not worry if the benchmarks are failing. They are not tests. The intention is for them to be a tool for you to use during development.
If you would like a hand interpreting the results come chat with us in #serverless-agent in the internal DataDog slack or in #serverless in the public DataDog slack. We're happy to help!
Benchmark stats