Skip to content

RFC: Module development and release management #1312

@renehernandez

Description

@renehernandez

1. General summary of the issue

The purpose of this is to begin a conversation about applying community practices for the Pester project with a focus on module development and release management

Static Analysis

  • Introduce usage of PSScriptAnalyzer to check the code before running the tests
  • The Set-StrictMode and Help validation checks could be moved as custom rules for PSScriptAnalyzer

Folder structure reorganization

  • Separate functionality using a Private/Public folders approach within a Pester folder.
  • Split components in Private into multiple files
  • Move code out of Pester.psm1 into new functions files that will invoked within Pester.psm1

Tests

  • Analyze whether we should split tests into unit tests, integration, etc, including the tests for the output and release process

Build Management

  • Switch to use a task-based automation framework (could be either InvokeBuild or PSake)
  • Manage build dependencies using PSDepend
  • Unify build jobs on Azure Pipeline, is it possible?
  • Remove manual steps for releasing new version, avoiding future issues like (Broken build on master for v2 #1303)

Help and Documentation

  • Automate generation/update of markdown files for public Help information using PlatyPS
  • Document release process

Any additions for these sections are welcomed and could be discussed (also removal of any o fthe listed ones), or any new section that I am missing

If there are already issues that are tracking some of these sections, let's link it here to have better accountability of the work

Metadata

Metadata

Assignees

No one assigned

    Labels

    EpicIssue to encompass multiple high level issuesRFCTechnicalDebt

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions