Skip to content

infra: CI/CD pipelines (lint, test, release) #11

@kristopherjturner

Description

@kristopherjturner

Overview

Implement CI/CD pipelines for linting, testing, and releasing the VM Conversion Toolkit. Pipelines enforce PowerShell code quality gates on every PR and produce versioned release artifacts.

Scope

  • GitHub Actions workflow: PSScriptAnalyzer lint on all .ps1 files
  • GitHub Actions workflow: Pester unit tests with coverage report
  • GitHub Actions workflow: Release Please for automated changelog and release notes
  • Release artifact: ZIP of scripts/ and config/ with version tag
  • Dependabot for workflow and module dependency updates
  • Branch protection: require lint + test passing before merge

Acceptance Criteria

  • PSScriptAnalyzer lint runs on every PR with zero errors (warnings reviewed)
  • Pester tests run in CI without cluster access (mocked cmdlets)
  • Coverage report posted as PR comment
  • Release Please creates release PRs on merge to main
  • GitHub Release includes versioned ZIP artifact

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions