Skip to content

gauntlet: stock's cold_deploy installs the newest hashicorp/aws from registry.terraform.io while choudoufu's stages resolve against registry.opentofu.org, so a mirror lag fails five estates #1034

Description

@lex00

What

On 2026-09-10 a full core re-measure on the current pin dropped the board from 26/26 to 20/26. Five of the six were one cause and not a defect in anything this repository owns.

hashicorp/aws 6.64.0 was published to registry.terraform.io at 2026-09-09T20:52Z. Stock's cold_deploy installs the newest provider from there and writes it into the lock file. choudoufu's later stages resolve the same lock against registry.opentofu.org, which had not mirrored 6.64.0 yet, checked directly with curl against both registries with no terraform in the loop. Four estates then failed migrate at init:

Could not resolve provider hashicorp/aws: the previously-selected version 6.64.0 is no longer available

and corpus-rds-complete-postgres failed migrate on unsupported attribute "warning_event_categories", the field 6.64.0 added to aws_db_instance, because the two halves of one crossing were reading two provider versions.

Estates: corpus-ec2-instance-complete, corpus-iam-policy, corpus-iam-read-only-policy, corpus-sqs-basic, corpus-rds-complete-postgres. The sixth, corpus-alb-complete, is #673 and unrelated.

This is not one of the five rows. Both runners are not failing the same way, choudoufu is not refusing where stock proceeds, and the emulator is not wrong. It is the harness floating a provider across two registries, which is the class #1023 just closed for the example and #544 named for the gauntlet.

Do

Make one crossing read one provider version from one place. Either pin hashicorp/aws for the gauntlet's stock stages to a version both registries serve, updated deliberately the way live/floci-image is, or point stock's install at the same registry choudoufu resolves against. Then re-run the five estates above and merge the artifact.

Also decide what live/gauntlet/regressions.json should say for a transient of this kind, since tools/gauntlet run printed REGRESSION ... with no matching entry for all six and that file was deliberately left alone by the run.

Proof

The five estates back to clear on a re-run with the provider pinned, and a guard that the stock stages' provider version is the pinned one, shown red when it floats.

Refs #1023, #544, #947, #673.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions