Jeppe Fihl-Pearson b2bcd48feb Cache downloaded Go dependencies and Atlantis compilation in Docker (#2738)
This has the potential to speed up rebuilds of the Atlantis container
significantly, especially for non-x86 platforms which are emulated when
done in GitHub Actions.

It works by using cache mounts:
https://docs.docker.com/engine/reference/builder/#run---mounttypecache.
They mean we can have specific paths set that are carried over from one
image build to the next, regardless of which files are changed in the
project. The files are however at the same time not part of the final
image, which reduces the generated "builder" image from 1.66 GB to just
386 MB on the current main branch.

In my local tests, which doesn't make use of emulation, I saw a drop
for the "go build" step going from taking just over 40 seconds with an
empty cache to around 1 second when I make a one character change to a
Go source file. That is otherwise a change that prior to this would
cause a complete rebuild of the Docker image layer.

Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com>
2022-12-04 21:47:43 -06:00
2022-11-12 21:58:24 -06:00
2022-11-14 12:08:10 -06:00
2022-11-28 12:26:41 -08:00
2022-11-12 21:58:24 -06:00
2022-11-12 20:32:39 -06:00
2022-11-28 12:26:41 -08:00
2018-03-15 17:25:02 -07:00
2022-11-28 12:26:41 -08:00
2018-08-16 13:02:09 -10:00

Atlantis

SuperDopeBadge Go Report Card codecov CircleCI Slack

Atlantis Logo

Terraform Pull Request Automation

Resources

What is Atlantis?

A self-hosted golang application that listens for Terraform pull request events via webhooks.

What does it do?

Runs terraform plan and apply remotely and comments back on the pull request with the output.

Why should you use it?

  • Make Terraform changes visible to your whole team.
  • Enable non-operations engineers to collaborate on Terraform.
  • Standardize your Terraform workflows.

Stargazers over time

Stargazers over time

Description
Terraform Pull Request Automation
Readme 215 MiB