Skip to content

Commit

Permalink
chore(ci): add setup-terraform step in release workflow (#182)
Browse files Browse the repository at this point in the history
  • Loading branch information
xiehan authored Jan 8, 2025
1 parent 9fb7971 commit c86f3a1
Show file tree
Hide file tree
Showing 9 changed files with 81 additions and 9 deletions.
28 changes: 28 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,31 @@ updates:
- security
# Disable version updates for npm dependencies, only use Dependabot for security updates
open-pull-requests-limit: 0
- package-ecosystem: npm
versioning-strategy: lockfile-only
directory: /examples/hybrid-module
schedule:
interval: daily
ignore:
- dependency-name: projen
labels:
- auto-approve
- automerge
- dependencies
- security
# Disable version updates for npm dependencies, only use Dependabot for security updates
open-pull-requests-limit: 0
- package-ecosystem: npm
versioning-strategy: lockfile-only
directory: /examples/terraform-module
schedule:
interval: daily
ignore:
- dependency-name: projen
labels:
- auto-approve
- automerge
- dependencies
- security
# Disable version updates for npm dependencies, only use Dependabot for security updates
open-pull-requests-limit: 0
4 changes: 4 additions & 0 deletions .github/workflows/release.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions .projenrc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,14 +131,18 @@ project.buildWorkflow?.addPostBuildSteps(
{ name: "Add headers using Copywrite tool", run: "copywrite headers" }
);

const buildSteps = (project.buildWorkflow as any).preBuildSteps as JobStep[];
buildSteps.push({
const setupTerraformStep = {
name: "Setup Terraform",
uses: "hashicorp/setup-terraform",
with: {
terraform_wrapper: false,
},
});
};
const buildSteps = (project.buildWorkflow as any).preBuildSteps as JobStep[];
const releaseSteps = (project.release as any).defaultBranch.workflow.jobs
.release.steps;
buildSteps.push(setupTerraformStep);
releaseSteps.splice(1, 0, setupTerraformStep);

// Use pinned versions of github actions
Object.entries(githubActionPinnedVersions).forEach(([action, sha]) => {
Expand Down
4 changes: 4 additions & 0 deletions examples/hybrid-module/.github/workflows/release.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions examples/terraform-module/.github/workflows/release.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions src/hybrid-module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -375,14 +375,18 @@ app.synth();
this.gitignore.addPatterns(`${constructExampleFolder}/cdktf.out`);
}

const buildSteps = (this.buildWorkflow as any).preBuildSteps as JobStep[];
buildSteps.push({
const setupTerraformStep = {
name: "Setup Terraform",
uses: "hashicorp/setup-terraform",
with: {
terraform_wrapper: false,
},
});
};
const buildSteps = (this.buildWorkflow as any).preBuildSteps as JobStep[];
const releaseSteps = (this.release as any).defaultBranch.workflow.jobs
.release.steps;
buildSteps.push(setupTerraformStep);
releaseSteps.splice(1, 0, setupTerraformStep);

this.gitignore.addPatterns("src/.gen", "src/cdktf.out", "src/modules");
this.compileTask.prependExec("npx cdktf get", {
Expand Down
10 changes: 7 additions & 3 deletions src/terraform-module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,13 +128,17 @@ describe("MyModule", () => {

this.preCompileTask.exec(`npx cdktf get`, { cwd: this.srcdir });

const buildSteps = (this.buildWorkflow as any).preBuildSteps as JobStep[];
buildSteps.push({
const setupTerraformStep = {
name: "Setup Terraform",
uses: "hashicorp/setup-terraform",
with: {
terraform_wrapper: false,
},
});
};
const buildSteps = (this.buildWorkflow as any).preBuildSteps as JobStep[];
const releaseSteps = (this.release as any).defaultBranch.workflow.jobs
.release.steps;
buildSteps.push(setupTerraformStep);
releaseSteps.splice(1, 0, setupTerraformStep);
}
}
4 changes: 4 additions & 0 deletions test/__snapshots__/hybrid-module.test.ts.snap

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions test/__snapshots__/terraform-module.test.ts.snap

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit c86f3a1

Please sign in to comment.