atlantis icon indicating copy to clipboard operation
atlantis copied to clipboard

UnDiverged plan/apply requirement not working in Azure Devops

Open LeandroLeon102 opened this issue 1 year ago • 0 comments

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request. Searching for pre-existing feature requests helps us consolidate datapoints for identical requirements into a single place, thank you!
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment.

Overview of the Issue

Currently, I im trying to add UnDiverged in my plan_requirements and apply_requirements via server-side configuration passed using the ATLANTIS_REPO_CONFIG_JSON environment variable:

{
  "version": 3,
  "delete_source_branch_on_merge": "true",
  "parallel_plan": "true",
  "parallel_apply": "true",
  "repos": [
    {
      "id": "/.*/",
      "plan_requirements": [
        "undiverged"
      ],
      "apply_requirements": [
        "mergeable",
        "approved",
        "undiverged"
      ],
      "allowed_overrides": [
        "apply_requirements",
        "plan_requirements",
        "delete_source_branch_on_merge",
        "repo_locking"
      ]
    }
  ]
}

Also running Atlantis with ATLANTIS_CHECKOUT_STRATEGY set to "merge"

I have found that there is an emoji that is not working as expected in Azure Devops in the message shown when creating a Pull Request to merge an outdated branch

Screen Shot 2024-02-06 at 9 11 40 AM

Also, Atlantis is allowing me to run atlantis plan and atlantis apply even if the source branch is outdated. I am not sure if this is the expected behavior but as far as I understand from the Command Requirements documentation, this should prevent users to run plan/applies.

Environment details

  • Atlantis version: 3
  • Deployment method: ecs
  • Atlantis server-side config file:
{
  "version": 3,
  "delete_source_branch_on_merge": "true",
  "parallel_plan": "true",
  "parallel_apply": "true",
  "repos": [
    {
      "id": "/.*/",
      "plan_requirements": [
        "undiverged"
      ],
      "apply_requirements": [
        "mergeable",
        "approved",
        "undiverged"
      ],
      "allowed_overrides": [
        "apply_requirements",
        "plan_requirements",
        "delete_source_branch_on_merge",
        "repo_locking"
      ]
    }
  ]
}
  • flags:
ATLANTIS_ALLOW_REPO_CONFIG="true"
ATLANTIS_HIDE_PREV_PLAN_COMMENTS="true"
ATLANTIS_WRITE_GIT_CREDS="true"
ATLANTIS_AUTOPLAN_MODULES_FROM_PROJECTS="*.tf,*.tfvars,**/*.tf,**/*.tfvars"
ATLANTIS_LOG_LEVEL="debug"
ATLANTIS_AUTOMERGE="true"
ATLANTIS_EMOJI_REACTION="thumbsup"
ATLANTIS_CHECKOUT_STRATEGY="merge"
ATLANTIS_DEFAULT_TF_VERSION="1.5.7"
ATLANTIS_ENABLE_DIFF_MARKDOWN_FORMAT="true"
ATLANTIS_AUTOPLAN_FILE_LIST="*.tf,*.tfvars,**/*.tf,**/*.tfvars"
ATLANTIS_TFE_LOCAL_EXECUTION_MODE="true"
ATLANTIS_PORT="4141"
ATLANTIS_AUTOPLAN_MODULES="false"
  • Repo atlantis.yaml file:

Not In Use

LeandroLeon102 avatar Feb 06 '24 15:02 LeandroLeon102