Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add foundations for FIPS flavor #31004

Merged
merged 30 commits into from
Nov 28, 2024

Conversation

Kaderinho
Copy link
Contributor

@Kaderinho Kaderinho commented Nov 12, 2024

What does this PR do?

This PR adds jobs to create a new Agent package with FIPS support.

Motivation

Merge foundations to be able to work in parallel on different features

Describe how to test/QA your changes

This will be thoroughly tested in future PR where we're gonna

  • run all e2e tests
  • run specific FIPS tests
  • deploy internally (which was done as well for this PR)

Possible Drawbacks / Trade-offs

Additional Notes

We don't release the package publicly for now and this work should not impact the main Agent so the temporary lack of testing should not be a problem here.

Signed-off-by: Nicolas Guerguadj <nicolas.guerguadj@datadoghq.com>
Signed-off-by: Nicolas Guerguadj <nicolas.guerguadj@datadoghq.com>
…uild FIPS package

Signed-off-by: Nicolas Guerguadj <nicolas.guerguadj@datadoghq.com>
Signed-off-by: Nicolas Guerguadj <nicolas.guerguadj@datadoghq.com>
Signed-off-by: Nicolas Guerguadj <nicolas.guerguadj@datadoghq.com>
Signed-off-by: Nicolas Guerguadj <nicolas.guerguadj@datadoghq.com>
…lling package

Signed-off-by: Nicolas Guerguadj <nicolas.guerguadj@datadoghq.com>
Signed-off-by: Nicolas Guerguadj <nicolas.guerguadj@datadoghq.com>
Signed-off-by: Nicolas Guerguadj <nicolas.guerguadj@datadoghq.com>
Signed-off-by: Nicolas Guerguadj <nicolas.guerguadj@datadoghq.com>
Signed-off-by: Nicolas Guerguadj <nicolas.guerguadj@datadoghq.com>
@Kaderinho Kaderinho force-pushed the nicolas.guerguadj/fips-agent-new-package branch from bb61eb5 to 7d943b0 Compare November 13, 2024 14:35
@agent-platform-auto-pr
Copy link
Contributor

agent-platform-auto-pr bot commented Nov 13, 2024

Gitlab CI Configuration Changes

Modified Jobs

variables (configuration)
  variables:
    AGENT_API_KEY_ORG2: agent-api-key-org-2
    AGENT_APP_KEY_ORG2: agent-ci-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: v48372186-ff395e52
+   CI_IMAGE_BTF_GEN: v48815877-9bfad02c
    CI_IMAGE_BTF_GEN_SUFFIX: ''
-   CI_IMAGE_DD_AGENT_TESTING: v48372186-ff395e52
+   CI_IMAGE_DD_AGENT_TESTING: v48815877-9bfad02c
    CI_IMAGE_DD_AGENT_TESTING_SUFFIX: ''
-   CI_IMAGE_DEB_ARM64: v48372186-ff395e52
+   CI_IMAGE_DEB_ARM64: v48815877-9bfad02c
    CI_IMAGE_DEB_ARM64_SUFFIX: ''
-   CI_IMAGE_DEB_ARMHF: v48372186-ff395e52
+   CI_IMAGE_DEB_ARMHF: v48815877-9bfad02c
    CI_IMAGE_DEB_ARMHF_SUFFIX: ''
-   CI_IMAGE_DEB_X64: v48372186-ff395e52
+   CI_IMAGE_DEB_X64: v48815877-9bfad02c
    CI_IMAGE_DEB_X64_SUFFIX: ''
-   CI_IMAGE_DOCKER_ARM64: v48372186-ff395e52
+   CI_IMAGE_DOCKER_ARM64: v48815877-9bfad02c
    CI_IMAGE_DOCKER_ARM64_SUFFIX: ''
-   CI_IMAGE_DOCKER_X64: v48372186-ff395e52
+   CI_IMAGE_DOCKER_X64: v48815877-9bfad02c
    CI_IMAGE_DOCKER_X64_SUFFIX: ''
-   CI_IMAGE_GITLAB_AGENT_DEPLOY: v48372186-ff395e52
+   CI_IMAGE_GITLAB_AGENT_DEPLOY: v48815877-9bfad02c
    CI_IMAGE_GITLAB_AGENT_DEPLOY_SUFFIX: ''
-   CI_IMAGE_LINUX_GLIBC_2_17_X64: v48372186-ff395e52
+   CI_IMAGE_LINUX_GLIBC_2_17_X64: v48815877-9bfad02c
    CI_IMAGE_LINUX_GLIBC_2_17_X64_SUFFIX: ''
-   CI_IMAGE_LINUX_GLIBC_2_23_ARM64: v48372186-ff395e52
?                                       ^  ^^^^^^^^^^^^
+   CI_IMAGE_LINUX_GLIBC_2_23_ARM64: v48815877-9bfad02c
?                                       ^^^^ ++++++++ ^
    CI_IMAGE_LINUX_GLIBC_2_23_ARM64_SUFFIX: ''
-   CI_IMAGE_RPM_ARM64: v48372186-ff395e52
+   CI_IMAGE_RPM_ARM64: v48815877-9bfad02c
    CI_IMAGE_RPM_ARM64_SUFFIX: ''
-   CI_IMAGE_RPM_ARMHF: v48372186-ff395e52
+   CI_IMAGE_RPM_ARMHF: v48815877-9bfad02c
    CI_IMAGE_RPM_ARMHF_SUFFIX: ''
-   CI_IMAGE_RPM_X64: v48372186-ff395e52
+   CI_IMAGE_RPM_X64: v48815877-9bfad02c
    CI_IMAGE_RPM_X64_SUFFIX: ''
-   CI_IMAGE_SYSTEM_PROBE_ARM64: v48372186-ff395e52
+   CI_IMAGE_SYSTEM_PROBE_ARM64: v48815877-9bfad02c
    CI_IMAGE_SYSTEM_PROBE_ARM64_SUFFIX: ''
-   CI_IMAGE_SYSTEM_PROBE_X64: v48372186-ff395e52
+   CI_IMAGE_SYSTEM_PROBE_X64: v48815877-9bfad02c
    CI_IMAGE_SYSTEM_PROBE_X64_SUFFIX: ''
-   CI_IMAGE_WIN_1809_X64: v48372186-ff395e52
+   CI_IMAGE_WIN_1809_X64: v48815877-9bfad02c
    CI_IMAGE_WIN_1809_X64_SUFFIX: ''
-   CI_IMAGE_WIN_LTSC2022_X64: v48372186-ff395e52
+   CI_IMAGE_WIN_LTSC2022_X64: v48815877-9bfad02c
    CI_IMAGE_WIN_LTSC2022_X64_SUFFIX: ''
    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
    CWS_INSTRUMENTATION_BINARIES_DIR: bin/cws-instrumentation
-   DATADOG_AGENT_ARMBUILDIMAGES: v48372186-ff395e52
+   DATADOG_AGENT_ARMBUILDIMAGES: v48815877-9bfad02c
    DATADOG_AGENT_ARMBUILDIMAGES_SUFFIX: ''
-   DATADOG_AGENT_BTF_GEN_BUILDIMAGES: v48372186-ff395e52
?                                         ^  ^^^^^^^^^^^^
+   DATADOG_AGENT_BTF_GEN_BUILDIMAGES: v48815877-9bfad02c
?                                         ^^^^ ++++++++ ^
    DATADOG_AGENT_BTF_GEN_BUILDIMAGES_SUFFIX: ''
-   DATADOG_AGENT_BUILDIMAGES: v48372186-ff395e52
+   DATADOG_AGENT_BUILDIMAGES: v48815877-9bfad02c
    DATADOG_AGENT_BUILDIMAGES_SUFFIX: ''
    DATADOG_AGENT_EMBEDDED_PATH: /opt/datadog-agent/embedded
-   DATADOG_AGENT_SYSPROBE_BUILDIMAGES: v48372186-ff395e52
?                                          ^  ^^^^^^^^^^^^
+   DATADOG_AGENT_SYSPROBE_BUILDIMAGES: v48815877-9bfad02c
?                                          ^^^^ ++++++++ ^
    DATADOG_AGENT_SYSPROBE_BUILDIMAGES_SUFFIX: ''
-   DATADOG_AGENT_WINBUILDIMAGES: v48372186-ff395e52
+   DATADOG_AGENT_WINBUILDIMAGES: v48815877-9bfad02c
    DATADOG_AGENT_WINBUILDIMAGES_SUFFIX: ''
    DD_AGENT_TESTING_DIR: $CI_PROJECT_DIR/test/kitchen
    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
    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'
    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_AWS: kitchen-aws
    KITCHEN_AZURE: kitchen-azure
    KITCHEN_INFRASTRUCTURE_FLAKES_RETRY: 2
    MACOS_GITHUB_APP_1: macos-github-app-one
    MACOS_GITHUB_APP_2: macos-github-app-two
    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
    PROCESS_S3_BUCKET: datad0g-process-agent
    RELEASE_VERSION_6: nightly
    RELEASE_VERSION_7: nightly-a7
    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_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
    USE_S3_CACHING: --omnibus-s3-cache
    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_A6: pipelines/A6/$CI_PIPELINE_ID
    WINDOWS_TESTING_S3_BUCKET_A7: pipelines/A7/$CI_PIPELINE_ID
    WINGET_PAT: ci.datadog-agent.winget_pat
    WIN_S3_BUCKET: dd-agent-mstesting

Added Jobs

.agent_fips_build
.agent_fips_build:
  before_script:
  - export RELEASE_VERSION=$RELEASE_VERSION_7
  variables:
    FLAVOR: fips
agent_deb-arm64-a7-fips
agent_deb-arm64-a7-fips:
  artifacts:
    expire_in: 2 weeks
    paths:
    - $OMNIBUS_PACKAGE_DIR
  cache:
  - key:
      files:
      - omnibus/Gemfile
      - release.json
      prefix: omnibus-deps-$CI_JOB_NAME-$OMNIBUS_RUBY_VERSION-$OMNIBUS_SOFTWARE
    paths:
    - omnibus/vendor/bundle
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/deb_arm64$DATADOG_AGENT_ARMBUILDIMAGES_SUFFIX:$DATADOG_AGENT_ARMBUILDIMAGES
  needs:
  - datadog-agent-7-arm64-fips
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - when: on_success
  script:
  - pushd omnibus && bundle config set --local path 'vendor/bundle' && popd
  - echo "About to package for $RELEASE_VERSION"
  - set +x
  - printf -- "$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $DEB_GPG_KEY)" | gpg --import
    --batch
  - EXIT="${PIPESTATUS[0]}"; if [ $EXIT -ne 0 ]; then echo "Unable to locate credentials
    needs gitlab runner restart"; exit $EXIT; fi
  - DEB_SIGNING_PASSPHRASE=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $DEB_SIGNING_PASSPHRASE)
    || exit $?; export DEB_SIGNING_PASSPHRASE
  - inv -e omnibus.build --release-version "$RELEASE_VERSION" --base-dir $OMNIBUS_BASE_DIR
    --skip-deps --target-project ${DD_PROJECT} ${OMNIBUS_EXTRA_ARGS}
  - curl -sSL "https://dd-package-tools.s3.amazonaws.com/dd-pkg/${DD_PKG_VERSION}/dd-pkg_Linux_${DD_PKG_ARCH}.tar.gz"
    | tar -xz -C /usr/local/bin dd-pkg
  - find $OMNIBUS_PACKAGE_DIR -iregex '.*\.\(deb\|rpm\)' | xargs dd-pkg lint
  - "if [ -n \"$PACKAGE_REQUIRED_FILES_LIST\" ]; then\n  find $OMNIBUS_PACKAGE_DIR\
    \ \\( -name '*.deb' -or -name '*.rpm' \\) -a -not -name '*-dbg[_-]*' | xargs dd-pkg\
    \ check-files --required-files ${PACKAGE_REQUIRED_FILES_LIST}\nfi\n"
  stage: packaging
  tags:
  - arch:arm64
  variables:
    DD_PKG_ARCH: arm64
    DD_PROJECT: agent
    KUBERNETES_CPU_REQUEST: 16
    KUBERNETES_MEMORY_LIMIT: 32Gi
    KUBERNETES_MEMORY_REQUEST: 32Gi
    OMNIBUS_EXTRA_ARGS: --flavor fips
    OMNIBUS_PACKAGE_ARTIFACT_DIR: $OMNIBUS_PACKAGE_DIR
    PACKAGE_ARCH: arm64
    PACKAGE_REQUIRED_FILES_LIST: test/required_files/agent-deb.txt
    RELEASE_VERSION: $RELEASE_VERSION_7
agent_deb-x64-a7-fips
agent_deb-x64-a7-fips:
  artifacts:
    expire_in: 2 weeks
    paths:
    - $OMNIBUS_PACKAGE_DIR
  cache:
  - key:
      files:
      - omnibus/Gemfile
      - release.json
      prefix: omnibus-deps-$CI_JOB_NAME-$OMNIBUS_RUBY_VERSION-$OMNIBUS_SOFTWARE
    paths:
    - omnibus/vendor/bundle
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/deb_x64$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - datadog-agent-7-x64-fips
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - when: on_success
  script:
  - pushd omnibus && bundle config set --local path 'vendor/bundle' && popd
  - echo "About to package for $RELEASE_VERSION"
  - set +x
  - printf -- "$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $DEB_GPG_KEY)" | gpg --import
    --batch
  - EXIT="${PIPESTATUS[0]}"; if [ $EXIT -ne 0 ]; then echo "Unable to locate credentials
    needs gitlab runner restart"; exit $EXIT; fi
  - DEB_SIGNING_PASSPHRASE=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $DEB_SIGNING_PASSPHRASE)
    || exit $?; export DEB_SIGNING_PASSPHRASE
  - inv -e omnibus.build --release-version "$RELEASE_VERSION" --base-dir $OMNIBUS_BASE_DIR
    --skip-deps --target-project ${DD_PROJECT} ${OMNIBUS_EXTRA_ARGS}
  - curl -sSL "https://dd-package-tools.s3.amazonaws.com/dd-pkg/${DD_PKG_VERSION}/dd-pkg_Linux_${DD_PKG_ARCH}.tar.gz"
    | tar -xz -C /usr/local/bin dd-pkg
  - find $OMNIBUS_PACKAGE_DIR -iregex '.*\.\(deb\|rpm\)' | xargs dd-pkg lint
  - "if [ -n \"$PACKAGE_REQUIRED_FILES_LIST\" ]; then\n  find $OMNIBUS_PACKAGE_DIR\
    \ \\( -name '*.deb' -or -name '*.rpm' \\) -a -not -name '*-dbg[_-]*' | xargs dd-pkg\
    \ check-files --required-files ${PACKAGE_REQUIRED_FILES_LIST}\nfi\n"
  stage: packaging
  tags:
  - arch:amd64
  variables:
    DD_PKG_ARCH: x86_64
    DD_PROJECT: agent
    KUBERNETES_CPU_REQUEST: 16
    KUBERNETES_MEMORY_LIMIT: 32Gi
    KUBERNETES_MEMORY_REQUEST: 32Gi
    OMNIBUS_EXTRA_ARGS: --flavor fips
    OMNIBUS_PACKAGE_ARTIFACT_DIR: $OMNIBUS_PACKAGE_DIR
    PACKAGE_ARCH: amd64
    PACKAGE_REQUIRED_FILES_LIST: test/required_files/agent-deb.txt
    RELEASE_VERSION: $RELEASE_VERSION_7
agent_rpm-arm64-a7-fips
agent_rpm-arm64-a7-fips:
  artifacts:
    expire_in: 2 weeks
    paths:
    - $OMNIBUS_PACKAGE_DIR
  before_script: null
  cache:
  - key:
      files:
      - omnibus/Gemfile
      - release.json
      prefix: omnibus-deps-$CI_JOB_NAME-$OMNIBUS_RUBY_VERSION-$OMNIBUS_SOFTWARE
    paths:
    - omnibus/vendor/bundle
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/rpm_arm64$DATADOG_AGENT_ARMBUILDIMAGES_SUFFIX:$DATADOG_AGENT_ARMBUILDIMAGES
  needs:
  - datadog-agent-7-arm64-fips
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - when: on_success
  script:
  - echo "About to build for $RELEASE_VERSION"
  - pushd omnibus && bundle config set --local path 'vendor/bundle' && popd
  - printf -- "$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $RPM_GPG_KEY)" | gpg --import
    --batch
  - EXIT="${PIPESTATUS[0]}"; if [ $EXIT -ne 0 ]; then echo "Unable to locate credentials
    needs gitlab runner restart"; exit $EXIT; fi
  - RPM_SIGNING_PASSPHRASE=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $RPM_SIGNING_PASSPHRASE)
    || exit $?; export RPM_SIGNING_PASSPHRASE
  - inv -e omnibus.build --release-version "$RELEASE_VERSION" --base-dir $OMNIBUS_BASE_DIR
    --skip-deps --target-project=${DD_PROJECT} ${OMNIBUS_EXTRA_ARGS}
  - ls -la $OMNIBUS_PACKAGE_DIR/
  - curl -sSL "https://dd-package-tools.s3.amazonaws.com/dd-pkg/${DD_PKG_VERSION}/dd-pkg_Linux_${DD_PKG_ARCH}.tar.gz"
    | tar -xz -C /usr/local/bin dd-pkg
  - find $OMNIBUS_PACKAGE_DIR -iregex '.*\.\(deb\|rpm\)' | xargs dd-pkg lint
  - "if [ -n \"$PACKAGE_REQUIRED_FILES_LIST\" ]; then\n  find $OMNIBUS_PACKAGE_DIR\
    \ \\( -name '*.deb' -or -name '*.rpm' \\) -a -not -name '*-dbg[_-]*' | xargs dd-pkg\
    \ check-files --required-files ${PACKAGE_REQUIRED_FILES_LIST}\nfi\n"
  stage: packaging
  tags:
  - arch:arm64
  variables:
    DD_PKG_ARCH: arm64
    DD_PROJECT: agent
    KUBERNETES_CPU_REQUEST: 16
    KUBERNETES_MEMORY_LIMIT: 32Gi
    KUBERNETES_MEMORY_REQUEST: 32Gi
    OMNIBUS_EXTRA_ARGS: --flavor fips
    OMNIBUS_PACKAGE_ARTIFACT_DIR: $OMNIBUS_PACKAGE_DIR
    PACKAGE_ARCH: arm64
    PACKAGE_REQUIRED_FILES_LIST: test/required_files/agent-rpm.txt
    RELEASE_VERSION: $RELEASE_VERSION_7
agent_rpm-x64-a7-fips
agent_rpm-x64-a7-fips:
  artifacts:
    expire_in: 2 weeks
    paths:
    - $OMNIBUS_PACKAGE_DIR
  before_script: null
  cache:
  - key:
      files:
      - omnibus/Gemfile
      - release.json
      prefix: omnibus-deps-$CI_JOB_NAME-$OMNIBUS_RUBY_VERSION-$OMNIBUS_SOFTWARE
    paths:
    - omnibus/vendor/bundle
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/rpm_x64$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - datadog-agent-7-x64-fips
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - when: on_success
  script:
  - echo "About to build for $RELEASE_VERSION"
  - pushd omnibus && bundle config set --local path 'vendor/bundle' && popd
  - printf -- "$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $RPM_GPG_KEY)" | gpg --import
    --batch
  - EXIT="${PIPESTATUS[0]}"; if [ $EXIT -ne 0 ]; then echo "Unable to locate credentials
    needs gitlab runner restart"; exit $EXIT; fi
  - RPM_SIGNING_PASSPHRASE=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $RPM_SIGNING_PASSPHRASE)
    || exit $?; export RPM_SIGNING_PASSPHRASE
  - inv -e omnibus.build --release-version "$RELEASE_VERSION" --base-dir $OMNIBUS_BASE_DIR
    --skip-deps --target-project=${DD_PROJECT} ${OMNIBUS_EXTRA_ARGS}
  - ls -la $OMNIBUS_PACKAGE_DIR/
  - curl -sSL "https://dd-package-tools.s3.amazonaws.com/dd-pkg/${DD_PKG_VERSION}/dd-pkg_Linux_${DD_PKG_ARCH}.tar.gz"
    | tar -xz -C /usr/local/bin dd-pkg
  - find $OMNIBUS_PACKAGE_DIR -iregex '.*\.\(deb\|rpm\)' | xargs dd-pkg lint
  - "if [ -n \"$PACKAGE_REQUIRED_FILES_LIST\" ]; then\n  find $OMNIBUS_PACKAGE_DIR\
    \ \\( -name '*.deb' -or -name '*.rpm' \\) -a -not -name '*-dbg[_-]*' | xargs dd-pkg\
    \ check-files --required-files ${PACKAGE_REQUIRED_FILES_LIST}\nfi\n"
  stage: packaging
  tags:
  - arch:amd64
  variables:
    DD_PKG_ARCH: x86_64
    DD_PROJECT: agent
    KUBERNETES_CPU_REQUEST: 16
    KUBERNETES_MEMORY_LIMIT: 32Gi
    KUBERNETES_MEMORY_REQUEST: 32Gi
    OMNIBUS_EXTRA_ARGS: --flavor fips
    OMNIBUS_PACKAGE_ARTIFACT_DIR: $OMNIBUS_PACKAGE_DIR
    PACKAGE_ARCH: amd64
    PACKAGE_REQUIRED_FILES_LIST: test/required_files/agent-rpm.txt
    RELEASE_VERSION: $RELEASE_VERSION_7
agent_suse-arm64-a7-fips
agent_suse-arm64-a7-fips:
  artifacts:
    expire_in: 2 weeks
    paths:
    - $OMNIBUS_PACKAGE_DIR_SUSE
  before_script: null
  cache:
  - key:
      files:
      - omnibus/Gemfile
      - release.json
      prefix: omnibus-deps-$CI_JOB_NAME-$OMNIBUS_RUBY_VERSION-$OMNIBUS_SOFTWARE
    paths:
    - omnibus/vendor/bundle
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/rpm_arm64$DATADOG_AGENT_ARMBUILDIMAGES_SUFFIX:$DATADOG_AGENT_ARMBUILDIMAGES
  needs:
  - datadog-agent-7-arm64-fips
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - when: on_success
  script:
  - echo "About to build for $RELEASE_VERSION"
  - pushd omnibus && bundle config set --local path 'vendor/bundle' && popd
  - printf -- "$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $RPM_GPG_KEY)" | gpg --import
    --batch
  - EXIT="${PIPESTATUS[0]}"; if [ $EXIT -ne 0 ]; then echo "Unable to locate credentials
    needs gitlab runner restart"; exit $EXIT; fi
  - RPM_SIGNING_PASSPHRASE=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $RPM_SIGNING_PASSPHRASE)
    || exit $?; export RPM_SIGNING_PASSPHRASE
  - inv -e omnibus.build --release-version "$RELEASE_VERSION" --base-dir $OMNIBUS_BASE_DIR
    --skip-deps --target-project=${DD_PROJECT} ${OMNIBUS_EXTRA_ARGS}
  - ls -la $OMNIBUS_PACKAGE_DIR/
  - curl -sSL "https://dd-package-tools.s3.amazonaws.com/dd-pkg/${DD_PKG_VERSION}/dd-pkg_Linux_${DD_PKG_ARCH}.tar.gz"
    | tar -xz -C /usr/local/bin dd-pkg
  - find $OMNIBUS_PACKAGE_DIR -iregex '.*\.\(deb\|rpm\)' | xargs dd-pkg lint
  - "if [ -n \"$PACKAGE_REQUIRED_FILES_LIST\" ]; then\n  find $OMNIBUS_PACKAGE_DIR\
    \ \\( -name '*.deb' -or -name '*.rpm' \\) -a -not -name '*-dbg[_-]*' | xargs dd-pkg\
    \ check-files --required-files ${PACKAGE_REQUIRED_FILES_LIST}\nfi\n"
  - mkdir -p $OMNIBUS_PACKAGE_DIR_SUSE && mv $OMNIBUS_PACKAGE_DIR/*.rpm $OMNIBUS_PACKAGE_DIR_SUSE/
  stage: packaging
  tags:
  - arch:arm64
  variables:
    DD_PKG_ARCH: arm64
    DD_PROJECT: agent
    KUBERNETES_CPU_REQUEST: 16
    KUBERNETES_MEMORY_LIMIT: 32Gi
    KUBERNETES_MEMORY_REQUEST: 32Gi
    OMNIBUS_EXTRA_ARGS: --flavor fips
    OMNIBUS_PACKAGE_ARTIFACT_DIR: $OMNIBUS_PACKAGE_DIR
    PACKAGE_ARCH: arm64
    PACKAGE_REQUIRED_FILES_LIST: test/required_files/agent-rpm.txt
    RELEASE_VERSION: $RELEASE_VERSION_7
agent_suse-x64-a7-fips
agent_suse-x64-a7-fips:
  artifacts:
    expire_in: 2 weeks
    paths:
    - $OMNIBUS_PACKAGE_DIR_SUSE
  before_script: null
  cache:
  - key:
      files:
      - omnibus/Gemfile
      - release.json
      prefix: omnibus-deps-$CI_JOB_NAME-$OMNIBUS_RUBY_VERSION-$OMNIBUS_SOFTWARE
    paths:
    - omnibus/vendor/bundle
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/rpm_x64$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - datadog-agent-7-x64-fips
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - when: on_success
  script:
  - echo "About to build for $RELEASE_VERSION"
  - pushd omnibus && bundle config set --local path 'vendor/bundle' && popd
  - printf -- "$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $RPM_GPG_KEY)" | gpg --import
    --batch
  - EXIT="${PIPESTATUS[0]}"; if [ $EXIT -ne 0 ]; then echo "Unable to locate credentials
    needs gitlab runner restart"; exit $EXIT; fi
  - RPM_SIGNING_PASSPHRASE=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $RPM_SIGNING_PASSPHRASE)
    || exit $?; export RPM_SIGNING_PASSPHRASE
  - inv -e omnibus.build --release-version "$RELEASE_VERSION" --base-dir $OMNIBUS_BASE_DIR
    --skip-deps --target-project=${DD_PROJECT} ${OMNIBUS_EXTRA_ARGS}
  - ls -la $OMNIBUS_PACKAGE_DIR/
  - curl -sSL "https://dd-package-tools.s3.amazonaws.com/dd-pkg/${DD_PKG_VERSION}/dd-pkg_Linux_${DD_PKG_ARCH}.tar.gz"
    | tar -xz -C /usr/local/bin dd-pkg
  - find $OMNIBUS_PACKAGE_DIR -iregex '.*\.\(deb\|rpm\)' | xargs dd-pkg lint
  - "if [ -n \"$PACKAGE_REQUIRED_FILES_LIST\" ]; then\n  find $OMNIBUS_PACKAGE_DIR\
    \ \\( -name '*.deb' -or -name '*.rpm' \\) -a -not -name '*-dbg[_-]*' | xargs dd-pkg\
    \ check-files --required-files ${PACKAGE_REQUIRED_FILES_LIST}\nfi\n"
  - mkdir -p $OMNIBUS_PACKAGE_DIR_SUSE && mv $OMNIBUS_PACKAGE_DIR/*.rpm $OMNIBUS_PACKAGE_DIR_SUSE/
  stage: packaging
  tags:
  - arch:amd64
  variables:
    DD_PKG_ARCH: x86_64
    DD_PROJECT: agent
    KUBERNETES_CPU_REQUEST: 16
    KUBERNETES_MEMORY_LIMIT: 32Gi
    KUBERNETES_MEMORY_REQUEST: 32Gi
    OMNIBUS_EXTRA_ARGS: --flavor fips
    OMNIBUS_PACKAGE_ARTIFACT_DIR: $OMNIBUS_PACKAGE_DIR
    PACKAGE_ARCH: amd64
    PACKAGE_REQUIRED_FILES_LIST: test/required_files/agent-rpm.txt
    RELEASE_VERSION: $RELEASE_VERSION_7
datadog-agent-7-arm64-fips
datadog-agent-7-arm64-fips:
  artifacts:
    expire_in: 2 weeks
    paths:
    - $OMNIBUS_PACKAGE_DIR
  before_script:
  - export RELEASE_VERSION=$RELEASE_VERSION_7
  cache:
  - key:
      files:
      - omnibus/Gemfile
      - release.json
      prefix: omnibus-deps-$CI_JOB_NAME-$OMNIBUS_RUBY_VERSION-$OMNIBUS_SOFTWARE
    paths:
    - omnibus/vendor/bundle
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/linux-glibc-2-23-arm64$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - build_system-probe-arm64
  - go_deps
  - generate_minimized_btfs_arm64
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - when: on_success
  script:
  - echo "About to build for $RELEASE_VERSION"
  - mkdir -p $GOPATH/pkg/mod/cache && tar xJf modcache.tar.xz -C $GOPATH/pkg/mod/cache
  - rm -f modcache.tar.xz
  - pushd omnibus && bundle config set --local path 'vendor/bundle' && popd
  - rm -rf $OMNIBUS_PACKAGE_DIR/*
  - tar -xf $CI_PROJECT_DIR/sysprobe-build-outputs.tar.xz
  - mkdir -p /tmp/system-probe
  - $S3_CP_CMD $S3_PERMANENT_ARTIFACTS_URI/clang-$CLANG_LLVM_VER.${PACKAGE_ARCH} /tmp/system-probe/clang-bpf
  - $S3_CP_CMD $S3_PERMANENT_ARTIFACTS_URI/llc-$CLANG_LLVM_VER.${PACKAGE_ARCH} /tmp/system-probe/llc-bpf
  - cp $CI_PROJECT_DIR/minimized-btfs.tar.xz /tmp/system-probe/minimized-btfs.tar.xz
  - chmod 0744 /tmp/system-probe/clang-bpf /tmp/system-probe/llc-bpf
  - inv -e omnibus.build --release-version "$RELEASE_VERSION" --base-dir $OMNIBUS_BASE_DIR  ${USE_S3_CACHING}
    --skip-deps --go-mod-cache="$GOPATH/pkg/mod" --system-probe-bin=/tmp/system-probe
    --flavor "$FLAVOR" --config-directory "$CONFIG_DIR" --install-directory "$INSTALL_DIR"
  - ls -la $OMNIBUS_PACKAGE_DIR
  - $S3_CP_CMD $OMNIBUS_PACKAGE_DIR/version-manifest.json $S3_SBOM_STORAGE_URI/$CI_JOB_NAME/version-manifest.json
  stage: package_build
  tags:
  - arch:arm64
  variables:
    DD_CC: aarch64-unknown-linux-gnu-gcc
    DD_CMAKE_TOOLCHAIN: /opt/cmake/aarch64-unknown-linux-gnu.toolchain.cmake
    DD_CXX: aarch64-unknown-linux-gnu-g++
    FLAVOR: fips
    KUBERNETES_CPU_REQUEST: 16
    KUBERNETES_MEMORY_LIMIT: 32Gi
    KUBERNETES_MEMORY_REQUEST: 32Gi
    PACKAGE_ARCH: arm64
datadog-agent-7-x64-fips
datadog-agent-7-x64-fips:
  artifacts:
    expire_in: 2 weeks
    paths:
    - $OMNIBUS_PACKAGE_DIR
  before_script:
  - export RELEASE_VERSION=$RELEASE_VERSION_7
  cache:
  - key:
      files:
      - omnibus/Gemfile
      - release.json
      prefix: omnibus-deps-$CI_JOB_NAME-$OMNIBUS_RUBY_VERSION-$OMNIBUS_SOFTWARE
    paths:
    - omnibus/vendor/bundle
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/linux-glibc-2-17-x64$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - build_system-probe-x64
  - go_deps
  - generate_minimized_btfs_x64
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - when: on_success
  script:
  - echo "About to build for $RELEASE_VERSION"
  - mkdir -p $GOPATH/pkg/mod/cache && tar xJf modcache.tar.xz -C $GOPATH/pkg/mod/cache
  - rm -f modcache.tar.xz
  - pushd omnibus && bundle config set --local path 'vendor/bundle' && popd
  - rm -rf $OMNIBUS_PACKAGE_DIR/*
  - tar -xf $CI_PROJECT_DIR/sysprobe-build-outputs.tar.xz
  - mkdir -p /tmp/system-probe
  - $S3_CP_CMD $S3_PERMANENT_ARTIFACTS_URI/clang-$CLANG_LLVM_VER.${PACKAGE_ARCH} /tmp/system-probe/clang-bpf
  - $S3_CP_CMD $S3_PERMANENT_ARTIFACTS_URI/llc-$CLANG_LLVM_VER.${PACKAGE_ARCH} /tmp/system-probe/llc-bpf
  - cp $CI_PROJECT_DIR/minimized-btfs.tar.xz /tmp/system-probe/minimized-btfs.tar.xz
  - chmod 0744 /tmp/system-probe/clang-bpf /tmp/system-probe/llc-bpf
  - inv -e omnibus.build --release-version "$RELEASE_VERSION" --base-dir $OMNIBUS_BASE_DIR  ${USE_S3_CACHING}
    --skip-deps --go-mod-cache="$GOPATH/pkg/mod" --system-probe-bin=/tmp/system-probe
    --flavor "$FLAVOR" --config-directory "$CONFIG_DIR" --install-directory "$INSTALL_DIR"
  - ls -la $OMNIBUS_PACKAGE_DIR
  - $S3_CP_CMD $OMNIBUS_PACKAGE_DIR/version-manifest.json $S3_SBOM_STORAGE_URI/$CI_JOB_NAME/version-manifest.json
  stage: package_build
  tags:
  - arch:amd64
  variables:
    DD_CC: x86_64-unknown-linux-gnu-gcc
    DD_CMAKE_TOOLCHAIN: /opt/cmake/x86_64-unknown-linux-gnu.toolchain.cmake
    DD_CXX: x86_64-unknown-linux-gnu-g++
    FLAVOR: fips
    KUBERNETES_CPU_REQUEST: 16
    KUBERNETES_MEMORY_LIMIT: 32Gi
    KUBERNETES_MEMORY_REQUEST: 32Gi
    PACKAGE_ARCH: amd64
deploy_packages_deb-arm64-7-fips
deploy_packages_deb-arm64-7-fips:
  before_script:
  - ls $OMNIBUS_PACKAGE_DIR
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/gitlab_agent_deploy$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - agent_deb-arm64-a7-fips
  resource_group: deb_bucket
  rules:
  - if: $DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null
  script:
  - $S3_CP_CMD --recursive --exclude "*" --include "*_${MAJOR_VERSION}.*${PACKAGE_ARCH}.deb"
    "$OMNIBUS_PACKAGE_DIR" "$S3_RELEASE_ARTIFACTS_URI/deb/${PACKAGE_ARCH}/"
  stage: deploy_packages
  tags:
  - arch:amd64
  variables:
    MAJOR_VERSION: 7
    PACKAGE_ARCH: arm64
deploy_packages_deb-x64-7-fips
deploy_packages_deb-x64-7-fips:
  before_script:
  - ls $OMNIBUS_PACKAGE_DIR
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/gitlab_agent_deploy$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - agent_deb-x64-a7-fips
  resource_group: deb_bucket
  rules:
  - if: $DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null
  script:
  - $S3_CP_CMD --recursive --exclude "*" --include "*_${MAJOR_VERSION}.*${PACKAGE_ARCH}.deb"
    "$OMNIBUS_PACKAGE_DIR" "$S3_RELEASE_ARTIFACTS_URI/deb/${PACKAGE_ARCH}/"
  stage: deploy_packages
  tags:
  - arch:amd64
  variables:
    MAJOR_VERSION: 7
    PACKAGE_ARCH: amd64
deploy_packages_rpm-arm64-7-fips
deploy_packages_rpm-arm64-7-fips:
  before_script:
  - ls $OMNIBUS_PACKAGE_DIR
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/gitlab_agent_deploy$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - agent_rpm-arm64-a7-fips
  resource_group: rpm_bucket
  rules:
  - if: $DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null
  script:
  - $S3_CP_CMD --recursive --exclude "*" --include "*-${MAJOR_VERSION}.*${PACKAGE_ARCH}.rpm"
    "$OMNIBUS_PACKAGE_DIR" "$S3_RELEASE_ARTIFACTS_URI/${ARTIFACTS_PREFIX}rpm/${PACKAGE_ARCH}/"
  stage: deploy_packages
  tags:
  - arch:amd64
  variables:
    ARTIFACTS_PREFIX: ''
    MAJOR_VERSION: 7
    PACKAGE_ARCH: aarch64
deploy_packages_rpm-x64-7-fips
deploy_packages_rpm-x64-7-fips:
  before_script:
  - ls $OMNIBUS_PACKAGE_DIR
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/gitlab_agent_deploy$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - agent_rpm-x64-a7-fips
  resource_group: rpm_bucket
  rules:
  - if: $DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null
  script:
  - $S3_CP_CMD --recursive --exclude "*" --include "*-${MAJOR_VERSION}.*${PACKAGE_ARCH}.rpm"
    "$OMNIBUS_PACKAGE_DIR" "$S3_RELEASE_ARTIFACTS_URI/${ARTIFACTS_PREFIX}rpm/${PACKAGE_ARCH}/"
  stage: deploy_packages
  tags:
  - arch:amd64
  variables:
    ARTIFACTS_PREFIX: ''
    MAJOR_VERSION: 7
    PACKAGE_ARCH: x86_64
deploy_packages_suse_rpm-arm64-7-fips
deploy_packages_suse_rpm-arm64-7-fips:
  before_script:
  - ls $OMNIBUS_PACKAGE_DIR
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/gitlab_agent_deploy$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - agent_suse-arm64-a7-fips
  resource_group: rpm_bucket
  rules:
  - if: $DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null
  script:
  - $S3_CP_CMD --recursive --exclude "*" --include "*-${MAJOR_VERSION}.*${PACKAGE_ARCH}.rpm"
    "$OMNIBUS_PACKAGE_DIR" "$S3_RELEASE_ARTIFACTS_URI/${ARTIFACTS_PREFIX}rpm/${PACKAGE_ARCH}/"
  stage: deploy_packages
  tags:
  - arch:amd64
  variables:
    ARTIFACTS_PREFIX: suse_
    MAJOR_VERSION: 7
    OMNIBUS_PACKAGE_DIR: $OMNIBUS_PACKAGE_DIR_SUSE
    PACKAGE_ARCH: aarch64
deploy_packages_suse_rpm-x64-7-fips
deploy_packages_suse_rpm-x64-7-fips:
  before_script:
  - ls $OMNIBUS_PACKAGE_DIR
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/gitlab_agent_deploy$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - agent_suse-x64-a7-fips
  resource_group: rpm_bucket
  rules:
  - if: $DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null
  script:
  - $S3_CP_CMD --recursive --exclude "*" --include "*-${MAJOR_VERSION}.*${PACKAGE_ARCH}.rpm"
    "$OMNIBUS_PACKAGE_DIR" "$S3_RELEASE_ARTIFACTS_URI/${ARTIFACTS_PREFIX}rpm/${PACKAGE_ARCH}/"
  stage: deploy_packages
  tags:
  - arch:amd64
  variables:
    ARTIFACTS_PREFIX: suse_
    MAJOR_VERSION: 7
    OMNIBUS_PACKAGE_DIR: $OMNIBUS_PACKAGE_DIR_SUSE
    PACKAGE_ARCH: x86_64
dev_branch_multiarch-fips
dev_branch_multiarch-fips:
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - docker_build_fips_agent7
  - docker_build_fips_agent7_arm64
  - docker_build_fips_agent7_jmx
  - docker_build_fips_agent7_arm64_jmx
  parallel:
    matrix:
    - IMG_DESTINATIONS: agent-dev:${CI_COMMIT_REF_SLUG}-fips
      IMG_SOURCES: ${SRC_AGENT}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}-7-fips-amd64,${SRC_AGENT}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}-7-fips-arm64
    - IMG_DESTINATIONS: agent-dev:${CI_COMMIT_REF_SLUG}-fips-jmx
      IMG_SOURCES: ${SRC_AGENT}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}-7-fips-jmx-amd64,${SRC_AGENT}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}-7-fips-jmx-arm64
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - allow_failure: true
    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_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
    <<<"$IMG_VARIABLES")"
  - IMG_SOURCES="$(sed -E "s#(${SRC_AGENT}|${SRC_DSD}|${SRC_DCA}|${SRC_CWS_INSTRUMENTATION})#\1${ECR_RELEASE_SUFFIX}#g"
    <<<"$IMG_SOURCES")"
  - 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_SIGNING --variable APPS
    --variable BAZEL_TARGET --variable DDR --variable DDR_WORKFLOW_ID --variable TARGET_ENV
    --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
  stage: dev_container_deploy
  tags:
  - arch:amd64
  variables:
    IMG_REGISTRIES: dev
    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
docker_build_fips_agent7
docker_build_fips_agent7:
  before_script:
  - mv $OMNIBUS_PACKAGE_DIR/*.xz $BUILD_CONTEXT
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - job: datadog-agent-7-x64-fips
  retry: 2
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - when: on_success
  script:
  - TAG_SUFFIX=${TAG_SUFFIX:-}
  - BUILD_ARG=${BUILD_ARG:-}
  - "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMAGE\" =~ \"ci/datadog-agent/agent\"\
    \ || \"$IMAGE\" =~ \"ci/datadog-agent/cluster-agent\" || \"$IMAGE\" =~ \"ci/datadog-agent/cws-instrumentation\"\
    \ ) ]]; then\n  export ECR_RELEASE_SUFFIX=\"-nightly\"\nelse\n  export ECR_RELEASE_SUFFIX=${CI_COMMIT_TAG+-release}\n\
    fi\n"
  - TARGET_TAG=${IMAGE}${ECR_RELEASE_SUFFIX}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}$TAG_SUFFIX-$ARCH
  - DOCKER_LOGIN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $DOCKER_REGISTRY_RO user)
    || exit $?
  - $CI_PROJECT_DIR/tools/ci/fetch_secret.sh $DOCKER_REGISTRY_RO token | docker login
    --username "$DOCKER_LOGIN" --password-stdin "$DOCKER_REGISTRY_URL"
  - EXIT="${PIPESTATUS[0]}"; if [ $EXIT -ne 0 ]; then echo "Unable to locate credentials
    needs gitlab runner restart"; exit $EXIT; fi
  - docker buildx build --no-cache --push --pull --platform linux/$ARCH --build-arg
    CIBUILD=true --build-arg GENERAL_ARTIFACTS_CACHE_BUCKET_URL=${GENERAL_ARTIFACTS_CACHE_BUCKET_URL}
    $BUILD_ARG --build-arg DD_GIT_REPOSITORY_URL=https://github.com/DataDog/datadog-agent
    --build-arg DD_GIT_COMMIT_SHA=${CI_COMMIT_SHA} --file $BUILD_CONTEXT/Dockerfile
    --tag ${TARGET_TAG} --label "org.opencontainers.image.created=$(date --rfc-3339=seconds)"
    --label "org.opencontainers.image.authors=Datadog <package@datadoghq.com>" --label
    "org.opencontainers.image.source=https://github.com/DataDog/datadog-agent" --label
    "org.opencontainers.image.version=$(inv agent.version)" --label "org.opencontainers.image.revision=${CI_COMMIT_SHA}"
    --label "org.opencontainers.image.vendor=Datadog, Inc." --label "target=none"
    $BUILD_CONTEXT
  - crane flatten -t ${TARGET_TAG} ${TARGET_TAG}
  stage: container_build
  tags:
  - arch:amd64
  timeout: 30m
  variables:
    ARCH: amd64
    BUILD_ARG: --target test --build-arg DD_AGENT_ARTIFACT=datadog-fips-agent-7*-amd64.tar.xz
    BUILD_CONTEXT: Dockerfiles/agent
    IMAGE: registry.ddbuild.io/ci/datadog-agent/agent
    TAG_SUFFIX: -7-fips
docker_build_fips_agent7_arm64
docker_build_fips_agent7_arm64:
  before_script:
  - mv $OMNIBUS_PACKAGE_DIR/*.xz $BUILD_CONTEXT
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_arm64$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - job: datadog-agent-7-arm64-fips
  retry: 2
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - when: on_success
  script:
  - TAG_SUFFIX=${TAG_SUFFIX:-}
  - BUILD_ARG=${BUILD_ARG:-}
  - "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMAGE\" =~ \"ci/datadog-agent/agent\"\
    \ || \"$IMAGE\" =~ \"ci/datadog-agent/cluster-agent\" || \"$IMAGE\" =~ \"ci/datadog-agent/cws-instrumentation\"\
    \ ) ]]; then\n  export ECR_RELEASE_SUFFIX=\"-nightly\"\nelse\n  export ECR_RELEASE_SUFFIX=${CI_COMMIT_TAG+-release}\n\
    fi\n"
  - TARGET_TAG=${IMAGE}${ECR_RELEASE_SUFFIX}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}$TAG_SUFFIX-$ARCH
  - DOCKER_LOGIN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $DOCKER_REGISTRY_RO user)
    || exit $?
  - $CI_PROJECT_DIR/tools/ci/fetch_secret.sh $DOCKER_REGISTRY_RO token | docker login
    --username "$DOCKER_LOGIN" --password-stdin "$DOCKER_REGISTRY_URL"
  - EXIT="${PIPESTATUS[0]}"; if [ $EXIT -ne 0 ]; then echo "Unable to locate credentials
    needs gitlab runner restart"; exit $EXIT; fi
  - docker buildx build --no-cache --push --pull --platform linux/$ARCH --build-arg
    CIBUILD=true --build-arg GENERAL_ARTIFACTS_CACHE_BUCKET_URL=${GENERAL_ARTIFACTS_CACHE_BUCKET_URL}
    $BUILD_ARG --build-arg DD_GIT_REPOSITORY_URL=https://github.com/DataDog/datadog-agent
    --build-arg DD_GIT_COMMIT_SHA=${CI_COMMIT_SHA} --file $BUILD_CONTEXT/Dockerfile
    --tag ${TARGET_TAG} --label "org.opencontainers.image.created=$(date --rfc-3339=seconds)"
    --label "org.opencontainers.image.authors=Datadog <package@datadoghq.com>" --label
    "org.opencontainers.image.source=https://github.com/DataDog/datadog-agent" --label
    "org.opencontainers.image.version=$(inv agent.version)" --label "org.opencontainers.image.revision=${CI_COMMIT_SHA}"
    --label "org.opencontainers.image.vendor=Datadog, Inc." --label "target=none"
    $BUILD_CONTEXT
  - crane flatten -t ${TARGET_TAG} ${TARGET_TAG}
  stage: container_build
  tags:
  - arch:arm64
  timeout: 30m
  variables:
    ARCH: arm64
    BUILD_ARG: --target test --build-arg DD_AGENT_ARTIFACT=datadog-fips-agent-7*-arm64.tar.xz
    BUILD_CONTEXT: Dockerfiles/agent
    IMAGE: registry.ddbuild.io/ci/datadog-agent/agent
    TAG_SUFFIX: -7-fips
docker_build_fips_agent7_arm64_jmx
docker_build_fips_agent7_arm64_jmx:
  before_script:
  - mv $OMNIBUS_PACKAGE_DIR/*.xz $BUILD_CONTEXT
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_arm64$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - job: datadog-agent-7-arm64-fips
  retry: 2
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - when: on_success
  script:
  - TAG_SUFFIX=${TAG_SUFFIX:-}
  - BUILD_ARG=${BUILD_ARG:-}
  - "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMAGE\" =~ \"ci/datadog-agent/agent\"\
    \ || \"$IMAGE\" =~ \"ci/datadog-agent/cluster-agent\" || \"$IMAGE\" =~ \"ci/datadog-agent/cws-instrumentation\"\
    \ ) ]]; then\n  export ECR_RELEASE_SUFFIX=\"-nightly\"\nelse\n  export ECR_RELEASE_SUFFIX=${CI_COMMIT_TAG+-release}\n\
    fi\n"
  - TARGET_TAG=${IMAGE}${ECR_RELEASE_SUFFIX}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}$TAG_SUFFIX-$ARCH
  - DOCKER_LOGIN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $DOCKER_REGISTRY_RO user)
    || exit $?
  - $CI_PROJECT_DIR/tools/ci/fetch_secret.sh $DOCKER_REGISTRY_RO token | docker login
    --username "$DOCKER_LOGIN" --password-stdin "$DOCKER_REGISTRY_URL"
  - EXIT="${PIPESTATUS[0]}"; if [ $EXIT -ne 0 ]; then echo "Unable to locate credentials
    needs gitlab runner restart"; exit $EXIT; fi
  - docker buildx build --no-cache --push --pull --platform linux/$ARCH --build-arg
    CIBUILD=true --build-arg GENERAL_ARTIFACTS_CACHE_BUCKET_URL=${GENERAL_ARTIFACTS_CACHE_BUCKET_URL}
    $BUILD_ARG --build-arg DD_GIT_REPOSITORY_URL=https://github.com/DataDog/datadog-agent
    --build-arg DD_GIT_COMMIT_SHA=${CI_COMMIT_SHA} --file $BUILD_CONTEXT/Dockerfile
    --tag ${TARGET_TAG} --label "org.opencontainers.image.created=$(date --rfc-3339=seconds)"
    --label "org.opencontainers.image.authors=Datadog <package@datadoghq.com>" --label
    "org.opencontainers.image.source=https://github.com/DataDog/datadog-agent" --label
    "org.opencontainers.image.version=$(inv agent.version)" --label "org.opencontainers.image.revision=${CI_COMMIT_SHA}"
    --label "org.opencontainers.image.vendor=Datadog, Inc." --label "target=none"
    $BUILD_CONTEXT
  - crane flatten -t ${TARGET_TAG} ${TARGET_TAG}
  stage: container_build
  tags:
  - arch:arm64
  timeout: 30m
  variables:
    ARCH: arm64
    BUILD_ARG: --target test --build-arg DD_AGENT_ARTIFACT=datadog-fips-agent-7*-arm64.tar.xz
    BUILD_CONTEXT: Dockerfiles/agent
    IMAGE: registry.ddbuild.io/ci/datadog-agent/agent
    TAG_SUFFIX: -7-fips-jmx
docker_build_fips_agent7_jmx
docker_build_fips_agent7_jmx:
  before_script:
  - mv $OMNIBUS_PACKAGE_DIR/*.xz $BUILD_CONTEXT
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/docker_x64$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - job: datadog-agent-7-x64-fips
  retry: 2
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - when: on_success
  script:
  - TAG_SUFFIX=${TAG_SUFFIX:-}
  - BUILD_ARG=${BUILD_ARG:-}
  - "if [[ \"$BUCKET_BRANCH\" == \"nightly\" && ( \"$IMAGE\" =~ \"ci/datadog-agent/agent\"\
    \ || \"$IMAGE\" =~ \"ci/datadog-agent/cluster-agent\" || \"$IMAGE\" =~ \"ci/datadog-agent/cws-instrumentation\"\
    \ ) ]]; then\n  export ECR_RELEASE_SUFFIX=\"-nightly\"\nelse\n  export ECR_RELEASE_SUFFIX=${CI_COMMIT_TAG+-release}\n\
    fi\n"
  - TARGET_TAG=${IMAGE}${ECR_RELEASE_SUFFIX}:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}$TAG_SUFFIX-$ARCH
  - DOCKER_LOGIN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $DOCKER_REGISTRY_RO user)
    || exit $?
  - $CI_PROJECT_DIR/tools/ci/fetch_secret.sh $DOCKER_REGISTRY_RO token | docker login
    --username "$DOCKER_LOGIN" --password-stdin "$DOCKER_REGISTRY_URL"
  - EXIT="${PIPESTATUS[0]}"; if [ $EXIT -ne 0 ]; then echo "Unable to locate credentials
    needs gitlab runner restart"; exit $EXIT; fi
  - docker buildx build --no-cache --push --pull --platform linux/$ARCH --build-arg
    CIBUILD=true --build-arg GENERAL_ARTIFACTS_CACHE_BUCKET_URL=${GENERAL_ARTIFACTS_CACHE_BUCKET_URL}
    $BUILD_ARG --build-arg DD_GIT_REPOSITORY_URL=https://github.com/DataDog/datadog-agent
    --build-arg DD_GIT_COMMIT_SHA=${CI_COMMIT_SHA} --file $BUILD_CONTEXT/Dockerfile
    --tag ${TARGET_TAG} --label "org.opencontainers.image.created=$(date --rfc-3339=seconds)"
    --label "org.opencontainers.image.authors=Datadog <package@datadoghq.com>" --label
    "org.opencontainers.image.source=https://github.com/DataDog/datadog-agent" --label
    "org.opencontainers.image.version=$(inv agent.version)" --label "org.opencontainers.image.revision=${CI_COMMIT_SHA}"
    --label "org.opencontainers.image.vendor=Datadog, Inc." --label "target=none"
    $BUILD_CONTEXT
  - crane flatten -t ${TARGET_TAG} ${TARGET_TAG}
  stage: container_build
  tags:
  - arch:amd64
  timeout: 30m
  variables:
    ARCH: amd64
    BUILD_ARG: --target test --build-arg DD_AGENT_ARTIFACT=datadog-fips-agent-7*-amd64.tar.xz
    BUILD_CONTEXT: Dockerfiles/agent
    IMAGE: registry.ddbuild.io/ci/datadog-agent/agent
    TAG_SUFFIX: -7-fips-jmx
docker_trigger_internal-fips
docker_trigger_internal-fips:
  image: registry.ddbuild.io/ci/datadog-agent-buildimages/deb_x64$DATADOG_AGENT_BUILDIMAGES_SUFFIX:$DATADOG_AGENT_BUILDIMAGES
  needs:
  - artifacts: false
    job: docker_build_fips_agent7
  - artifacts: false
    job: docker_build_fips_agent7_arm64
  rules:
  - if: $CI_COMMIT_BRANCH =~ /^mq-working-branch-/
    when: never
  - if: $DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null
    variables:
      RELEASE_PROD: 'true'
  - allow_failure: true
    variables:
      RELEASE_PROD: 'false'
    when: manual
  script:
  - GITLAB_TOKEN=$($CI_PROJECT_DIR/tools/ci/fetch_secret.sh $GITLAB_TOKEN write_api)
    || exit $?; export GITLAB_TOKEN
  - if [ "$BUCKET_BRANCH" = "beta" ] || [ "$BUCKET_BRANCH" = "stable" ]; then TMPL_SRC_REPO="${TMPL_SRC_REPO}-release";
    fi
  - "if [ \"$BUCKET_BRANCH\" = \"nightly\" ]; then\n  RELEASE_TAG=\"${RELEASE_TAG}-${CI_COMMIT_SHORT_SHA}\"\
    \n  TMPL_SRC_REPO=\"${TMPL_SRC_REPO}-nightly\"\nfi\n"
  - if [ "$BUCKET_BRANCH" = "dev" ]; then RELEASE_TAG="dev-${RELEASE_TAG}-${CI_COMMIT_SHORT_SHA}";
    fi
  - inv pipeline.trigger-child-pipeline --project-name DataDog/images --git-ref master
    --timeout 3600 --variable IMAGE_VERSION --variable IMAGE_NAME --variable RELEASE_TAG
    --variable BUILD_TAG --variable TMPL_SRC_IMAGE --variable TMPL_SRC_REPO --variable
    RELEASE_STAGING --variable RELEASE_PROD --variable DYNAMIC_BUILD_RENDER_RULES
    --variable APPS --variable BAZEL_TARGET --variable DDR --variable DDR_WORKFLOW_ID
    --variable TARGET_ENV --variable DYNAMIC_BUILD_RENDER_TARGET_FORWARD_PARAMETERS
  stage: internal_image_deploy
  tags:
  - arch:amd64
  variables:
    BUILD_TAG: ${CI_COMMIT_REF_SLUG}-fips
    DYNAMIC_BUILD_RENDER_RULES: agent-build-only
    IMAGE_NAME: datadog-agent
    IMAGE_VERSION: tmpl-v11
    RELEASE_STAGING: 'true'
    RELEASE_TAG: ${CI_COMMIT_REF_SLUG}-fips
    TMPL_SRC_IMAGE: v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}-7-fips
    TMPL_SRC_REPO: ci/datadog-agent/agent

Changes Summary

Removed Modified Added Renamed
0 1 21 0

ℹ️ Diff available in the job log.

Copy link

cit-pr-commenter bot commented Nov 13, 2024

Regression Detector

Regression Detector Results

Metrics dashboard
Target profiles
Run ID: 737aaa65-992a-4ad4-ac5e-4fc6fc113df6

Baseline: 199e77a
Comparison: 8a52d52
Diff

Optimization Goals: ✅ No significant changes detected

Fine details of change detection per experiment

perf experiment goal Δ mean % Δ mean % CI trials links
basic_py_check % cpu utilization +1.51 [-2.39, +5.42] 1 Logs
quality_gate_idle memory utilization +0.32 [+0.28, +0.36] 1 Logs bounds checks dashboard
file_tree memory utilization +0.22 [+0.09, +0.36] 1 Logs
file_to_blackhole_1000ms_latency egress throughput +0.14 [-0.63, +0.92] 1 Logs
file_to_blackhole_1000ms_latency_linear_load egress throughput +0.13 [-0.33, +0.59] 1 Logs
uds_dogstatsd_to_api_cpu % cpu utilization +0.07 [-0.66, +0.80] 1 Logs
file_to_blackhole_500ms_latency egress throughput +0.01 [-0.77, +0.79] 1 Logs
tcp_dd_logs_filter_exclude ingress throughput +0.00 [-0.01, +0.01] 1 Logs
file_to_blackhole_100ms_latency egress throughput -0.00 [-0.76, +0.76] 1 Logs
file_to_blackhole_0ms_latency egress throughput -0.01 [-0.75, +0.72] 1 Logs
uds_dogstatsd_to_api ingress throughput -0.02 [-0.13, +0.09] 1 Logs
file_to_blackhole_300ms_latency egress throughput -0.02 [-0.65, +0.60] 1 Logs
tcp_syslog_to_blackhole ingress throughput -0.55 [-0.61, -0.49] 1 Logs
quality_gate_idle_all_features memory utilization -0.58 [-0.73, -0.43] 1 Logs bounds checks dashboard
otel_to_otel_logs ingress throughput -1.07 [-1.76, -0.37] 1 Logs
pycheck_lots_of_tags % cpu utilization -3.05 [-6.46, +0.36] 1 Logs

Bounds Checks: ✅ Passed

perf experiment bounds_check_name replicates_passed links
file_to_blackhole_0ms_latency lost_bytes 10/10
file_to_blackhole_0ms_latency 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 memory_usage 10/10 bounds checks dashboard
quality_gate_idle_all_features 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:

  1. Its estimated |Δ mean %| ≥ 5.00%, indicating the change is big enough to merit a closer look.

  2. 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.

  3. Its configuration does not mark it "erratic".

CI Pass/Fail Decision

Passed. All Quality Gates passed.

  • quality_gate_idle, bounds check memory_usage: 10/10 replicas passed. Gate passed.
  • quality_gate_idle_all_features, bounds check memory_usage: 10/10 replicas passed. Gate passed.

@Kaderinho Kaderinho force-pushed the nicolas.guerguadj/fips-agent-new-package branch from 9b446b3 to 6172db5 Compare November 15, 2024 11:22
@Kaderinho Kaderinho marked this pull request as ready for review November 15, 2024 13:10
@Kaderinho Kaderinho requested review from a team as code owners November 15, 2024 13:10
@alopezz alopezz self-requested a review November 21, 2024 08:52
.gitlab/container_build/docker_linux.yml Outdated Show resolved Hide resolved
.gitlab/package_build/linux.yml Outdated Show resolved Hide resolved
.gitlab/package_build/linux.yml Outdated Show resolved Hide resolved
.gitlab/packaging/rpm.yml Outdated Show resolved Hide resolved
.gitlab/packaging/rpm.yml Outdated Show resolved Hide resolved
.gitlab/packaging/rpm.yml Show resolved Hide resolved
omnibus/config/software/datadog-agent.rb Show resolved Hide resolved
@pgimalac
Copy link
Member

/merge

@dd-devflow
Copy link

dd-devflow bot commented Nov 28, 2024

Devflow running: /merge

View all feedbacks in Devflow UI.


2024-11-28 09:36:18 UTC ℹ️ MergeQueue: waiting for PR to be ready

This merge request is not mergeable yet, because of pending checks/missing approvals. It will be added to the queue as soon as checks pass and/or get approvals.
Note: if you pushed new commits since the last approval, you may need additional approval.
You can remove it from the waiting list with /remove command.


2024-11-28 09:43:27 UTC ℹ️ MergeQueue: merge request added to the queue

The median merge time in main is 22m.

@dd-mergequeue dd-mergequeue bot merged commit 90bfbe5 into main Nov 28, 2024
314 checks passed
@dd-mergequeue dd-mergequeue bot deleted the nicolas.guerguadj/fips-agent-new-package branch November 28, 2024 10:18
@github-actions github-actions bot added this to the 7.61.0 milestone Nov 28, 2024
clarkb7 added a commit that referenced this pull request Dec 2, 2024
clarkb7 added a commit that referenced this pull request Dec 4, 2024
fix unknown tag error

fix fips-mode build option

set omnibus flavor option

select msgo via DD_GO_TOOLCHAIN

add fips flavor to MSI build

fix GOROOT vs GOPATH mixup

set winbuildimages to version that includes msgo

new guid

readability refactor

fix batch syntax

front of path

update buildimage

fix system-probe via d5f4f83

remove major-version arg

#31004 (comment)

move DD_GO_TOOLCHAIN into omnibus

#31004 (comment)
#31004 (comment)

use released winbuildimage

sanity check for go.exe

provide AgentVersion to AgentFlavoryFactory

static AgentFlavorFactory

whitespace

.go-version full path

try forwardslash

move msgo root logic to python

comment

check var
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.