Skip to content
This repository was archived by the owner on Mar 12, 2026. It is now read-only.

Repository files navigation

github-actions-workflows Latest ReleaseSlack Community

README Header

Cloud Posse

General purpose reusable Github Action workflows


This project is part of our comprehensive "SweetOps" approach towards DevOps.

It's 100% Open Source and licensed under the APACHE2.

Introduction

Use provided GitHub Actions reusable workflows to implement consistent release workflow for Github Actions repositories across your organization. Avoid duplication and simplify maintain of the workflows.

Workflows

NameDescription
CD - Deploy to EKS with ArgoCD and HelmfileDeploy Docker image to EKS with ArgoCD and Helmfile
CD - Deploy to ECS with SpaceliftDeploy Docker image to ECS with Spacelift
CD - Deploy to EKS with HelmfileDeploy Docker image to EKS with Helmfile
CD - Deploy to EKS Preview envs with HelmfileDeploy Docker image to ECS Preview envs with Helmfile
CD - Deploy to ECS QA/Preview envs with SpaceliftDeploy Docker image to ECS QA/Preview envs with Spacelift
CD - Deploy to EKS Preview envs with HelmfileDeploy Docker image to ECS Preview envs with Helmfile
CI - CodeownersValidate CODEOWNERS and suggest changes
CI - Build Docker imageBuild Docker image and push it to ECR
CI - Promote or build Docker imagePromote or build Docker image and push it to ECR
CI - Promote Docker image Promote Docker image to specific version tag and push it to ECR
CI - Verify Docker image existsVerify Docker image exists on ECR
CI - ReadmeValidate README.yaml, README.md and suggest changes
CI - Terraform ChatOpsTrigger terraform tests using ChatOps
CI - TerraformLint, format and validate terraform code
CI - Check dist DirectoryThis workflow helps ensure that generated contents of the dist directory matches the output of the yarn build
Controller - Draft releaseCreate or update draft release
Controller - Reingtegrate hotfix branchCreate PR into target\_branch to reintegrate hotfix from current branch
Controller - Create Release branchCreate release/{version} branch for the release
Controller - Create hotfix releaseCreate next patch version release
Controller - LabelsLabel a pull request with one or more labels
Controller - Monorepo ControllerMocked monorepo controller that outputs list of applications, lists of apps with and without changes.
Controller - ReleaseCreate a github release
Scheduled ContextScheduled update of context.tf and related docs
Scheduled ReadmeScheduled update of readme.md

CD - Deploy to EKS with ArgoCD and Helmfile

Deploy Docker image to EKS with ArgoCD and Helmfile

Usage

name: Deployon:
push:
branches: [ main ]jobs:
cd:
uses: cloudposse/github-actions-workflows/.github/workflows/cd-argocd.yml@mainwith:
image: registry.hub.docker.com/library/nginxtag: latestrepository: ${{ github.event.repository.name }}environment: devsecrets:
secret-outputs-passphrase: ${{ secrets.secret-outputs-passphrase }}github-private-actions-pat: ${{ secrets.github-private-actions-pat }}

Inputs

NameDescriptionTypeDefaultRequired
environmentEnvironment name deploy tostringN/Atrue
imageDocker Image to deploystringN/Atrue
organizationRepository owner organization (ex. acme for repo acme/example)stringN/Atrue
repositoryRepository name (ex. example for repo acme/example)stringN/Atrue
synchronouslyWait until ArgoCD successfully apply the changesbooleanfalsefalse
tagDocker Image tag to deploystringN/Atrue

Secrets

NameDescriptionRequired
github-private-actions-patGithub PAT allow to pull private repostrue
secret-outputs-passphrasePassphrase to encrypt/decrypt secret outputs with gpg. For more information readtrue

CD - Deploy to ECS with Spacelift

Deploy Docker image to ECS with Spacelift

Usage

name: Deployon:
push:
branches: [ main ]jobs:
cd:
uses: cloudposse/github-actions-workflows/.github/workflows/cd-ecs.yml@mainwith:
image: registry.hub.docker.com/library/nginxtag: latestrepository: ${{ github.event.repository.name }}environment: devspacelift-organization: ${{ inputs.spacelift-organization }}secrets:
secret-outputs-passphrase: "${{ secrets.secret-outputs-passphrase }}"github-private-actions-pat: "${{ secrets.github-private-actions-pat }}"spacelift-api-key-id: "${{ secrets.spacelift-api-key-id }}"spacelift-api-key-secret: "${{ secrets.spacelift-api-key-secret }}"

Inputs

NameDescriptionTypeDefaultRequired
appApplication name. Used with monorepo pattern when there are several applications in the repostringN/Afalse
environmentEnvironment name deploy tostringN/Atrue
imageDocker Image to deploystringN/Atrue
matrix-keyMatrix key - matrix output workaround. Read morestringN/Afalse
matrix-step-nameMatrix step name - matrix output workaround. Read morestringN/Afalse
repositoryRepository name (ex. example for repo acme/example)stringN/Atrue
spacelift-organizationSpacelift organization namestringN/Atrue
tagDocker Image tag to deploystringN/Atrue

Secrets

NameDescriptionRequired
github-private-actions-patGithub PAT allow to pull private repostrue
secret-outputs-passphrasePassphrase to encrypt/decrypt secret outputs with gpg. For more information readtrue
spacelift-api-key-idSpacelift API Key IDtrue
spacelift-api-key-secretSpacelift API Key Secrettrue

CD - Deploy to EKS with Helmfile

Deploy Docker image to EKS with Helmfile

Usage

name: Deployon:
push:
branches: [ main ]jobs:
cd:
uses: cloudposse/github-actions-workflows/.github/workflows/cd-helmfile.yml@mainwith:
image: registry.hub.docker.com/library/nginxtag: latestrepository: ${{ github.event.repository.name }}environment: devsecrets:
secret-outputs-passphrase: ${{ secrets.secret-outputs-passphrase }}github-private-actions-pat: ${{ secrets.github-private-actions-pat }}

Inputs

NameDescriptionTypeDefaultRequired
environmentEnvironment name deploy tostringN/Atrue
imageDocker Image to deploystringN/Atrue
repositoryRepository name (ex. example for repo acme/example)stringN/Atrue
tagDocker Image tag to deploystringN/Atrue

Secrets

NameDescriptionRequired
github-private-actions-patGithub PAT allow to pull private repostrue
secret-outputs-passphrasePassphrase to encrypt/decrypt secret outputs with gpg. For more information readtrue

CD - Deploy to EKS Preview envs with Helmfile

Deploy Docker image to ECS Preview envs with Helmfile

Usage

name: Feature Branchon:
pull_request:
branches: [ 'master' ]types: [opened, synchronize, reopened, closed, labeled, unlabeled]jobs:
cd:
uses: cloudposse/github-actions-workflows/.github/workflows/cd-preview-helmfile.yml@mainif: ${{ always() }}with:
image: registry.hub.docker.com/library/nginxtag: latestrepository: ${{ github.event.repository.name }}open: ${{ github.event.pull_request.state == 'open' }}labels: ${{ toJSON(github.event.pull_request.labels.*.name) }}ref: ${{ github.event.pull_request.head.ref }}exclusive: falseenv-label: | preview: deploysecrets:
secret-outputs-passphrase: ${{ secrets.secret-outputs-passphrase }}github-private-actions-pat: ${{ secrets.github-private-actions-pat }}

Inputs

NameDescriptionTypeDefaultRequired
env-labelYAML formatted {environment}: {label} mapstringpreview: deploy
false
exclusiveDeactivate previous GitHub deploymentsbooleantruefalse
imageDocker Image to deploystringN/Atrue
labelsPull Request labelsstring{}false
openPull Request open/close state. Set true if openedbooleanN/Atrue
organizationRepository owner organization (ex. acme for repo acme/example)stringN/Atrue
refThe fully-formed ref of the branch or tag that triggered the workflow runstringN/Atrue
repositoryRepository name (ex. example for repo acme/example)stringN/Atrue
synchronouslyWait until ArgoCD successfully apply the changesbooleanfalsefalse
tagDocker Image tag to deploystringN/Atrue

Secrets

NameDescriptionRequired
github-private-actions-patGithub PAT allow to pull private repostrue
secret-outputs-passphrasePassphrase to encrypt/decrypt secret outputs with gpg. For more information readtrue

CD - Deploy to ECS QA/Preview envs with Spacelift

Deploy Docker image to ECS QA/Preview envs with Spacelift

Usage

name: Feature Branchon:
pull_request:
branches: [ 'master' ]types: [opened, synchronize, reopened, closed, labeled, unlabeled]jobs:
cd:
uses: cloudposse/github-actions-workflows/.github/workflows/cd-preview-ecs.yml@mainif: ${{ always() }}with:
image: registry.hub.docker.com/library/nginxtag: latestrepository: ${{ github.event.repository.name }}spacelift-organization: ${{ inputs.spacelift-organization }}open: ${{ github.event.pull_request.state == 'open' }}labels: ${{ toJSON(github.event.pull_request.labels.*.name) }}ref: ${{ github.event.pull_request.head.ref }}exclusive: trueenv-label: | qa1: deploy/qa1 qa2: deploy/qa2 qa3: deploy/qa3 qa4: deploy/qa4secrets:
secret-outputs-passphrase: ${{ secrets.secret-outputs-passphrase }}github-private-actions-pat: ${{ secrets.github-private-actions-pat }}spacelift-api-key-id: "${{ secrets.spacelift-api-key-id }}"spacelift-api-key-secret: "${{ secrets.spacelift-api-key-secret }}"

Inputs

NameDescriptionTypeDefaultRequired
appApplication name. Used with monorepo pattern when there are several applications in the repostringN/Afalse
env-labelYAML formatted {environment}: {label} mapstringpreview: deploy
false
exclusiveDeactivate previous GitHub deploymentsbooleantruefalse
imageDocker Image to deploystringN/Atrue
labelsPull Request labelsstring{}false
matrix-keyMatrix key - matrix output workaround. Read morestringN/Afalse
matrix-step-nameMatrix step name - matrix output workaround. Read morestringN/Afalse
openPull Request open/close state. Set true if openedbooleanN/Atrue
refThe fully-formed ref of the branch or tag that triggered the workflow runstringN/Atrue
repositoryRepository name (ex. example for repo acme/example)stringN/Atrue
spacelift-organizationSpacelift organization namestringN/Atrue
tagDocker Image tag to deploystringN/Atrue

Secrets

NameDescriptionRequired
github-private-actions-patGithub PAT allow to pull private repostrue
secret-outputs-passphrasePassphrase to encrypt/decrypt secret outputs with gpg. For more information readtrue
spacelift-api-key-idSpacelift API Key IDtrue
spacelift-api-key-secretSpacelift API Key Secrettrue

CD - Deploy to EKS Preview envs with Helmfile

Deploy Docker image to ECS Preview envs with Helmfile

Usage

name: Feature Branchon:
pull_request:
branches: [ 'master' ]types: [opened, synchronize, reopened, closed, labeled, unlabeled]jobs:
cd:
uses: cloudposse/github-actions-workflows/.github/workflows/cd-preview-helmfile.yml@mainif: ${{ always() }}with:
image: registry.hub.docker.com/library/nginxtag: latestrepository: ${{ github.event.repository.name }}open: ${{ github.event.pull_request.state == 'open' }}labels: ${{ toJSON(github.event.pull_request.labels.*.name) }}ref: ${{ github.event.pull_request.head.ref }}exclusive: falseenv-label: | preview: deploysecrets:
secret-outputs-passphrase: ${{ secrets.secret-outputs-passphrase }}github-private-actions-pat: ${{ secrets.github-private-actions-pat }}

Inputs

NameDescriptionTypeDefaultRequired
env-labelYAML formatted {environment}: {label} mapstringpreview: deploy
false
exclusiveDeactivate previous GitHub deploymentsbooleantruefalse
imageDocker Image to deploystringN/Atrue
labelsPull Request labelsstring{}false
openPull Request open/close state. Set true if openedbooleanN/Atrue
refThe fully-formed ref of the branch or tag that triggered the workflow runstringN/Atrue
repositoryRepository name (ex. example for repo acme/example)stringN/Atrue
tagDocker Image tag to deploystringN/Atrue

Secrets

NameDescriptionRequired
github-private-actions-patGithub PAT allow to pull private repostrue
secret-outputs-passphrasePassphrase to encrypt/decrypt secret outputs with gpg. For more information readtrue

CI - Codeowners

Validate CODEOWNERS and suggest changes

Usage

name: Validate CODEOWNERSon:
workflow_call:
jobs:
ci-codeowners:
uses: cloudposse/github-actions-workflows/.github/workflows/ci-codeowners-full.yml@mainwith:
is_fork: ${{ github.event.pull_request.head.repo.full_name != github.repository }}

Inputs

NameDescriptionTypeDefaultRequired
is_forkRun workflow in fork mode (decreased permissions and features)booleanN/Atrue
runs-onOverrides job runs-on setting (json-encoded list)string["ubuntu-latest"]false

Secrets

NameDescriptionRequired
github_access_tokenGitHub API tokenfalse

CI - Build Docker image

Build Docker image and push it to ECR

Usage

name: Deployon:
push:
branches: [ main ]jobs:
ci:
uses: cloudposse/github-actions-workflows/.github/workflows/ci-dockerized-app-build.yml@mainwith:
organization: ${{ github.event.repository.owner.login }}repository: ${{ github.event.repository.name }}secrets:
ecr-region: ${{ secrets.ecr-region }}ecr-iam-role: ${{ secrets.ecr-iam-role }}registry: ${{ secrets.registry }}secret-outputs-passphrase: ${{ secrets.secret-outputs-passphrase }}

Inputs

NameDescriptionTypeDefaultRequired
organizationRepository owner organization (ex. acme for repo acme/example)stringN/Atrue
repositoryRepository name (ex. example for repo acme/example)stringN/Atrue

Secrets

NameDescriptionRequired
ecr-iam-roleIAM Role ARN provide ECR write/read accesstrue
ecr-regionECR AWS regiontrue
registryECR Docker registrytrue
secret-outputs-passphrasePassphrase to encrypt/decrypt secret outputs with gpg. For more information readtrue

Outputs

NameDescription
imageDocker Image
tagDocker image tag

CI - Promote or build Docker image

Promote or build Docker image and push it to ECR

Usage

name: Deployon:
push:
branches: [ main ]jobs:
ci:
uses: cloudposse/github-actions-workflows/.github/workflows/ci-dockerized-app-promote-or-build.yml@mainwith:
organization: ${{ github.event.repository.owner.login }}repository: ${{ github.event.repository.name }}force-build: falsesecrets:
ecr-region: ${{ secrets.ecr-region }}ecr-iam-role: ${{ secrets.ecr-iam-role }}registry: ${{ secrets.registry }}secret-outputs-passphrase: ${{ secrets.secret-outputs-passphrase }}

Inputs

NameDescriptionTypeDefaultRequired
appApplication name. Used with monorepo pattern when there are several applications in the repostringN/Atrue
force-buildForce build (skip promotion)booleanfalsetrue
matrix-keyMatrix key - matrix output workaround. Read morestringN/Afalse
matrix-step-nameMatrix step name - matrix output workaround. Read morestringN/Afalse
organizationRepository owner organization (ex. acme for repo acme/example)stringN/Atrue
repositoryRepository name (ex. example for repo acme/example)stringN/Atrue

Secrets

NameDescriptionRequired
ecr-iam-roleIAM Role ARN provide ECR write/read accesstrue
ecr-regionECR AWS regiontrue
registryECR Docker registrytrue
secret-outputs-passphrasePassphrase to encrypt/decrypt secret outputs with gpg. For more information readtrue

Outputs

NameDescription
imageDocker Image
tagDocker image tag

CI - Promote Docker image

Promote Docker image to specific version tag and push it to ECR

Usage

name: Releaseon:
release:
types: [published]jobs:
ci:
uses: cloudposse/github-actions-workflows/.github/workflows/ci-dockerized-app-promote.yml@mainwith:
organization: ${{ github.event.repository.owner.login }}repository: ${{ github.event.repository.name }}version: ${{ github.event.release.tag_name }}secrets:
ecr-region: ${{ secrets.ecr-region }}ecr-iam-role: ${{ secrets.ecr-iam-role }}registry: ${{ secrets.registry }}secret-outputs-passphrase: ${{ secrets.secret-outputs-passphrase }}

Inputs

NameDescriptionTypeDefaultRequired
appApplication name. Used with monorepo pattern when there are several applications in the repostringN/Afalse
matrix-keyMatrix key - matrix output workaround. Read morestringN/Afalse
matrix-step-nameMatrix step name - matrix output workaround. Read morestringN/Afalse
organizationRepository owner organization (ex. acme for repo acme/example)stringN/Atrue
repositoryRepository name (ex. example for repo acme/example)stringN/Atrue
versionNew version tagstringN/Atrue

Secrets

NameDescriptionRequired
ecr-iam-roleIAM Role ARN provide ECR write/read accesstrue
ecr-regionECR AWS regiontrue
registryECR Docker registrytrue
secret-outputs-passphrasePassphrase to encrypt/decrypt secret outputs with gpg. For more information readtrue

Outputs

NameDescription
imageDocker Image
tagDocker image tag

CI - Verify Docker image exists

Verify Docker image exists on ECR

Usage

name: Releaseon:
release:
types: [published]jobs:
ci:
uses: cloudposse/github-actions-workflows/.github/workflows/ci-dockerized-app-verify.yml@mainwith:
organization: ${{ github.event.repository.owner.login }}repository: ${{ github.event.repository.name }}version: ${{ github.event.release.tag_name }}secrets:
ecr-region: ${{ secrets.ecr-region }}ecr-iam-role: ${{ secrets.ecr-iam-role }}registry: ${{ secrets.registry }}secret-outputs-passphrase: ${{ secrets.secret-outputs-passphrase }}

Inputs

NameDescriptionTypeDefaultRequired
appApplication name. Used with monorepo pattern when there are several applications in the repostringN/Atrue
organizationRepository owner organization (ex. acme for repo acme/example)stringN/Atrue
repositoryRepository name (ex. example for repo acme/example)stringN/Atrue
versionRelease version tagstringN/Atrue

Secrets

NameDescriptionRequired
ecr-iam-roleIAM Role ARN provide ECR write/read accesstrue
ecr-regionECR AWS regiontrue
registryECR Docker registrytrue
secret-outputs-passphrasePassphrase to encrypt/decrypt secret outputs with gpg. For more information readtrue

Outputs

NameDescription
imageDocker Image
tagDocker image tag

CI - Readme

Validate README.yaml, README.md and suggest changes

Usage

name: Validate Readmeon:
workflow_call:
permissions:
pull-requests: writeid-token: writecontents: readjobs:
ci-readme:
uses: cloudposse/github-actions-workflows/.github/workflows/ci-readme.yml@mainwith:
suggestions: truefilter-mode: diff_context

Inputs

NameDescriptionTypeDefaultRequired
filter-modeReviewdog filter modestringN/Atrue
runs-onOverrides job runs-on setting (json-encoded list)string["ubuntu-latest"]false
suggestionsEnable Reviewdog suggestions (pull request only)booleanN/Atrue

CI - Terraform ChatOps

Trigger terraform tests using ChatOps

Usage

name: Terraform ChatOpson:
workflow_call:
permissions:
pull-requests: writeid-token: writecontents: readjobs:
ci-terraform-chatops:
uses: cloudposse/github-actions-workflows/.github/workflows/ci-terraform-chatops.yml@mainsecrets:
github_access_token: ${{ secrets.REPO_ACCESS_TOKEN }}

Inputs

NameDescriptionTypeDefaultRequired
runs-onOverrides job runs-on setting (json-encoded list)string["ubuntu-latest"]false

Secrets

NameDescriptionRequired
github_access_tokenGitHub API tokentrue

CI - Terraform

Lint, format and validate terraform code

Usage

name: Validate Terraformon:
workflow_call:
permissions:
pull-requests: writeid-token: writecontents: readjobs:
ci-terraform:
uses: cloudposse/github-actions-workflows/.github/workflows/ci-terraform.yml@mainwith:
suggestions: truefilter-mode: diff_context

Inputs

NameDescriptionTypeDefaultRequired
filter-modeReviewdog filter modestringN/Atrue
runs-onOverrides job runs-on setting (json-encoded list)string["ubuntu-latest"]false
suggestionsEnable Reviewdog suggestions (pull request only)booleanN/Atrue

CI - Check dist Directory

This workflow helps ensure that generated contents of the dist directory matches the output of the yarn build command. The dist directory has special meaning in GitHub Actions in that it that contains the runnable JS files.

In Cloud Posse's TypeScript actions, the dist directory is generated through a build process from the TypeScript source files by running the yarn build command.

Usage

name: Buildon:
push:
branches: [ main ]jobs:
check-dist:
uses: cloudposse/github-actions-workflows/.github/workflows/ci-typescript-app-check-dist.yml@main

Inputs

NameDescriptionTypeDefaultRequired
commit-messageOptional input to set a commit message. If it's not set, it defaults to 'Update the contents of dist directory'stringUpdate contents of the dist directoryfalse
dist-pathOptional input to set a path to the dist folder. If it's not set, it defaults to './dist'string./distfalse
node-cachingOptional input to set up caching for the setup-node action. The input syntax corresponds to the setup-node's one. Set to an empty string if caching isn't neededstringyarnfalse
node-versionOptional input to set the version of Node.js used to build a project. The input syntax corresponds to the setup-node's onestring16.xfalse

Controller - Draft release

Create or update draft release

Usage

name: Draft releaseon:
push:
branches: [ main ]jobs:
do:
uses: cloudposse/github-actions-workflows/.github/workflows/controller-draft-release.yml@mainwith:
ref: ${{ github.sha }}secrets:
github-private-actions-pat: ${{ secrets.github-private-actions-pat }}

Inputs

NameDescriptionTypeDefaultRequired
refThe release target, i.e. branch or commit it should point tostring${{ github.sha }}false

Secrets

NameDescriptionRequired
github-private-actions-patGithub PAT allow to create releasetrue

Controller - Reingtegrate hotfix branch

Create PR into target_branch to reintegrate hotfix from current branch

Usage

name: Releaseon:
release:
types: [published]jobs:
do:
uses: cloudposse/github-action-workflows/.github/workflows/controller-hotfix-reintegrate.yml@mainwith:
ref: ${{ github.ref }}target_branch: mainsecrets:
github-private-actions-pat: ${{ secrets.github-private-actions-pat }}

Inputs

NameDescriptionTypeDefaultRequired
refThe fully-formed ref of the branch or tag that triggered the workflow runstringN/Atrue
target_branchTarget branch to reintegrate hotfixstringmainfalse

Secrets

NameDescriptionRequired
github-private-actions-patGithub PAT allow to create a pull requesttrue

Controller - Create Release branch

Create release/{version} branch for the release

Usage

name: Main branchon:
release:
types: [published]jobs:
do:
uses: cloudposse/github-action-workflows/.github/workflows/controller-hotfix-release-branch.yml@mainwith:
version: ${{ github.event.release.tag_name }}

Inputs

NameDescriptionTypeDefaultRequired
versionRelease versionstringN/Atrue

Controller - Create hotfix release

Create next patch version release

Usage

on:
push:
branches: [ 'release/**' ]jobs:
do:
uses: cloudposse/github-action-workflows/.github/workflows/controller-hotfix-release.yml@mainwith:
ref: ${{ github.ref }}

Inputs

NameDescriptionTypeDefaultRequired
refThe fully-formed ref of the branch or tag that triggered the workflow runstringN/Atrue

Outputs

NameDescription
versionRelease version

Controller - Labels

Label a pull request with one or more labels

Usage

name: Label pull requeston:
workflow_call:
jobs:
label:
uses: cloudposse/github-actions-workflows/.github/workflows/controller-labels.yml@mainwith:
labels: ['ready-for-review']

Inputs

NameDescriptionTypeDefaultRequired
labelsThe labels' name to be added. Must be separated with line breaks if there are multiple labels.stringN/Atrue
runs-onOverrides job runs-on setting (json-encoded list)string["ubuntu-latest"]false

Controller - Monorepo Controller

Mocked monorepo controller that outputs list of applications, lists of apps with and without changes.

Usage

name: Monorepoon:
push:
branches: [ main ]jobs:
do:
uses: cloudposse/github-actions-workflows/.github/workflows/controller-monorepo.yml@mainwith:
dir: ./apps

Inputs

NameDescriptionTypeDefaultRequired
dirDirectory with applicationsstringN/Atrue

Outputs

NameDescription
appsApplications
changesChanged applications
no-changesUnchanged applications

Controller - Release

Create a github release

Usage

name: Draft releaseon:
workflow_call:
jobs:
release:
uses: cloudposse/github-actions-workflows/.github/workflows/controller-release.yml@main

Inputs

NameDescriptionTypeDefaultRequired
config-nameName of the release drafter config filestringauto-release.ymlfalse
refThe release target, i.e. branch or commit it should point tostring${{ github.sha }}false
runs-onOverrides job runs-on setting (json-encoded list)string["ubuntu-latest"]false

Scheduled Context

Scheduled update of context.tf and related docs

Usage

name: scheduled-contexton:
workflow_call:
permissions:
pull-requests: writeid-token: writecontents: readjobs:
scheduled-context:
uses: cloudposse/github-actions-workflows/.github/workflows/scheduled-context.yml@main

Inputs

NameDescriptionTypeDefaultRequired
base-branchRepo default branchstringmainfalse
runs-onOverrides job runs-on setting (json-encoded list)string["ubuntu-latest"]false

Secrets

NameDescriptionRequired
github_access_tokenGitHub API tokentrue

Scheduled Readme

Scheduled update of readme.md

Usage

name: scheduled-readmeon:
workflow_call:
permissions:
pull-requests: writeid-token: writecontents: readjobs:
scheduled-readme:
uses: cloudposse/github-actions-workflows/.github/workflows/scheduled-readme.yml@main

Inputs

NameDescriptionTypeDefaultRequired
base-branchRepo default branchstringmainfalse
runs-onOverrides job runs-on setting (json-encoded list)string["ubuntu-latest"]false

Secrets

NameDescriptionRequired
github_access_tokenGitHub API tokentrue

Share the Love

Like this project? Please give it a ★ on our GitHub! (it helps us a lot)

Are you using this project or any of our other projects? Consider leaving a testimonial. =)

Related Projects

Check out these related projects.

References

For additional context, refer to some of these links.

Help

Got a question? We got answers.

File a GitHub issue, send us an email or join our Slack Community.

README Commercial Support

DevOps Accelerator for Startups

We are a DevOps Accelerator. We'll help you build your cloud infrastructure from the ground up so you can own it. Then we'll show you how to operate it and stick around for as long as you need us.

Learn More

Work directly with our team of DevOps experts via email, slack, and video conferencing.

We deliver 10x the value for a fraction of the cost of a full-time engineer. Our track record is not even funny. If you want things done right and you need it done FAST, then we're your best bet.

  • Reference Architecture. You'll get everything you need from the ground up built using 100% infrastructure as code.
  • Release Engineering. You'll have end-to-end CI/CD with unlimited staging environments.
  • Site Reliability Engineering. You'll have total visibility into your apps and microservices.
  • Security Baseline. You'll have built-in governance with accountability and audit logs for all changes.
  • GitOps. You'll be able to operate your infrastructure via Pull Requests.
  • Training. You'll receive hands-on training so your team can operate what we build.
  • Questions. You'll have a direct line of communication between our teams via a Shared Slack channel.
  • Troubleshooting. You'll get help to triage when things aren't working.
  • Code Reviews. You'll receive constructive feedback on Pull Requests.
  • Bug Fixes. We'll rapidly work with you to fix any bugs in our projects.

Slack Community

Join our Open Source Community on Slack. It's FREE for everyone! Our "SweetOps" community is where you get to talk with others who share a similar vision for how to rollout and manage infrastructure. This is the best place to talk shop, ask questions, solicit feedback, and work together as a community to build totally sweet infrastructure.

Discourse Forums

Participate in our Discourse Forums. Here you'll find answers to commonly asked questions. Most questions will be related to the enormous number of projects we support on our GitHub. Come here to collaborate on answers, find solutions, and get ideas about the products and services we value. It only takes a minute to get started! Just sign in with SSO using your GitHub account.

Newsletter

Sign up for our newsletter that covers everything on our technology radar. Receive updates on what we're up to on GitHub as well as awesome new projects we discover.

Office Hours

Join us every Wednesday via Zoom for our weekly "Lunch & Learn" sessions. It's FREE for everyone!

zoom

Contributing

Bug Reports & Feature Requests

Please use the issue tracker to report any bugs or file feature requests.

Developing

If you are interested in being a contributor and want to get involved in developing this project or help out with our other projects, we would love to hear from you! Shoot us an email.

In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull Request so that we can review your changes

NOTE: Be sure to merge the latest changes from "upstream" before making a pull request!

Copyright

Copyright © 2017-2023 Cloud Posse, LLC

License

License

See LICENSE for full details.

Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.

Trademarks

All other trademarks referenced herein are the property of their respective owners.

About

This project is maintained and funded by Cloud Posse, LLC. Like it? Please let us know by leaving a testimonial!

Cloud Posse

We're a DevOps Professional Services company based in Los Angeles, CA. We ❤️ Open Source Software.

We offer paid support on all of our projects.

Check out our other projects, follow us on twitter, apply for a job, or hire us to help with your cloud strategy and implementation.

Contributors

Igor Rodionov
Igor Rodionov

README FooterBeacon

About

General purpose reusable Github Action workflows

Resources

Stars

40 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages