Skip to content

Commit fe9de27

Browse files
Merge pull request #62 from techthoughts2/Enhancements
Enhancements
2 parents 8405155 + aa018ec commit fe9de27

20 files changed

+187
-121
lines changed

.github/CHANGELOG.md

Lines changed: 74 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.2.6]
9+
10+
- Catesta template module changes
11+
- Fixed casing issue in all templates that caused Catesta to have an issue on certain Linux distros
12+
- Fixed bug where vault templates were referencing an incorrect version of Microsoft.PowerShell.SecretManagement
13+
- InvokeBuild bumped from `5.9.11` to `5.10.1`
14+
- PSScriptAnalyzer bumped from `1.20.0` to `1.21.0`
15+
- Catesta primary module changes
16+
- Added infrastructure tests to check for casing violations
17+
- InvokeBuild bumped from `5.9.11` to `5.10.1`
18+
- PSScriptAnalyzer bumped from `1.20.0` to `1.21.0`
19+
820
## [1.2.3]
921

1022
- Minor spelling corrections throughout
@@ -20,108 +32,108 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2032

2133
- Catesta template module changes
2234
- Improved plaster references throughout Catesta to better handle situations when a user choose Pester 4 vs Pester 5. While this affects a few minor files it primarily focuses on updating the way VSCode tasks are engaged.
23-
- ```tasks.json```
24-
- ```PesterTest```, ```Pester-Single-Coverage```, ```Pester-Single-Detailed```, ```DevCC-Single``` tasks no longer use legacy parameters for Pester 5
25-
- Updated to no longer reference the Module name directly. Instead ```${workspaceFolderBasename}``` is used throughout the tasks file now.
35+
- `tasks.json`
36+
- `PesterTest`, `Pester-Single-Coverage`, `Pester-Single-Detailed`, `DevCC-Single` tasks no longer use legacy parameters for Pester 5
37+
- Updated to no longer reference the Module name directly. Instead `${workspaceFolderBasename}` is used throughout the tasks file now.
2638
- All bootstrap files:
27-
- Pester bumped from ```5.3.1``` to ```5.3.3```
28-
- InvokeBuild bumped from ```5.8.8``` to ```5.9.11```
29-
- Microsoft.PowerShell.SecretManagement bumped from ```1.1.1``` to ```1.1.2```
39+
- Pester bumped from `5.3.1` to `5.3.3`
40+
- InvokeBuild bumped from `5.8.8` to `5.9.11`
41+
- Microsoft.PowerShell.SecretManagement bumped from `1.1.1` to `1.1.2`
3042
- AWS CodeBuild CI/CD changes:
31-
- ```PowerShellCodeBuildGit.yml```
32-
- ```aws/codebuild/windows-base:2019-1.0``` to ```aws/codebuild/windows-base:2019-2.0```
33-
- ```aws/codebuild/standard:5.0``` to ```aws/codebuild/standard:6.0```
34-
- All Lambdas updated from ```Runtime: python3.6``` to ```Runtime: python3.9```
35-
- ```PowerShellCodeBuildGit.yml```
36-
- ```aws/codebuild/windows-base:2019-1.0``` to ```aws/codebuild/windows-base:2019-2.0```
37-
- ```aws/codebuild/standard:5.0``` to ```aws/codebuild/standard:6.0```
43+
- `PowerShellCodeBuildGit.yml`
44+
- `aws/codebuild/windows-base:2019-1.0` to `aws/codebuild/windows-base:2019-2.0`
45+
- `aws/codebuild/standard:5.0` to `aws/codebuild/standard:6.0`
46+
- All Lambdas updated from `Runtime: python3.6` to `Runtime: python3.9`
47+
- `PowerShellCodeBuildGit.yml`
48+
- `aws/codebuild/windows-base:2019-1.0` to `aws/codebuild/windows-base:2019-2.0`
49+
- `aws/codebuild/standard:5.0` to `aws/codebuild/standard:6.0`
3850
- buildspec updates
39-
- Updated runtime version from ```dotnet: 3.1``` to ```dotnet: 6.0```
40-
- ```buildspec_pwsh_linux.yml```
41-
- ```buildspec_pwsh_windows.yml```
42-
- ```install_modules.ps1```
43-
- AWS.Tools.Common bumped from ```4.1.17.0``` to ```4.1.133```
44-
- Minimum version of ```Microsoft.PowerShell.SecretManagement``` for vault builds is now ```1.2.3```
51+
- Updated runtime version from `dotnet: 3.1` to `dotnet: 6.0`
52+
- `buildspec_pwsh_linux.yml`
53+
- `buildspec_pwsh_windows.yml`
54+
- `install_modules.ps1`
55+
- AWS.Tools.Common bumped from `4.1.17.0` to `4.1.133`
56+
- Minimum version of `Microsoft.PowerShell.SecretManagement` for vault builds is now `1.2.6`
4557
- Catesta primary module changes
46-
- ```tasks.json```
47-
- ```PesterTest```, ```Pester-Single-Coverage```, ```Pester-Single-Detailed```, ```DevCC-Single``` tasks no longer use legacy parameters for Pester 5
48-
- Pester bumped from ```5.3.1``` to ```5.3.3```
49-
- InvokeBuild bumped from ```5.8.8``` to ```5.9.11```
58+
- `tasks.json`
59+
- `PesterTest`, `Pester-Single-Coverage`, `Pester-Single-Detailed`, `DevCC-Single` tasks no longer use legacy parameters for Pester 5
60+
- Pester bumped from `5.3.1` to `5.3.3`
61+
- InvokeBuild bumped from `5.8.8` to `5.9.11`
5062

5163
## [1.0.0]
5264

5365
- Catesta template module changes
5466
- All build yaml files - added commented line for easily retrieving modules/variables/env variables are available in the build image
5567
- All bootstrap files:
56-
- Pester bumped from ```5.2.2``` to ```5.3.1```
57-
- InvokeBuild bumped from ```5.8.0``` to ```5.8.8```
58-
- PSScriptAnalyzer bumped from ```1.19.1``` to ```1.20.0```
59-
- Microsoft.PowerShell.SecretManagement bumped from ```1.0.0``` to ```1.1.1```
68+
- Pester bumped from `5.2.2` to `5.3.1`
69+
- InvokeBuild bumped from `5.8.0` to `5.8.8`
70+
- PSScriptAnalyzer bumped from `1.19.1` to `1.20.0`
71+
- Microsoft.PowerShell.SecretManagement bumped from `1.0.0` to `1.1.1`
6072
- AWS CodeBuild CI/CD changes:
61-
- ```PowerShellCodeBuildGit.yml```
73+
- `PowerShellCodeBuildGit.yml`
6274
- Now enables user to specify Branch name on Webhook filter. Default is set to main.
6375
- Updated reference links
64-
- ```install_modules.ps1```
76+
- `install_modules.ps1`
6577
- Minor spelling correction
66-
- AWS.Tools.Common bumped from ```4.1.2.3``` to ```4.1.17.0```
67-
- ```New-PowerShellProject.ps1``` & ```New-VaultProject.ps1```
78+
- AWS.Tools.Common bumped from `4.1.2.6` to `4.1.17.0`
79+
- `New-PowerShellProject.ps1` & `New-VaultProject.ps1`
6880
- Minor formatting updates
6981
- Appveyor CI/CD changes:
70-
- ```appveyor.yml```
82+
- `appveyor.yml`
7183
- Updated windows images to more recent versions
7284
- Windows Powershell from 2017 to 2019
7385
- PowerShell from 2019 to 2022
7486
- Azure DevOps CI/CD changes:
75-
- ```azure-pipelines.yml```
87+
- `azure-pipelines.yml`
7688
- ubuntu-latest
7789
- No longer installs PowerShell core (PowerShell 7 is now native to image)
78-
- switched from script using ```pwsh -c ''``` style to native ```-pwsh: |``` call
90+
- switched from script using `pwsh -c ''` style to native `-pwsh: |` call
7991
- macOS-latest
80-
- switched from script using ```pwsh -c ''``` style to native ```-pwsh: |``` call
81-
- ```tasks.json```
92+
- switched from script using `pwsh -c ''` style to native `-pwsh: |` call
93+
- `tasks.json`
8294
- Adjusted formatting
8395
- Updated documentation
8496
- Updated references to align with new tasks requirements
8597
- Catesta primary module changes
8698
- **Updated primary branch name from master to main**
8799
- Updated references from master to main throughout repository
88-
- Pester bumped from ```5.2.2``` to ```5.3.3```
89-
- InvokeBuild bumped from ```5.8.0``` to ```5.9.11```
90-
- PSScriptAnalyzer bumped from ```1.19.1``` to ```1.20.0```
91-
- ```tasks.json```
100+
- Pester bumped from `5.2.2` to `5.3.3`
101+
- InvokeBuild bumped from `5.8.0` to `5.9.11`
102+
- PSScriptAnalyzer bumped from `1.19.1` to `1.20.0`
103+
- `tasks.json`
92104
- Adjusted formatting
93105
- Updated documentation
94106
- Updated references to align with new tasks requirements
95-
- ```Catesta.build.ps1```
107+
- `Catesta.build.ps1`
96108
- Updated pester module import to use a min/max value
97109
- Documentation updates
98110
- Minor README corrections/updates
99111
- AWS
100-
- Updated ```Catesta-AWS.md```
112+
- Updated `Catesta-AWS.md`
101113
- Re-did several AWS diagrams and included raw drawio diagrams
102114
- Updated screenshots
103115
- AppVeyor
104-
- Updated ```Catesta-AppVeyor.md```
116+
- Updated `Catesta-AppVeyor.md`
105117
- Added diagram
106118
- Updated screenshots
107119
- GitHub Actions
108-
- Updated ```Catesta-GHActions.md```
120+
- Updated `Catesta-GHActions.md`
109121
- Added diagram
110122
- Azure DevOps
111-
- Updated ```Catesta-Azure.md```
123+
- Updated `Catesta-Azure.md`
112124
- Added diagram
113-
- Updated ```Catesta-FAQ.md```
114-
- Updated ```Catesta-Vault-Extension.md```
125+
- Updated `Catesta-FAQ.md`
126+
- Updated `Catesta-Vault-Extension.md`
115127

116128
## [0.12.4]
117129

118-
- ```*.build.ps1```
119-
- Test task now correctly references ```$script:UnitTestsPath``` instead of overall ```$script:TestsPath```
120-
- DevCC task now correctly references ```$script:UnitTestsPath``` instead of ```'Tests\Unit'```
121-
- Infra task now correctly references ```$script:InfraTestsPath``` instead of ```'Tests\Infrastructure'```
122-
- Adjusted ValidateRequirements task to work with ```[version]``` type when verifying minimum version of PowerShell to validate
130+
- `*.build.ps1`
131+
- Test task now correctly references `$script:UnitTestsPath` instead of overall `$script:TestsPath`
132+
- DevCC task now correctly references `$script:UnitTestsPath` instead of `'Tests\Unit'`
133+
- Infra task now correctly references `$script:InfraTestsPath` instead of `'Tests\Infrastructure'`
134+
- Adjusted ValidateRequirements task to work with `[version]` type when verifying minimum version of PowerShell to validate
123135
- Added new BuildNoInfra task for building module without running Infra tests
124-
- ```tasks.json```
136+
- `tasks.json`
125137
- Added new VSCode tasks
126138
- BuildNoInfra - runs BuildNoInfra tasks
127139
- Pester-Single-Coverage - enables user to run pester test for single function and get code coverage report
@@ -130,7 +142,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
130142

131143
## [0.12.1]
132144

133-
- Changed the Pester 5 minimum version requirement from ```v5.0.0``` to ```v5.2.2```
145+
- Changed the Pester 5 minimum version requirement from `v5.0.0` to `v5.2.2`
134146
- Updated CloudFormation GitHub template to use CodeBuild image version 5.0.
135147

136148
## [0.12.0]
@@ -140,19 +152,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
140152
- Some CICD containers have the Pester module loaded into memory. Added explicit remove in the build file to account for this.
141153
- Moved Pester import handling from the buildspec/yaml to InvokeBuild
142154
- Updated pester tests that were using legacy Should syntax (without dashes)
143-
- Fixed ```tasks.json``` VSCode file to be valid json (was missing comma)
155+
- Fixed `tasks.json` VSCode file to be valid json (was missing comma)
144156
- Added prompt on ModuleOnly module type to prompt user if they want helpful .vscode files for their module project
145157
- Catesta now deploys the initial sample module in a style that better reflects a real-world module
146158
- The private sample function was renamed to Get-Day and gets the day of the week
147159
- The public sample function now returns hello world with the day of the week included
148160
- Sample tests are now created for these sample functions in the appropriate public/private folders under the Tests/Unit folder
149161
- Sample tests now actually test the sample functions
150162
- AppVeyor CI/CD changes:
151-
- Updated Ubuntu image from ```Ubuntu1804``` to ```Ubuntu2004```
163+
- Updated Ubuntu image from `Ubuntu1804` to `Ubuntu2004`
152164
- Azure DevOps CI/CD changes:
153165
- The latest macOS image [now includes PowerShell](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md) by default - removed step in yaml to install PowerShell.
154166
- AWS CodeBuild CI/CD changes:
155-
- CB Linux Image updated in CFN from ```Image: aws/codebuild/standard:4.0``` to use latest: ```Image: aws/codebuild/standard:5.0```
167+
- CB Linux Image updated in CFN from `Image: aws/codebuild/standard:4.0` to use latest: `Image: aws/codebuild/standard:5.0`
156168
- Updated buildspec_pwsh_windows.yml to use the new syntax for installing PowerShell 7.
157169

158170
```bash
@@ -161,20 +173,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
161173
```
162174

163175
- Added additional documentation links to the buildspec files
164-
- InvokeBuild bumped from ```5.6.1``` to ```5.8.0```
176+
- InvokeBuild bumped from `5.6.1` to `5.8.0`
165177
- Catesta primary module changes
166178
- Updated pester tests that were using Legacy Should syntax (without dashes)
167179
- Updated pester tests to support v5+
168-
- InvokeBuild bumped from ```5.6.1``` to ```5.8.0```
180+
- InvokeBuild bumped from `5.6.1` to `5.8.0`
169181

170182
## [0.11.0]
171183

172184
- Adjusted vault templates to include the new capabilities in SecretManagement RC2
173185
- New optional cmdlets
174186
- New metadata parameter on several cmdlets
175187
- Added new optional vault parent .psm1 example file
176-
- Catesta now references the GA version of ```Microsoft.PowerShell.SecretManagement```
177-
- Added best practice naming suggestion to ```New-VaultProject```
188+
- Catesta now references the GA version of `Microsoft.PowerShell.SecretManagement`
189+
- Added best practice naming suggestion to `New-VaultProject`
178190
- Corrected verbiage on several commands to properly reflect which module project was being scaffold
179191
- Fixed bug where module would fail to scaffold on Linux systems due to case sensitivity of path
180192

@@ -220,7 +232,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
220232
- Added build steps which import the module manifest explicitly
221233
- Adjusted ExportedFunctions.Tests.ps1 to check for included example rather than example count
222234
- Updated a few areas of documentation/help to provide more clarification
223-
- Updated .vscode settings to use ```${workspaceFolderBasename}``` instead of hard-coded Catesta name
235+
- Updated .vscode settings to use `${workspaceFolderBasename}` instead of hard-coded Catesta name
224236

225237
## [0.9.0]
226238

.vscode/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"Catesta",
2121
"CICD",
2222
"cmdlets",
23+
"distros",
2324
"dotnet",
2425
"drawio",
2526
"Evalz",

actions_bootstrap.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ $null = $modulesToInstall.Add(([PSCustomObject]@{
2121
# https://github.com/nightroman/Invoke-Build
2222
$null = $modulesToInstall.Add(([PSCustomObject]@{
2323
ModuleName = 'InvokeBuild'
24-
ModuleVersion = '5.9.11'
24+
ModuleVersion = '5.10.1'
2525
}))
2626
# https://github.com/PowerShell/PSScriptAnalyzer
2727
$null = $modulesToInstall.Add(([PSCustomObject]@{
2828
ModuleName = 'PSScriptAnalyzer'
29-
ModuleVersion = '1.20.0'
29+
ModuleVersion = '1.21.0'
3030
}))
3131
# https://github.com/PowerShell/platyPS
3232
# older version used due to: https://github.com/PowerShell/platyPS/issues/457

docs/Catesta.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Module Name: Catesta
33
Module Guid: 6796b193-9013-468a-b022-837749af2d06
44
Download Help Link: NA
5-
Help Version: 1.2.3
5+
Help Version: 1.2.6
66
Locale: en-US
77
---
88

src/Catesta/Catesta.psd1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
RootModule = 'Catesta.psm1'
1313

1414
# Version number of this module.
15-
ModuleVersion = '1.2.3'
15+
ModuleVersion = '1.2.6'
1616

1717
# Supported PSEditions
1818
# CompatiblePSEditions = @()

src/Catesta/Resources/AWS/Vault/plasterManifest.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<metadata>
55
<name>AWSCBVaultExtension</name>
66
<id>58d9f168-a786-43e6-8b79-0766ded4fd22</id>
7-
<version>1.2.3</version>
7+
<version>1.2.6</version>
88
<title>Catesta - SecretManagement extension vault module template for AWS CodeBuild</title>
99
<description>Scaffolds a new PowerShell SecretManagement extension vault module project intended for CI/CD workflow using AWS CodeBuild</description>
1010
<author>Jake Morrison</author>
@@ -68,9 +68,9 @@
6868
<file source='' destination='src\Tests\Infrastructure'/>
6969
<file source='' destination='src\Tests\Unit'/>
7070
<file source='' destination='src\${PLASTER_PARAM_ModuleName}'/>
71-
<templateFile source='..\..\editor\VSCode\tasks.json' destination='.vscode\tasks.json' />
72-
<file source='..\..\editor\VSCode\extensions.json' destination='.vscode\extensions.json' />
73-
<templateFile source='..\..\editor\VSCode\settings.json' destination='.vscode\settings.json' />
71+
<templateFile source='..\..\Editor\VSCode\tasks.json' destination='.vscode\tasks.json' />
72+
<file source='..\..\Editor\VSCode\extensions.json' destination='.vscode\extensions.json' />
73+
<templateFile source='..\..\Editor\VSCode\settings.json' destination='.vscode\settings.json' />
7474

7575
<templateFile condition="$PLASTER_PARAM_Pester -eq '4'" source='..\..\Vault\src\Tests\v4\Unit\PSVault-Module.Tests.ps1' destination='src\Tests\Unit\${PLASTER_PARAM_ModuleName}-Module.Tests.ps1' />
7676
<templateFile condition="$PLASTER_PARAM_Pester -eq '4'" source='..\..\Vault\src\Tests\v4\Unit\ExportedFunctions.Tests.ps1' destination='src\Tests\Unit\ExportedFunctions.Tests.ps1' />
@@ -116,7 +116,7 @@
116116
<requireModule condition="$PLASTER_PARAM_Pester -eq '5'" name="Pester" minimumVersion="5.2.2" message="Without Pester, you will not be able to run the provided Pester test to validate your module manifest file."/>
117117
<requireModule name="InvokeBuild" minimumVersion="5.8.0" message="Without InvokeBuild, you will not be able to run local builds."/>
118118
<requireModule name="platyPS" requiredVersion ="0.12.0" message="This template requires platyPS v0.12.0 module to properly generate help."/>
119-
<requireModule name="Microsoft.PowerShell.SecretManagement" minimumVersion ="1.2.3" message="Without the PowerShell SecretManagement you will not be able to properly test your extension."/>
119+
<requireModule name="Microsoft.PowerShell.SecretManagement" minimumVersion ="1.1.2" message="Without the PowerShell SecretManagement you will not be able to properly test your extension."/>
120120

121121
<message>
122122

src/Catesta/Resources/AWS/install_modules.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@ $null = $modulesToInstall.Add(([PSCustomObject]@{
6868
%>
6969
$null = $modulesToInstall.Add(([PSCustomObject]@{
7070
ModuleName = 'InvokeBuild'
71-
ModuleVersion = '5.9.11'
71+
ModuleVersion = '5.10.1'
7272
BucketName = '<%=$PLASTER_PARAM_S3Bucket%>'
7373
KeyPrefix = ''
7474
}))
7575
$null = $modulesToInstall.Add(([PSCustomObject]@{
7676
ModuleName = 'PSScriptAnalyzer'
77-
ModuleVersion = '1.20.0'
77+
ModuleVersion = '1.21.0'
7878
BucketName = '<%=$PLASTER_PARAM_S3Bucket%>'
7979
KeyPrefix = ''
8080
}))

src/Catesta/Resources/AWS/plasterManifest.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<metadata>
55
<name>AWSCBManifestPS</name>
66
<id>83670531-579c-4a4c-a70a-ddc60eaefa40</id>
7-
<version>1.2.3</version>
7+
<version>1.2.6</version>
88
<title>Catesta - PowerShell Module Template for AWS CodeBuild</title>
99
<description>Scaffolds a new PowerShell module project intended for CI/CD workflow using AWS CodeBuild</description>
1010
<author>Jake Morrison</author>
@@ -77,9 +77,9 @@
7777
<file source='' destination='src\${PLASTER_PARAM_ModuleName}'/>
7878
<file source='' destination='src\${PLASTER_PARAM_ModuleName}\Public'/>
7979
<file source='' destination='src\${PLASTER_PARAM_ModuleName}\Private'/>
80-
<templateFile source='..\editor\VSCode\tasks.json' destination='.vscode\tasks.json' />
81-
<file source='..\editor\VSCode\extensions.json' destination='.vscode\extensions.json' />
82-
<templateFile source='..\editor\VSCode\settings.json' destination='.vscode\settings.json' />
80+
<templateFile source='..\Editor\VSCode\tasks.json' destination='.vscode\tasks.json' />
81+
<file source='..\Editor\VSCode\extensions.json' destination='.vscode\extensions.json' />
82+
<templateFile source='..\Editor\VSCode\settings.json' destination='.vscode\settings.json' />
8383

8484
<templateFile condition="$PLASTER_PARAM_Pester -eq '4'" source='..\Module\src\Tests\v4\Unit\PSModule-Module.Tests.ps1' destination='src\Tests\Unit\${PLASTER_PARAM_ModuleName}-Module.Tests.ps1' />
8585
<templateFile condition="$PLASTER_PARAM_Pester -eq '4'" source='..\Module\src\Tests\v4\Unit\ExportedFunctions.Tests.ps1' destination='src\Tests\Unit\ExportedFunctions.Tests.ps1' />

0 commit comments

Comments
 (0)