{"id":20925535,"url":"https://github.com/padok-team/github-workflows","last_synced_at":"2026-05-21T04:36:40.934Z","repository":{"id":61812050,"uuid":"540435599","full_name":"padok-team/github-workflows","owner":"padok-team","description":"Reusable GitHub workflows","archived":false,"fork":false,"pushed_at":"2026-04-13T15:44:29.000Z","size":110,"stargazers_count":1,"open_issues_count":16,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-13T17:40:10.724Z","etag":null,"topics":["github","workflows"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/padok-team.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-09-23T12:43:28.000Z","updated_at":"2025-10-31T14:51:49.000Z","dependencies_parsed_at":"2023-12-15T16:27:28.513Z","dependency_job_id":"6e214317-fb23-4f71-921c-e6e6ecac672b","html_url":"https://github.com/padok-team/github-workflows","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/padok-team/github-workflows","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padok-team%2Fgithub-workflows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padok-team%2Fgithub-workflows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padok-team%2Fgithub-workflows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padok-team%2Fgithub-workflows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/padok-team","download_url":"https://codeload.github.com/padok-team/github-workflows/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padok-team%2Fgithub-workflows/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33288909,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T02:57:32.698Z","status":"ssl_error","status_checked_at":"2026-05-21T02:57:31.990Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github","workflows"],"created_at":"2024-11-18T20:33:17.457Z","updated_at":"2026-05-21T04:36:40.915Z","avatar_url":"https://github.com/padok-team.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# github-workflows\n\nShared GitHub workflows, to be referenced by other Padok projects.\n\nThe following [reusable workflows](https://docs.github.com/en/actions/using-workflows/reusing-workflows) are available in [`.github/workflows`](.github/workflows/):\n\n\u003c!-- prettier-ignore --\u003e\n| Name | Description | Must have |\n| ---- | ----------- | --------- |\n| [`release`](.github/workflows/release.yml) | Configure [Release Please](https://www.notion.so/How-to-configure-Release-Please-9f2c511fe22d4fd29c66cebe41b57a1f) to automate GitHub release creation | ⭐ |\n| [`semantic-check`](.github/workflows/semantic-check.yml) | Check that pull requests follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) |\n| [`terraform-docs`](.github/workflows/terraform-docs.yml) | Update Terraform module documentation using `terraform-docs` |\n| [`terraform-quality`](.github/workflows/terraform-quality.yml) | Run several linter and static analysis tools on Terraform code | ⭐ |\n| [`terragrunt-quality`](.github/workflows/terragrunt-quality.yml) | Run several linter and static analysis tools on Terragrunt code | ⭐ |\n\n## Usage\n\nTo use these workflows in your project, copy files from the folders listed below, and paste them in the `.github/workflows/` folder in your own repo.\n\n- [`global`](global/): for all your projects\n- [`terraform`](terraform/): useful for Terraform modules\n- [`terragrunt`](terragrunt/) : Use for Terragrunt project and terraform modules\n\nYour repo should have the following structure:\n\n```\n.\n├── .github\n│   ├── CODEOWNERS\n│   └── workflows\n│       ├── release.yml\n│       ├── semantic-check.yml\n│       ├── terraform-docs.yml\n│       └── terraform-quality.yml\n├── .gitignore\n├── LICENSE\n├── main.tf\n├── README.md\n├── renovate.json\n└── ... (other files)\n```\n\n## Workflow Designs\n\n### `terragrunt-quality` workflow\n\n- [`tenv`](https://github.com/tofuutils/tenv)make sure that the correct version of Terraform and terragrunt is used\n- [`terraform fmt`](https://www.terraform.io/docs/cli/commands/fmt.html) to check the basic formatting of Terraform code\n- [`terragrunt hclfmt`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#hclfmt) to check the formatting of terragrunt hcl files\n- [`guacamole`](https://github.com/padok-team/guacamole) check the code quality\n- [`checkov`](https://www.checkov.io/) to check for security issues\n\n### `terraform-quality` workflow\n\nThere are several tools to ensure that Terraform code is secure and follows best practices. We selected the following ones:\n\n- [`tfswitch`](https://github.com/warrensbox/terraform-switcher) make sure that the correct version of Terraform is used\n- [`terraform fmt`](https://www.terraform.io/docs/cli/commands/fmt.html) to check the basic formatting of Terraform code\n- [`terraform validate`](https://www.terraform.io/docs/cli/commands/validate.html) to check the validity of Terraform code\n- [`tflint`](https://github.com/terraform-linters/tflint) to check for code quality issues\n- [`checkov`](https://www.checkov.io/) to check for security issues\n\nThe following tools were considered but ultimately not included:\n\n- [`tfsec`](https://github.com/aquasecurity/tfsec) is redundant with `checkov`, and from Padok's experience, the latter is more reliable\n- [`terrascan`](https://github.com/tenable/terrascan) has not been tested by Padok yet\n- [`terraform docs`](https://www.terraform.io/docs/commands/docs/index.html) is delegated to another workflow, since it could add a commit to the pull request\n\n\u003e Feel free to suggest other tools to add to this workflow!\n\n## License\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpadok-team%2Fgithub-workflows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpadok-team%2Fgithub-workflows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpadok-team%2Fgithub-workflows/lists"}