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

Expand aarch64 support to all CI images #2380

Merged
merged 16 commits into from
Nov 22, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 41 additions & 41 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -204,9 +204,9 @@ orbs:
- *step_compute_bundle_checksum
- restore_cache:
keys:
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ checksum ".circleci/images/primary/binary_version" }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ checksum ".circleci/images/primary/binary_version" }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ checksum ".circleci/images/primary/binary_version" }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}
- *check_exact_bundle_cache_hit
- *step_bundle_install
- when:
Expand All @@ -226,7 +226,7 @@ orbs:
paths:
- /app
- save_cache:
key: bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
key: bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ checksum ".circleci/images/primary/binary_version" }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
paths:
- /usr/local/bundle
build_and_test_integration:
Expand Down Expand Up @@ -278,7 +278,7 @@ orbs:
- '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
- restore_cache:
keys:
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ checksum ".circleci/images/primary/binary_version" }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- run:
name: Set coverage report directory
command: |
Expand Down Expand Up @@ -323,7 +323,7 @@ orbs:
- '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
- restore_cache:
keys:
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ checksum ".circleci/images/primary/binary_version" }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- run:
name: Run Benchmark
command: bundle exec appraisal rails5-postgres-sidekiq ruby benchmarks/sidekiq_test.rb 2>&1 1> /dev/null | tee benchmark_results.csv
Expand All @@ -338,7 +338,7 @@ orbs:
- '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
- restore_cache:
keys:
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ checksum ".circleci/images/primary/binary_version" }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- *step_rubocop
sorbet_type_checker:
<<: *test_job_default
Expand All @@ -348,7 +348,7 @@ orbs:
- '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
- restore_cache:
keys:
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ checksum ".circleci/images/primary/binary_version" }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- *step_sorbet_type_checker
coverage:
<<: *test_job_default
Expand All @@ -358,7 +358,7 @@ orbs:
- '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
- restore_cache:
keys:
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ checksum ".circleci/images/primary/binary_version" }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- attach_workspace:
at: /tmp/workspace
- run:
Expand All @@ -381,7 +381,7 @@ orbs:
- '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
- restore_cache:
keys:
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ checksum ".circleci/images/primary/binary_version" }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
- attach_workspace:
at: /tmp/workspace
- run:
Expand Down Expand Up @@ -419,7 +419,7 @@ jobs:
docker:
- environment:
*container_base_environment
image: ivoanjo/docker-library:ddtrace_rb_2_5_9
image: ghcr.io/datadog/dd-trace-rb/ruby:2.5.9-dd
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor: Since the repo name already includes dd-trace-rb, consider perhaps dropping the -dd suffix at the end?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The suffix is intentional, I will need to have neutral, "bare" ruby images to base myself upon at DataDog/system-tests-apps-ruby, the -dd suffix means that it's ruby but with some Datadog-specific additions.

Picture it like this:

  • ghcr.io/datadog/dd-trace-rb/ruby:2.5.9 should be like ruby:2.5.9 from Docker hub (except more up to date WRT bundler + base Debian).
  • ghcr.io/datadog/dd-trace-rb/ruby:2.5.9-dd is the above but with all the DataDog stuff added in.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair enough! Consider documenting that somewhere ;)

resource_class: small
steps:
- checkout
Expand All @@ -441,7 +441,7 @@ jobs:
docker:
- environment:
*container_base_environment
image: ivoanjo/docker-library:ddtrace_rb_2_5_9
image: ghcr.io/datadog/dd-trace-rb/ruby:2.5.9-dd
resource_class: small
steps:
- run:
Expand Down Expand Up @@ -480,76 +480,76 @@ job_configuration:
- &config-2_1
<<: *filters_all_branches_and_tags
ruby_version: '2.1'
image: ivoanjo/docker-library:ddtrace_rb_2_1_10
image: ghcr.io/datadog/dd-trace-rb/ruby:2.1.10-dd
resource_class_to_use: medium+
- &config-2_2
<<: *filters_all_branches_and_tags
ruby_version: '2.2'
image: ivoanjo/docker-library:ddtrace_rb_2_2_10
image: ghcr.io/datadog/dd-trace-rb/ruby:2.2.10-dd
resource_class_to_use: medium+
- &config-2_3
<<: *filters_all_branches_and_tags
ruby_version: '2.3'
image: ivoanjo/docker-library:ddtrace_rb_2_3_8
image: ghcr.io/datadog/dd-trace-rb/ruby:2.3.8-dd
resource_class_to_use: medium+
- &config-2_4
<<: *filters_all_branches_and_tags
ruby_version: '2.4'
image: ivoanjo/docker-library:ddtrace_rb_2_4_10
image: ghcr.io/datadog/dd-trace-rb/ruby:2.4.10-dd
resource_class_to_use: medium+
- &config-2_5
<<: *filters_all_branches_and_tags
ruby_version: '2.5'
image: ivoanjo/docker-library:ddtrace_rb_2_5_9
image: ghcr.io/datadog/dd-trace-rb/ruby:2.5.9-dd
resource_class_to_use: medium+
- &config-2_6
<<: *filters_all_branches_and_tags
ruby_version: '2.6'
image: ivoanjo/docker-library:ddtrace_rb_2_6_7
image: ghcr.io/datadog/dd-trace-rb/ruby:2.6.7-dd
resource_class_to_use: medium+
- &config-2_7
<<: *filters_all_branches_and_tags
ruby_version: '2.7'
image: ivoanjo/docker-library:ddtrace_rb_2_7_3
image: ghcr.io/datadog/dd-trace-rb/ruby:2.7.3-dd
resource_class_to_use: medium+
- &config-2_7-small
<<: *config-2_7
resource_class_to_use: small
- &config-3_0
<<: *filters_all_branches_and_tags
ruby_version: '3.0'
image: ivoanjo/docker-library:ddtrace_rb_3_0_3
image: ghcr.io/datadog/dd-trace-rb/ruby:3.0.3-dd
resource_class_to_use: medium+
- &config-3_1
<<: *filters_all_branches_and_tags
ruby_version: '3.1'
image: ivoanjo/docker-library:ddtrace_rb_3_1_1
image: ghcr.io/datadog/dd-trace-rb/ruby:3.1.1-dd
resource_class_to_use: medium+
- &config-3_2
<<: *filters_all_branches_and_tags
ruby_version: '3.2'
image: ivoanjo/docker-library:ddtrace_rb_3_2_0_preview2
image: ghcr.io/datadog/dd-trace-rb/ruby:3.2.0-preview2-dd
resource_class_to_use: medium+
# ADD NEW RUBIES HERE
- &config-jruby-9_2_8_0 # Test with older 9.2 release because 9.2.9.0 changed behavior, see https://github.com/DataDog/dd-trace-rb/pull/1409
<<: *filters_all_branches_and_tags
ruby_version: 'jruby-9.2.8.0'
image: ivoanjo/docker-library:ddtrace_rb_jruby_9_2_8_0
image: ghcr.io/datadog/dd-trace-rb/jruby:9.2.8.0-dd
resource_class_to_use: medium+
- &config-jruby-9_2-latest # More recent release of 9.2
<<: *filters_all_branches_and_tags
ruby_version: 'jruby-9.2-latest'
image: ivoanjo/docker-library:ddtrace_rb_jruby_9_2_18_0
image: ghcr.io/datadog/dd-trace-rb/jruby:9.2.18.0-dd
resource_class_to_use: medium+
- &config-jruby-9_3-latest
<<: *filters_all_branches_and_tags
ruby_version: 'jruby-9.3-latest'
image: ivoanjo/docker-library:ddtrace_rb_jruby_9_3_4_0
image: ghcr.io/datadog/dd-trace-rb/jruby:9.3.4.0-dd
resource_class_to_use: medium+
- &config-truffleruby-21_0_0
- &config-truffleruby-22_0_0
<<: *filters_all_branches_and_tags
ruby_version: 'truffleruby-21.0.0'
image: ivoanjo/docker-library:ddtrace_rb_truffleruby_21_0_0
ruby_version: 'truffleruby-22.0.0'
image: ghcr.io/datadog/dd-trace-rb/truffleruby:22.3.0-dd
resource_class_to_use: medium+

workflows:
Expand Down Expand Up @@ -585,7 +585,7 @@ workflows:
- test-jruby-9.2.8.0
- test-jruby-9.2-latest
- test-jruby-9.3-latest
# soon™️ - test-truffleruby-21.0.0
# soon™️ - test-truffleruby-22.0.0
- orb/changelog:
<<: *config-2_7-small
name: changelog
Expand Down Expand Up @@ -762,13 +762,13 @@ workflows:
# TruffleRuby
# soon™️
# - orb/build:
# <<: *config-truffleruby-21_0_0
# name: build-truffleruby-21.0.0
# <<: *config-truffleruby-22_0_0
# name: build-truffleruby-22.0.0
# - orb/test:
# <<: *config-truffleruby-21_0_0
# name: test-truffleruby-21.0.0
# <<: *config-truffleruby-22_0_0
# name: test-truffleruby-22.0.0
# requires:
# - build-truffleruby-21.0.0
# - build-truffleruby-22.0.0
# Release jobs
- "deploy prerelease Gem":
<<: *filters_all_branches_and_tags
Expand All @@ -790,7 +790,7 @@ workflows:
- test-jruby-9.2.8.0
- test-jruby-9.2-latest
- test-jruby-9.3-latest
# soon™️ - test-truffleruby-21.0.0
# soon™️ - test-truffleruby-22.0.0
- "deploy release":
<<: *filters_only_release_tags
requires:
Expand All @@ -811,7 +811,7 @@ workflows:
- test-jruby-9.2.8.0
- test-jruby-9.2-latest
- test-jruby-9.3-latest
# soon™️ - test-truffleruby-21.0.0
# soon™️ - test-truffleruby-22.0.0
# This workflow runs the same `build` and `test` jobs as above on a schedule.
# Tasks related to housekeeping (e.g. prerelease) are not relevant
# to this daily check, as they are not expected to be impacted here.
Expand Down Expand Up @@ -1003,11 +1003,11 @@ workflows:
# TruffleRuby
# soon™️
# - orb/build:
# <<: *config-truffleruby-21_0_0
# name: build-truffleruby-21.0.0
# <<: *config-truffleruby-22_0_0
# name: build-truffleruby-22.0.0
# edge: true
# - orb/test:
# <<: *config-truffleruby-21_0_0
# name: test-truffleruby-21.0.0
# <<: *config-truffleruby-22_0_0
# name: test-truffleruby-22.0.0
# requires:
# - build-truffleruby-21.0.0
# - build-truffleruby-22.0.0
Loading