PowerShell / PowerShell/PSScriptAnalyzer
Internal: Build/Release inconsistencies compared to PowerShell Core repo
Open
Nobody has claimed this yet.
Area - Build
- Dominant language
- C#
- Stars
- 2.2k
- Forks
- 414
- Avg merge
- 13h 1m
- Merged PRs (30d)
- 2
Description
@JamesWTruher is planning to do some work for making the development/CI more consistent across PowerShell repos. I'll start here listing some potential candidates:
- Pester: PsCore recently moved from version 3 to 4. PSSA is currently on version 3.4
- Visual Studio Support: I already added support for being able to build and debug PSSA using Visual Studio out of the box. PsCore has a pending PR (5209) to achieve that.
- Editing ressources: When moving to Visual Studio development and netcore2, PSSA dropped the ability to auto-generate the c# ressource class because VS does that automatically when editing ressources. People who are not on Visual Studio, currently need to add new properties to the ressouce class file manually when adding new ressource entries. A further downside is that it unnecessarily blows up the diff in a PR can potentiall lead to merge conflicts. I originally did this due to difficulties when upgrading but I will consider bringing this functionality back
- PSSA gets its version number bumped only just before the release. PSCore does it straight after the release (branch) has been created. This makes it difficult when developing or reproing bugs because it means that the installed version has to be installed/uninstalled unnecessarily often.
- Make it easier to run all tests locally by moving out some logic from the appveyor fle into a ps module
- PSSA uses a GitFlow like branching strategy where PRs target the
developmentbranch. PSCore only works on master/release branches, which seems to be the better model for smaller repos. - PSSA has too many build scripts:
build.cmd,build.ps1,.build.ps1andbuildCoreClr.ps1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the unchecked items in the issue and the listed build files: build.cmd, build.ps1, .build.ps1, buildCoreClr.ps1, and the AppVeyor configuration. Trace how resource classes, versioning, and local CI behavior are handled today. Done means the selected consistency improvements are implemented and their build or release behavior is verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, powershell
- Domain
- build-system, ci-cd, release
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100