Skip to content

feat(arm): report per-project source_format and the Bicep gate in telemetry - #210

Draft
glenngillen wants to merge 2 commits into
mainfrom
feature/bicep-source-format
Draft

feat(arm): report per-project source_format and the Bicep gate in telemetry#210
glenngillen wants to merge 2 commits into
mainfrom
feature/bicep-source-format

Conversation

@glenngillen

@glenngillen glenngillen commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Adds a sourceFormats property to the run event, one entry per project (bicep | json | bicep-generated-json), plus a bicepEnabled metadata field, so Bicep adoption is measurable separately from hand-written ARM JSON.


Bicep support, across repos: parser#234 · runner#1377 · cli#210 · lsp#70 · dashboard#5423 · vscode#347 · jetbrains#30 · nvim#3 · zed#4 · docs#1005

Merge order that matters

  1. dashboard#5423 must be deployed before runner#1377 ships. The runner posts BICEP to /_internal/repo/iac-types; without the Prisma enum value and its migration the API rejects the call with a 400 invalid_iac_types.
  2. parser#234 merges and the arm plugin 0.0.8 is published before runner#1377's plugins.json bump does anything. Until then the runner downloads arm 0.0.7, which has no Bicep capability, so INFRACOST_ENABLE_BICEP is inert and the e2e Bicep goldens can't be captured.
  3. lsp#70 before the four editor PRs are useful. They send an enableBicep init option; an older server ignores it, so merging them first is harmless but has no effect.
  4. Everything else is independent. cli#210 is telemetry only.

Nothing here should be released until the arm plugin 0.0.8 cut is deliberate — the feature is off unless INFRACOST_ENABLE_BICEP is set, but the plugin version bump is the point of no return.

…emetry

Adds a sourceFormats run property (bicep | json | bicep-generated-json, one entry
per project) sourced from the arm plugin's raw options, and registers bicepEnabled
so runs with the gate on are distinguishable — the projects it unlocks are typed
arm like any other. Accepts the same spellings the plugin does, so telemetry cannot
contradict what was priced.
codespell's en-GB_to_en-US builtin gates the build.
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.

1 participant