From 589f340e98392f10fd1c7912ebbd232809c03b5b Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Wed, 16 Sep 2026 17:29:56 -0500 Subject: [PATCH 1/5] docs: mark this action as deprecated in favor of Atmos Native CI --- README.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.yaml b/README.yaml index 0d50d880..6e9c0b05 100644 --- a/README.yaml +++ b/README.yaml @@ -34,6 +34,13 @@ description: |- # Introduction to the project introduction: |- + > [!WARNING] + > **Deprecated.** Migrate to Atmos's [built-in planfile storage](https://atmos.tools/ci/planfile-storage). + + This action is deprecated in favor of Atmos Native CI. See the migration guide at + https://atmos.tools/deprecated/github-actions/terraform-plan-storage for the equivalent built-in + planfile storage and how to move your workflow over. + A Github Action to securely store Terraform plan files in a cloud storage (S3 or Azure Blob Storage) with metadata storage in cloud document database (DynamoDB or CosmosDB). This is useful in CI/CD pipelines where you want to store the plan files when a feature branch is opened and applied when merged. From 5e46059864ea72079ae55a7f3d2686ab65502d47 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Wed, 16 Sep 2026 18:00:49 -0500 Subject: [PATCH 2/5] docs: regenerate README with deprecation notice --- README.md | 44 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b536101b..6f695d53 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Project Banner
-

Latest ReleaseLast UpdatedSlack Community +

Latest ReleaseLast UpdatedSlack CommunityGet Support

@@ -18,8 +18,8 @@ ** ** This file was automatically generated by the `cloudposse/build-harness`. ** 1) Make all changes to `README.yaml` - ** 2) Run `make init` (you only need to do this once) - ** 3) Run`make readme` to rebuild this file. + ** 2) Install [atmos](https://atmos.tools/install/) (you only need to do this once) + ** 3) Run`atmos readme` to rebuild this file. ** ** (We maintain HUNDREDS of open source projects. This is how we maintain our sanity.) ** @@ -47,6 +47,13 @@ A GitHub Action to securely store Terraform plan files in a cloud storage (S3 or ## Introduction +> [!WARNING] +> **Deprecated.** Migrate to Atmos's [built-in planfile storage](https://atmos.tools/ci/planfile-storage). + +This action is deprecated in favor of Atmos Native CI. See the migration guide at +https://atmos.tools/deprecated/github-actions/terraform-plan-storage for the equivalent built-in +planfile storage and how to move your workflow over. + A Github Action to securely store Terraform plan files in a cloud storage (S3 or Azure Blob Storage) with metadata storage in cloud document database (DynamoDB or CosmosDB). This is useful in CI/CD pipelines where you want to store the plan files when a feature branch is opened and applied when merged. @@ -186,6 +193,32 @@ The `component`, `stack`, `planPath`, and `action` parameters work the same way + +## Requirements + +No requirements. + +## Providers + +No providers. + +## Modules + +No modules. + +## Resources + +No resources. + +## Inputs + +No inputs. + +## Outputs + +No outputs. + + @@ -247,7 +280,8 @@ For additional context, refer to some of these links. > - **Customer Workshops.** Engage with our team in weekly workshops, gaining insights and strategies to continuously improve and innovate. > > Request Quote -> +> + ## ✨ Contributing @@ -324,7 +358,7 @@ All other trademarks referenced herein are the property of their respective owne ## Copyrights -Copyright © 2023-2025 [Cloud Posse, LLC](https://cloudposse.com) +Copyright © 2023-2026 [Cloud Posse, LLC](https://cloudposse.com) From d7ef05270215378f616b124365b97224a3bb99a0 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Wed, 16 Sep 2026 18:07:47 -0500 Subject: [PATCH 3/5] docs: move deprecation notice above introduction --- README.md | 16 +++------------- README.yaml | 3 ++- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 6f695d53..080cf0f3 100644 --- a/README.md +++ b/README.md @@ -33,22 +33,12 @@ A GitHub Action to securely store Terraform plan files in a cloud storage (S3 or Azure Blob Storage) with metadata storage in cloud document database (DynamoDB or CosmosDB). -> [!TIP] -> #### 👽 Use Atmos with Terraform -> Cloud Posse uses [`atmos`](https://atmos.tools) to easily orchestrate multiple environments using Terraform.
-> Works with [Github Actions](https://atmos.tools/integrations/github-actions/), [Atlantis](https://atmos.tools/integrations/atlantis), or [Spacelift](https://atmos.tools/integrations/spacelift). -> ->
-> Watch demo of using Atmos with Terraform ->
-> Example of running atmos to manage infrastructure from our Quick Start tutorial. -> +> [!WARNING] +> **Deprecated.** Migrate to Atmos's [built-in planfile storage](https://atmos.tools/ci/planfile-storage). -## Introduction -> [!WARNING] -> **Deprecated.** Migrate to Atmos's [built-in planfile storage](https://atmos.tools/ci/planfile-storage). +## Introduction This action is deprecated in favor of Atmos Native CI. See the migration guide at https://atmos.tools/deprecated/github-actions/terraform-plan-storage for the equivalent built-in diff --git a/README.yaml b/README.yaml index 6e9c0b05..5eab2619 100644 --- a/README.yaml +++ b/README.yaml @@ -33,10 +33,11 @@ description: |- A GitHub Action to securely store Terraform plan files in a cloud storage (S3 or Azure Blob Storage) with metadata storage in cloud document database (DynamoDB or CosmosDB). # Introduction to the project -introduction: |- +deprecation_notice: |- > [!WARNING] > **Deprecated.** Migrate to Atmos's [built-in planfile storage](https://atmos.tools/ci/planfile-storage). +introduction: |- This action is deprecated in favor of Atmos Native CI. See the migration guide at https://atmos.tools/deprecated/github-actions/terraform-plan-storage for the equivalent built-in planfile storage and how to move your workflow over. From 9127555d6cce12b322a42fba255d83e3586399b3 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Wed, 16 Sep 2026 18:33:02 -0500 Subject: [PATCH 4/5] fix(ci): validate code owners without a missing organization token --- .github/workflows/validate-codeowners.yml | 47 ++++++++++++++--------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/.github/workflows/validate-codeowners.yml b/.github/workflows/validate-codeowners.yml index e7a8159d..d3d0b280 100644 --- a/.github/workflows/validate-codeowners.yml +++ b/.github/workflows/validate-codeowners.yml @@ -1,30 +1,41 @@ name: Validate Codeowners on: workflow_dispatch: - pull_request: +permissions: + contents: read + jobs: validate-codeowners: runs-on: ubuntu-latest steps: - - name: "Checkout source code at current commit" - uses: actions/checkout@v2 - # Leave pinned at 0.7.1 until https://github.com/mszostok/codeowners-validator/issues/173 is resolved - - uses: mszostok/codeowners-validator@v0.7.1 - if: github.event.pull_request.head.repo.full_name == github.repository - name: "Full check of CODEOWNERS" - with: - # For now, remove "files" check to allow CODEOWNERS to specify non-existent - # files so we can use the same CODEOWNERS file for Terraform and non-Terraform repos - # checks: "files,syntax,owners,duppatterns" - checks: "syntax,owners,duppatterns" - owner_checker_allow_unowned_patterns: "false" - # GitHub access token is required only if the `owners` check is enabled - github_access_token: "${{ secrets.PUBLIC_REPO_ACCESS_TOKEN }}" - - uses: mszostok/codeowners-validator@v0.7.1 - if: github.event.pull_request.head.repo.full_name != github.repository - name: "Syntax check of CODEOWNERS" + - name: Checkout source code at current commit + uses: actions/checkout@v4 + + - name: Check CODEOWNERS syntax and duplicate patterns + uses: mszostok/codeowners-validator@v0.7.1 with: checks: "syntax,duppatterns" owner_checker_allow_unowned_patterns: "false" + + - name: Check owners with GitHub's CODEOWNERS validation + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + with: + script: | + // GitHub resolves team membership and repository access server-side, + // so validation only needs the workflow's read-only repository token. + const { data } = await github.rest.repos.codeownersErrors({ + ...context.repo, + ref: context.sha, + }); + for (const error of data.errors) { + core.error(error.message, { + file: error.path, + startLine: error.line, + startColumn: error.column, + }); + } + if (data.errors.length > 0) { + core.setFailed(`Found ${data.errors.length} CODEOWNERS errors`); + } From 5e8fbd67ca61d641eaef05b743d378a889f8063c Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Wed, 16 Sep 2026 19:54:15 -0500 Subject: [PATCH 5/5] docs: move deprecation warning into introduction, regenerate via atmos docs generate README.yaml previously used a non-standard deprecation_notice field that the shared README template doesn't recognize, so it silently never rendered on a real regen (only a stale hand-edited README.md made it look like it did). Move the warning into introduction, which the template does render, and regenerate README.md for real with atmos docs generate readme. --- README.md | 16 +++++++++++++--- README.yaml | 3 +-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 080cf0f3..6f695d53 100644 --- a/README.md +++ b/README.md @@ -33,13 +33,23 @@ A GitHub Action to securely store Terraform plan files in a cloud storage (S3 or Azure Blob Storage) with metadata storage in cloud document database (DynamoDB or CosmosDB). -> [!WARNING] -> **Deprecated.** Migrate to Atmos's [built-in planfile storage](https://atmos.tools/ci/planfile-storage). - +> [!TIP] +> #### 👽 Use Atmos with Terraform +> Cloud Posse uses [`atmos`](https://atmos.tools) to easily orchestrate multiple environments using Terraform.
+> Works with [Github Actions](https://atmos.tools/integrations/github-actions/), [Atlantis](https://atmos.tools/integrations/atlantis), or [Spacelift](https://atmos.tools/integrations/spacelift). +> +>
+> Watch demo of using Atmos with Terraform +>
+> Example of running atmos to manage infrastructure from our Quick Start tutorial. +> ## Introduction +> [!WARNING] +> **Deprecated.** Migrate to Atmos's [built-in planfile storage](https://atmos.tools/ci/planfile-storage). + This action is deprecated in favor of Atmos Native CI. See the migration guide at https://atmos.tools/deprecated/github-actions/terraform-plan-storage for the equivalent built-in planfile storage and how to move your workflow over. diff --git a/README.yaml b/README.yaml index 5eab2619..6e9c0b05 100644 --- a/README.yaml +++ b/README.yaml @@ -33,11 +33,10 @@ description: |- A GitHub Action to securely store Terraform plan files in a cloud storage (S3 or Azure Blob Storage) with metadata storage in cloud document database (DynamoDB or CosmosDB). # Introduction to the project -deprecation_notice: |- +introduction: |- > [!WARNING] > **Deprecated.** Migrate to Atmos's [built-in planfile storage](https://atmos.tools/ci/planfile-storage). -introduction: |- This action is deprecated in favor of Atmos Native CI. See the migration guide at https://atmos.tools/deprecated/github-actions/terraform-plan-storage for the equivalent built-in planfile storage and how to move your workflow over.