Skip to content

Commit

Permalink
fix: bug in Terraform version updater (googleapis#795)
Browse files Browse the repository at this point in the history
  • Loading branch information
bharathkkb committed Feb 24, 2021
1 parent 141d71a commit 24d5b8b
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 15 deletions.
16 changes: 8 additions & 8 deletions __snapshots__/terraform-module.js
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ exports['terraform-module run creates a release PR for simple-module: changes']
filename: CHANGELOG.md
# Changelog
### [2.1.1](https://www.github.com/googleapis/terraform-test-repo/compare/v2.1.0...v2.1.1) (1983-10-10)
### [12.1.1](https://www.github.com/googleapis/terraform-test-repo/compare/v12.1.0...v12.1.1) (1983-10-10)
### Bug Fixes
Expand All @@ -213,7 +213,7 @@ filename: readme.md
\`\`\`hcl
module "vpc" {
source = "terraform-google-modules/mine/google"
version = "~> 2.1"
version = "~> 12.1"
}
\`\`\`
Expand Down Expand Up @@ -242,11 +242,11 @@ terraform {
}
provider_meta "google" {
module_name = "foo/bar/baz/v2.1.1"
module_name = "foo/bar/baz/v12.1.1"
}
provider_meta "google-beta" {
module_name = "foo/bar/baz/v2.1.1"
module_name = "foo/bar/baz/v12.1.1"
}
}
Expand All @@ -256,11 +256,11 @@ exports['terraform-module run creates a release PR for simple-module: options']
upstreamOwner: googleapis
upstreamRepo: terraform-test-repo
title: chore: release 2.1.1
branch: release-v2.1.1
title: chore: release 12.1.1
branch: release-v12.1.1
description: :robot: I have created a release \\*beep\\* \\*boop\\*
---
### [2.1.1](https://www.github.com/googleapis/terraform-test-repo/compare/v2.1.0...v2.1.1) (1983-10-10)
### [12.1.1](https://www.github.com/googleapis/terraform-test-repo/compare/v12.1.0...v12.1.1) (1983-10-10)
### Bug Fixes
Expand All @@ -274,5 +274,5 @@ This PR was generated with [Release Please](https://github.com/googleapis/releas
primary: main
force: true
fork: false
message: chore: release 2.1.1
message: chore: release 12.1.1
`
7 changes: 5 additions & 2 deletions src/updaters/terraform/module-version.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,16 @@ export class ModuleVersion implements Update {
this.packageName = options.packageName;
}
updateContent(content: string): string {
const oldVersion = content.match(/v[0-9]\.[0-9]+\.[0-9](-\w+)?/);
const oldVersion = content.match(/v[0-9]+\.[0-9]+\.[0-9]+(-\w+)?/);
if (oldVersion) {
checkpoint(
`updating ${this.path} from ${oldVersion} to v${this.version}`,
CheckpointType.Success
);
}
return content.replace(/v[0-9]\.[0-9]+\.[0-9](-\w+)?/g, `v${this.version}`);
return content.replace(
/v[0-9]+\.[0-9]+\.[0-9]+(-\w+)?/g,
`v${this.version}`
);
}
}
2 changes: 1 addition & 1 deletion test/releasers/fixtures/terraform/simple-module/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
```hcl
module "vpc" {
source = "terraform-google-modules/mine/google"
version = "~> 2.0"
version = "~> 12.0"
}
```
4 changes: 2 additions & 2 deletions test/releasers/fixtures/terraform/simple-module/versions.tf
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ terraform {
}

provider_meta "google" {
module_name = "foo/bar/baz/v2.0.0"
module_name = "foo/bar/baz/v12.0.0"
}

provider_meta "google-beta" {
module_name = "foo/bar/baz/v2.0.0"
module_name = "foo/bar/baz/v12.0.0"
}
}
7 changes: 5 additions & 2 deletions test/releasers/terraform-module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ describe('terraform-module', () => {
findVersionFiles: ['versions.tf'],
findReadmeFiles: ['readme.md'],
readFilePaths: ['simple-module/readme.md', 'simple-module/versions.tf'],
expectedVersion: '12.1.0',
},
{
// module-submodule with submodules
Expand All @@ -58,13 +59,15 @@ describe('terraform-module', () => {
'module-submodule/versions.tf',
'module-submodule/modules/sub-module-with-version/versions.tf',
],
expectedVersion: '2.1.0',
},
{
// module-no-versions with no module versions defined in versions.tf
name: 'module-no-versions',
findVersionFiles: [],
findReadmeFiles: ['module-no-versions/README.MD'],
readFilePaths: ['module-no-versions/README.MD'],
expectedVersion: '2.1.0',
},
];
beforeEach(() => {
Expand Down Expand Up @@ -104,8 +107,8 @@ describe('terraform-module', () => {
sandbox.stub(releasePR, 'latestTag').returns(
Promise.resolve({
sha: 'da6e52d956c1e35d19e75e0f2fdba439739ba364',
name: 'v2.1.0',
version: '2.1.0',
name: `v${test.expectedVersion}`,
version: test.expectedVersion,
})
);

Expand Down

0 comments on commit 24d5b8b

Please sign in to comment.