Skip to content

Circle CI: Adapt to upcoming breaking change - #23830

Merged
thewilsonator merged 1 commit into
dlang:masterfrom
kinke:circle_modernize
Sep 12, 2026
Merged

Circle CI: Adapt to upcoming breaking change#23830
thewilsonator merged 1 commit into
dlang:masterfrom
kinke:circle_modernize

Conversation

@kinke

@kinke kinke commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

The v2 YAML support will be dropped on September 21st, we need to migrate to v2.1.

The v2 YAML support will be dropped on September 21st, we need to
migrate to v2.1.
Comment thread .circleci/config.yml
working_directory: ~/dmd # the Phobos Makefile expects this dir name, not Circle's default `~/project`
machine:
image: ubuntu-2604:current
resource_class: large.gen3

@kinke kinke Sep 11, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Switching from a docker container to a VM enables using the Gen3 runners, which were announced as beta some weeks ago, and are now seemingly undocumented again (from the price list).

The large.gen3 class features 4 CPU cores and 16 GB of RAM, and costs 14 credits per minute (last time I saw it in the pricing list), vs. 2 cores/4 GB for the currently used medium docker gen1 @ 10 credits per minute.

The thing is that gen3 is at the same time also much faster per core (Zen v5 CPUs etc.) - the CI job here took 6:34 mins, whereas a recent master one took 33+ mins. So we should be easily able to 'afford' the upgrade from medium to large resource class (1.4x credits per minute, but 5x as fast); as the linked graph shows, the CPU utilization is good.

Comment thread .circleci/config.yml
resource_class: large.gen3
steps:
- checkout:
method: blobless

@kinke kinke Sep 11, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

blobless is the default setting: https://circleci.com/docs/reference/configuration-reference/#checkout

[And parallelism: 1 too.]

@kinke
kinke marked this pull request as ready for review September 11, 2026 23:11
@thewilsonator
thewilsonator merged commit 6aba772 into dlang:master Sep 12, 2026
43 checks passed
@kinke
kinke deleted the circle_modernize branch September 12, 2026 09:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants