Virtual-environments: Terraform version automatically updated to v 0.13 in all ubuntu boxes breaking our terraform pipelines

Created on 21 Aug 2020  路  3Comments  路  Source: actions/virtual-environments

Description
A clear and concise description of what the bug is, and why you consider it to be a bug.

Area for Triage:

Question, Bug, or Feature?:

Virtual environments affected

  • [ ] macOS 10.15
  • [X] Ubuntu 16.04 LTS
  • [X] Ubuntu 18.04 LTS
  • [X] Ubuntu 20.04 LTS
  • [ ] Windows Server 2016 R2
  • [ ] Windows Server 2019

Expected behavior
A description of what you expected to happen.

Actual behavior
A description of what is actually happening.

Repro steps
A description with steps to reproduce the issue. If your have a public example or repo to share,
please provide the link.

  1. Run terraform steps on a pipeline using any ubuntu MS-hosted agent.
  2. Documentation for your images says it's using version 0.12.29 terraform
  3. However your install.sh file is grabbing the latest terraform version available
  4. Terraform major upgrades are considered breaking changes (in this case Terraform just released v13.0 from v12.0)
  5. We were assuming that ubuntu MS hosted boxes had fixed versions. However this automatically broke a lot of our Terraform pipelines.

Please resolve by locking down a specific version instead of using latest. And also please include in your agent release notes when you decide to upgrade.

Thank you

Packages Ubuntu question

All 3 comments

Duplicate of #1429 .
Unfortunately, there is no easy way to install multiple terraform versions on image side by side. if we freeze terraform 0.12.29 for now. We will never update it in future. So we always install the latest version. The same approach that we use for other tools.
If you need to freeze specific version, I suggest to use official action: https://github.com/marketplace/actions/hashicorp-setup-terraform. It will help to install specific version of terraform on machine and will make sure that your build will continue to run with the specified version of Terraform.

Documentation for Ubuntu-1604 and 2004 are already updated because deployment was finished.
Documentation for Ubuntu 1804 was not updated yet because update is not deployed everywhere yet. We update documentation in master after deployment is finished.
Release notes of images that are currently deploying can be tracked via GitHub Release or Pull Request.

Is there a way to pin to the specific tag version? I tried runs-on: ubuntu-18.04:20200806 and runs-on: ubuntu-18.04:20200806.0 with no success. Ideally having access to a few previously tagged images would help ease this pain when using Github Actions.

Unfortunately, it is not possible to specify image version somehow for now. VM contain the single image at the same time. Supporting a few versions of the same image type === Supporting a few different image types. It brings additional complexity from maintenance side (like scaling number of VMs and etc) because it will be different set of VMs

Was this page helpful?
0 / 5 - 0 ratings

Related issues

zackijack picture zackijack  路  3Comments

damccorm picture damccorm  路  3Comments

shivammathur picture shivammathur  路  3Comments

mcooley picture mcooley  路  3Comments

raulpopadineti picture raulpopadineti  路  3Comments