diff --git a/.github/workflows/build-image.yaml b/.github/workflows/build-image.yaml
index 3096d89..a79e218 100644
--- a/.github/workflows/build-image.yaml
+++ b/.github/workflows/build-image.yaml
@@ -5,6 +5,8 @@ on:
release:
types:
- created
+ schedule:
+ - cron: '00 00 * * *'
jobs:
docker:
@@ -31,6 +33,7 @@ jobs:
echo IMAGE_TAG=$([ ${{ github.ref_type }} == 'tag' ] && echo ${{ github.ref_name }} || echo 'latest') >> $GITHUB_ENV
- name: Build and Push release to ghcr.io
+ if: github.event_name != 'schedule'
uses: docker/build-push-action@v5
with:
context: .
@@ -46,6 +49,22 @@ jobs:
secrets: |
"github_token=${{ secrets.GITHUB_TOKEN }}"
+ - name: Build and Push nightly to ghcr.io
+ if: github.event_name == 'schedule'
+ uses: docker/build-push-action@v5
+ with:
+ context: .
+ build-args: |
+ INSTALL_ALL=true
+ platforms: linux/amd64,linux/arm64
+ push: true
+ tags: |
+ ghcr.io/${{ github.repository }}:nightly
+ # Fix multi-platform: https://github.com/docker/buildx/issues/1533
+ provenance: false
+ secrets: |
+ "github_token=${{ secrets.GITHUB_TOKEN }}"
+
- name: Login to DockerHub Container Registry
uses: docker/login-action@v4
with:
@@ -54,6 +73,7 @@ jobs:
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build and Push release to DockerHub
+ if: github.event_name != 'schedule'
uses: docker/build-push-action@v5
with:
context: .
@@ -65,3 +85,16 @@ jobs:
registry.hub.docker.com/tofuutils/pre-commit-opentofu:${{ env.IMAGE_TAG }}
registry.hub.docker.com/tofuutils/pre-commit-opentofu:latest
provenance: false
+
+ - name: Build and Push nightly to DockerHub
+ if: github.event_name == 'schedule'
+ uses: docker/build-push-action@v5
+ with:
+ context: .
+ build-args: |
+ INSTALL_ALL=true
+ platforms: linux/amd64,linux/arm64
+ push: true
+ tags: |
+ registry.hub.docker.com/tofuutils/pre-commit-opentofu:nightly
+ provenance: false
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index db02b1b..35b8f62 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -24,7 +24,7 @@ jobs:
fetch-depth: 0
- name: Release
- uses: cycjimmy/semantic-release-action@bda3da8d0cac44ed30fdc42bf9ad6a0362ce0583 # v8.0.1
+ uses: cycjimmy/semantic-release-action@b12c8f6015dc215fe37bc154d4ad456dd3833c90 # v6.0.0
with:
semantic_version: 18.0.0
extra_plugins: |
diff --git a/.github/workflows/stale-actions.yaml b/.github/workflows/stale-actions.yaml
index 1883dd0..d797c08 100644
--- a/.github/workflows/stale-actions.yaml
+++ b/.github/workflows/stale-actions.yaml
@@ -7,7 +7,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- - uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
+ - uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# Staling issues and PR's
diff --git a/README.md b/README.md
index 748b3b5..c8434c9 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Collection of git hooks for OpenTofu to be used with [pre-commit framework](http://pre-commit.com/)
-[](https://github.com/tofuutils/pre-commit-opentofu/releases)  [](https://www.codetriage.com/tofuutils/pre-commit-opentofu)
+[](https://github.com/tofuutils/pre-commit-opentofu/releases)  [](https://www.codetriage.com/tofuutils/pre-commit-opentofu)
Want to contribute? Check [open issues](https://github.com/tofuutils/pre-commit-opentofu/issues?q=label%3A%22good+first+issue%22+is%3Aopen+sort%3Aupdated-desc) and [contributing notes](/.github/CONTRIBUTING.md).
@@ -37,7 +37,7 @@ If you are using `pre-commit-opentofu` already or want to support its developmen
* [tfupdate](#tfupdate)
* [Docker Usage](#docker-usage)
* [File Permissions](#file-permissions)
- * [Download OpenTofu modules from private GitHub repositories](#download-opentofu-modules-from-private-github-repositories)
+ * [Download OpenTofu modules from private GitHub repositories](#download-tofu-modules-from-private-github-repositories)
* [Authors](#authors)
* [License](#license)
@@ -301,19 +301,19 @@ There are several [pre-commit](https://pre-commit.com/) hooks to keep OpenTofu c
| ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `checkov` and `tofu_checkov` | [checkov](https://github.com/bridgecrewio/checkov) static analysis of OpenTofu templates to spot potential security issues. [Hook notes](#checkov-deprecated-and-tofu_checkov) | `checkov`
Ubuntu deps: `python3`, `python3-pip` |
| `infracost_breakdown` | Check how much your infra costs with [infracost](https://github.com/infracost/infracost). [Hook notes](#infracost_breakdown) | `infracost`, `jq`, [Infracost API key](https://www.infracost.io/docs/#2-get-api-key) |
-| `tofu_docs` | Inserts input and output documentation into `README.md`. Recommended. [Hook notes](#tofu_docs) | `terraform-docs` |
-| `tofu_docs_replace` | Runs `terraform-docs` and pipes the output directly to README.md. **DEPRECATED**. [Hook notes](#tofu_docs_replace-deprecated) | `python3`, `terraform-docs` |
-| `tofu_docs_without_`
`aggregate_type_defaults` | Inserts input and output documentation into `README.md` without aggregate type defaults. Hook notes same as for [tofu_docs](#tofu_docs) | `tofu-docs` |
-| `tofu_fmt` | Reformat all OpenTofu configuration files to a canonical format. [Hook notes](#tofu_fmt) | - |
-| `tofu_providers_lock` | Updates provider signatures in [dependency lock files](https://www.terraform.io/docs/cli/commands/providers/lock.html). [Hook notes](#tofu_providers_lock) | - |
-| `tofu_tflint` | Validates all OpenTofu configuration files with [TFLint](https://github.com/terraform-linters/tflint). [Available TFLint rules](https://github.com/terraform-linters/tflint/tree/master/docs/rules#rules). [Hook notes](#tofu_tflint). | `tflint` |
-| `tofu_tfsec` | [TFSec](https://github.com/aquasecurity/tfsec) static analysis of terraform templates to spot potential security issues. **DEPRECATED**, use `tofu_trivy`. [Hook notes](#tofu_tfsec-deprecated) | `tfsec` |
-| `tofu_trivy` | [Trivy](https://github.com/aquasecurity/trivy) static analysis of terraform templates to spot potential security issues. [Hook notes](#tofu_trivy) | `trivy` |
+| `tofu_docs` | Inserts input and output documentation into `README.md`. Recommended. [Hook notes](#terraform_docs) | `terraform-docs` |
+| `tofu_docs_replace` | Runs `terraform-docs` and pipes the output directly to README.md. **DEPRECATED**. [Hook notes](#terraform_docs_replace-deprecated) | `python3`, `terraform-docs` |
+| `tofu_docs_without_`
`aggregate_type_defaults` | Inserts input and output documentation into `README.md` without aggregate type defaults. Hook notes same as for [tofu_docs](#terraform_docs) | `tofu-docs` |
+| `tofu_fmt` | Reformat all OpenTofu configuration files to a canonical format. [Hook notes](#terraform_fmt) | - |
+| `tofu_providers_lock` | Updates provider signatures in [dependency lock files](https://www.terraform.io/docs/cli/commands/providers/lock.html). [Hook notes](#terraform_providers_lock) | - |
+| `tofu_tflint` | Validates all OpenTofu configuration files with [TFLint](https://github.com/terraform-linters/tflint). [Available TFLint rules](https://github.com/terraform-linters/tflint/tree/master/docs/rules#rules). [Hook notes](#terraform_tflint). | `tflint` |
+| `tofu_tfsec` | [TFSec](https://github.com/aquasecurity/tfsec) static analysis of terraform templates to spot potential security issues. **DEPRECATED**, use `tofu_trivy`. [Hook notes](#terraform_tfsec-deprecated) | `tfsec` |
+| `tofu_trivy` | [Trivy](https://github.com/aquasecurity/trivy) static analysis of terraform templates to spot potential security issues. [Hook notes](#terraform_trivy) | `trivy` |
| `tofu_validate` | Validates all Terraform configuration files. [Hook notes](#tofu_validate) | `jq`, only for `--retry-once-with-cleanup` flag |
| `terragrunt_fmt` | Reformat all [Terragrunt](https://github.com/gruntwork-io/terragrunt) configuration files (`*.hcl`) to a canonical format. | `terragrunt` |
| `terragrunt_validate` | Validates all [Terragrunt](https://github.com/gruntwork-io/terragrunt) configuration files (`*.hcl`) | `terragrunt` |
| `terragrunt_validate_inputs` | Validates Terragrunt unused and undefined inputs. | `terragrunt` |
-| `tofu_wrapper_module_for_each` | Generates OpenTofu wrappers with `for_each` in module. [Hook notes](#tofu_wrapper_module_for_each) | `hcledit` |
+| `tofu_wrapper_module_for_each` | Generates OpenTofu wrappers with `for_each` in module. [Hook notes](#terraform_wrapper_module_for_each) | `hcledit` |
| `terrascan` | [terrascan](https://github.com/tenable/terrascan) Detect compliance and security violations. [Hook notes](#terrascan) | `terrascan` |
| `tfupdate` | [tfupdate](https://github.com/minamijoyo/tfupdate) Update version constraints of OpenTofu core, providers, and modules. [Hook notes](#tfupdate) | `tfupdate` |