PowerShell / PowerShell/PSScriptAnalyzer
Internal: Build/Release inconsistencies compared to PowerShell Core repo
Nessuno ha ancora preso questa issue.
- Lingua principale
- C#
- Stelle
- 2.2k
- Fork
- 414
- Merge medio
- 13h 1m
- PR unite (30g)
- 2
Descrizione
@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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia esaminando gli elementi non selezionati nell'issue e i file di build elencati: build.cmd, build.ps1, .build.ps1, buildCoreClr.ps1 e la configurazione di AppVeyor. Traccia come vengono gestiti attualmente le classi delle risorse, il versionamento e il comportamento della CI locale. Il lavoro è completato quando i miglioramenti di coerenza selezionati sono implementati e il loro comportamento di build o release è verificato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp, powershell
- Ambito
- build-system, ci-cd, release
- Tipo di issue
- Refactoring
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100