edit: the pipeline is now working with #481. This ticket is still open because we could try to make the naming / deployment history on our Azure DevOps Environments a little more intuitive. See the second solution described below.
The infra pipeline is currently not able to run. The actual eligibility servers are still up and running, so this is not causing an outage, but we should get the infra pipeline back to working ASAP.
To Reproduce
Steps to reproduce the behavior:
- Go to Azure DevOps
- View recent infra pipeline runs
- See error about the job requiring an Environment
Expected behavior
The infra pipeline succeeds.
Environment
Affects the infra pipeline only
Agency
Applies to infra pipelines for all agencies
Additional context
I removed the Approval environment from the Apply deployment job in #477 in an attempt to have it run without needing our manual approval, but that is not how it works.
Environments in Azure DevOps represent a collection of resources that you might want to deploy to, for example maybe a VM or a Kubernetes environment. The Environment does not actually need to hold any resources, but it can. A use case for having an empty Environment is so you can use other features that it provides like deployment history and manual approvals.
A deployment job is a special type of job, and when it runs, it adds to the deployment history of the Environment that it is associated with. Therefore it requires an Environment.
The simplest way to remove approvals:
- add back
environment: Approval to the Apply job
- edit the
Approval environment to not require any approvals (screenshot of configuration screen below)
An alternate way which requires more changes, but uses Environments in a way that maybe makes more sense:
- create 3 new Environments:
Dev, Test, and Prod - none of which require approval
- in
terraform/pipeline/deploy.yml, derive the correct Environment name and store it in a variable
- set the
environment on the Apply job using that variable
- delete the
Approval environment
With this alternate way, we would be able to see the deployment history for each environment separately instead of all in one. Current deployment history on Approval is for all 3:

edit: the pipeline is now working with #481. This ticket is still open because we could try to make the naming / deployment history on our Azure DevOps Environments a little more intuitive. See the second solution described below.
The infra pipeline is currently not able to run. The actual eligibility servers are still up and running, so this is not causing an outage, but we should get the infra pipeline back to working ASAP.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The infra pipeline succeeds.
Environment
Affects the infra pipeline only
Agency
Applies to infra pipelines for all agencies
Additional context
I removed the
Approvalenvironment from theApplydeployment job in #477 in an attempt to have it run without needing our manual approval, but that is not how it works.Environments in Azure DevOps represent a collection of resources that you might want to deploy to, for example maybe a VM or a Kubernetes environment. The Environment does not actually need to hold any resources, but it can. A use case for having an empty Environment is so you can use other features that it provides like deployment history and manual approvals.
A deployment job is a special type of job, and when it runs, it adds to the deployment history of the Environment that it is associated with. Therefore it requires an Environment.
The simplest way to remove approvals:
environment: Approvalto theApplyjobApprovalenvironment to not require any approvals (screenshot of configuration screen below)An alternate way which requires more changes, but uses Environments in a way that maybe makes more sense:
Dev,Test, andProd- none of which require approvalterraform/pipeline/deploy.yml, derive the correct Environment name and store it in a variableenvironmenton theApplyjob using that variableApprovalenvironmentWith this alternate way, we would be able to see the deployment history for each environment separately instead of all in one. Current deployment history on

Approvalis for all 3: