[agent-issue]: support declarative Azure DevOps pipeline variables in workflow source
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- azure, rust, yaml
- Domain
- build-system, ci-cd, devops, documentation, testing-qa
Research direction
No source files are named. Start by tracing the front-matter parsing and compilation paths used by ado-aw compile workflow.md, then compare them with existing variable-groups: handling. Done means valid non-secret scalar mappings produce deterministic variables for standalone and 1ES targets, while compile, lint, and check cover collisions, invalid values, ordering, and lock stability.
Written by the indexing model from the issue text.
Description
Submission requirements
- I generated this issue with an agent that used
.github/agents/ado-aw.agent.md. - I reviewed the generated issue and confirm it is being filed directly in
githubnext/ado-aw.
Problem summary
ado-aw supports importing Azure DevOps variable groups through variable-groups:, but workflow front matter cannot declare ordinary pipeline YAML variables. A top-level variables: mapping is rejected as an unknown field.
Some Azure DevOps platform features and pipeline extensions require variables to exist at pipeline compile time. Without source-level support, operators must add those variables directly to each generated pipeline definition after registration. That configuration is outside the workflow source and generated lock, can drift across definitions, and may be lost when a definition is removed and recreated.
This is distinct from runtime env: values and variable-group imports: runtime environment variables may be too late for compile-time pipeline behavior, while a variable group is unnecessary for non-secret feature flags and settings.
Reproduction details
Given a minimal workflow:
---
name: Compile-time feature configuration
target: standalone
variables:
Platform.FeatureEnabled: true
Platform.Mode: strict
engine: copilot
---
Perform the configured task.
Run:
ado-aw compile workflow.md
Observed behavior:
unknown field `variables`
The current workaround is to configure each Azure DevOps pipeline definition out-of-band after ado-aw enable, for example with az pipelines variable create. The Markdown source and generated lock provide no indication that the workflow depends on those settings.
Expected behavior: non-secret pipeline variables can be declared in workflow front matter and are emitted into the generated YAML:
variables:
- name: Platform.FeatureEnabled
value: true
- name: Platform.Mode
value: strict
Proposed next step
Add a source-level variables: field for non-secret Azure DevOps pipeline variables.
Suggested acceptance criteria:
- Front matter accepts a mapping of variable names to scalar string, boolean, or numeric values.
- Compilation emits deterministic Azure DevOps YAML variables for standalone and 1ES-compatible targets.
- The compiler rejects collisions with variables it generates or reserves, with an actionable diagnostic.
- Precedence and ordering relative to
variable-groups:are documented and deterministic. - Secret literals are rejected or explicitly unsupported; documentation directs secret values to
variable-groups:. - Values are serialized safely without accidentally interpreting untrusted template, macro, runtime-expression, or logging-command syntax.
compile,lint, andchecktests cover valid declarations, invalid names and values, reserved-name collisions, and stable lock generation.- Documentation distinguishes compile-time pipeline variables from agent/runtime environment variables.
- Dominant language
- Rust
- Stars
- 23
- Forks
- 8
- Avg merge
- 3d 14h
- Merged PRs (30d)
- 20
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from githubnext/ado-aw
-
docs documentation
Difficulty 1/5 Under an hour Newbie friendliness 85/100
githubnext/ado-aw#1766 ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
githubnext/ado-aw#1041 ·
-
security
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
githubnext/ado-aw#855 ·
-
refactor rust
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
githubnext/ado-aw#384 ·
-
agentic-workflows
Difficulty 3/5 1-2 days Newbie friendliness 48/100
githubnext/ado-aw#2215 ·
All issues in githubnext/ado-aw
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug team:backend track:services-maintenance
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
cowprotocol/services#4950 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
gitbutlerapp/gitbutler#15998 · 1 comment ·