Skip to content

danstis/PSF-Module

Repository files navigation

PSF-Module

Build and Deploy

A self-contained PowerShell module providing a set of utility functions, organized for easy import and publishing to the PowerShell Gallery.

View on PowerShell Gallery


Project Overview

  • Main entry point: PSF.psm1 (imports all functions from functions/)
  • Module manifest: PSF.psd1 (controls exported functions and metadata)
  • CI/CD: Automated with GitHub Actions (.github/workflows/deploy.yml)

Directory Structure

PSF.psm1                # Module entry point
PSF.psd1                # Module manifest
functions/              # Each function as a separate .ps1 file
  Get-oAuthToken.ps1
  Get-PublicIP.ps1
  Get-RandomPassword.ps1
  Get-Updates.ps1

tests/                  # Pester tests for each function
  Get-RandomPassword.Tests.ps1
.github/workflows/      # CI/CD pipeline
  deploy.yml

Usage

Install from the PowerShell Gallery:

Install-Module -Name PSF

Import the module:

Import-Module PSF

Adding a New Function

  1. Create functions/New-Function.ps1.
  2. Dot-source it in PSF.psm1.
  3. Add to FunctionsToExport in PSF.psd1.
  4. Add tests/New-Function.Tests.ps1 (use Pester).

Testing & Validation

  • Run all tests:

    .\.ExecuteTests.ps1
  • Validate manifest:

    Test-ModuleManifest -Path .\PSF.psd1

CI/CD Pipeline

  • On push/PR to master, the workflow:
    • Runs tests and validates the manifest
    • Versions the module using GitVersion
    • Tags the release
    • Publishes to the PowerShell Gallery

Conventions

  • Only functions listed in FunctionsToExport in PSF.psd1 are public
  • Only functions dot-sourced in PSF.psm1 are loaded
  • No wildcards in export lists
  • Each function should have a corresponding test file
  • No external dependencies (except standard PowerShell modules and GitHub Actions)

License

MIT

About

PowerShell Functions Module

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •