Skip to content

Releases: cloudposse/github-action-terraform-plan-storage

v2.0.0

03 Dec 15:24

Choose a tag to compare

Google backends: gcs and firestore (#35) @goruha (#36) ## what

Use google services to store state (gcs) and metadata (firestore)

why

For those who use google cloud it is hard to adopt atmos as all the GH tooling is built around AWS. This PR and several other fixes that.

references

See also related PRs in:

Usage

To use the GCP implementation, specify planRepositoryType as gcs and metadataRepositoryType as firestore, then provide the following GCP-specific settings: googleProjectId to specify the project for both GCS bucket and Firestore, bucketName for GCS storage, and googleFirestoreDatabaseName/googleFirestoreCollectionName for Firestore metadata.

The component, stack, planPath, and action parameters work the same way as in AWS and Azure examples.

 - name: Store Plan
    uses: cloudposse/github-action-terraform-plan-storage@v2
    id: store-plan
    with:
      action: storePlan
      planPath: my-plan.tfplan
      component: mycomponent
      stack: core-mycomponent-use1
      planRepositoryType: gcs
      metadataRepositoryType: firestore
      bucketName: my-terraform-plans
      gcpProjectId: my-gcp-project
      gcpFirestoreDatabaseName: terraform-plan-metadata
      gcpFirestoreCollectionName: terraform-plan-storage

 - name: Get Plan
    uses: cloudposse/github-action-terraform-plan-storage@v2
    id: get-plan
    with:
      action: getPlan
      planPath: my-plan.tfplan
      component: mycomponent
      stack: core-mycomponent-use1
      planRepositoryType: gcs
      metadataRepositoryType: firestore
      bucketName: my-terraform-plans
      gcpProjectId: my-gcp-project
      gcpFirestoreDatabaseName: terraform-plan-metadata
      gcpFirestoreCollectionName: terraform-plan-storage

🤖 Automatic Updates

Update .github/settings.yml @osterman (#33) ## what - Update `.github/settings.yml` - Drop `.github/auto-release.yml` files

why

  • Re-apply .github/settings.yml from org level
  • Use organization level auto-release settings

references

  • DEV-1242 Add protected tags with Repository Rulesets on GitHub

v1.15.0

13 Jun 10:12

Choose a tag to compare

Fix dynamodb scan paginator @goruha (#32)

what

  • Support pagination for DynamoDB scan

why

  • Because scan works by batch 1Mb of data.
If the total size of scanned items exceeds the maximum dataset size limit of 1 MB, the scan completes and results are returned to the user. The LastEvaluatedKey value is also returned and the requestor can use the LastEvaluatedKey to continue the scan in a subsequent operation.
  • Fix false negatives get plan cases

CleanShot 2024-06-12 at 14 33 55@2x

references

v1.14.0

08 Apr 12:22
55b5d34

Choose a tag to compare

Fix CVE-2023-26136 @goruha (#30)

what

  • Update @azure/ms-rest-js@^2.6.6 to @azure/ms-rest-js@^2.7.0

why

references

v1.13.0

11 Mar 11:39
32928d9

Choose a tag to compare

Disable auto release publisihing @goruha (#28)

what

  • Disable auto release publisihing

why

  • Auto-release publish does not trigger release workflow

v1.12.0

28 Feb 12:11
61283f0

Choose a tag to compare

Upgrade Node 20 @goruha (#26)

what

  • Upgrade Node 20
chore(DEV-1563): README Updated @milldr (#25)

what

  • Updated description and generated latest README

why

  • QoL improvement for documentation
  • Use the latest README template

references

  • DEV-1563
Consolidate auto-release workflow @goruha (#24)

what

  • Use cloudposse/github-action-auto-release in auto-release.yaml workflow

why

  • Solve old nodejs warning
  • Reduce duplication of code

v1.11.0

12 Jan 17:39
cabb232

Choose a tag to compare

feature add azure support @mcalhoun (#23)

what

Add Azure support

why

  • To allow users running in Azure to store their plans and metadata in Azure rather than AWS

v1.10.0

05 Sep 21:30
32e6868

Choose a tag to compare

Respect commit SHA if provided @zdmytriv (#19)

what

  • Respect commit SHA if provided

why

  • Respect commit SHA if provided

references

v1.9.0

01 Sep 10:04
17f0566

Choose a tag to compare

Added `input.commitSHA` @zdmytriv (#18)

what

  • Added commitSHA optional overwrite input

why

  • Added commitSHA optional overwrite input

references

v1.8.0

28 Jul 00:35
209c4b1

Choose a tag to compare

Support `workflow_dispatch` @milldr (#17)

what

  • set alternate sha and branch

why

  • support executing this action from workflow_dispatch

references

  • DEV-1008

v1.7.0

12 Jul 22:40
303b347

Choose a tag to compare

QueryCommandInput for Latest from PR @milldr (#16)

what

  • Use a QueryCommandInput instead of a ScanCommandInput to get the latest change from a PR
  • Remove Limit from PR command

why

  • QueryCommandInput should be used with QueryCommand to filter and pull the latest DynamoDB table entry
  • Without this change, the action always fails to find the plan entry even if the entry is valid
{"message":"The plan for demo-new in the stack plat-use2-sandbox for pr 22 does not exist."}
  • Limit will only return the most recent result before filtering. This means only the most recent planfile will be returned across all PRs, not our specific PR

A single Query operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression.

references