Skip to content

phellams/phellams-automator

Repository files navigation

Phellams-Automator

Static Badge arc docker docker docker build

About The Project

Phellams-Automator is a multi-language build environment based on Debian-12-slim. While engineered specifically for integration with the Automator-Devops suite, it functions as a standalone runner image optimized for multi-platform CI/CD pipelines.


Features & Capabilities

Automation Toolchain

  • PowerShell Pipeline: Automated module packaging into directory structures, .zip archives, or .nupkg artifacts via Psmpacker.
  • Version Management: Automated Semantic Versioning orchestration via GitAutoVersion.
  • Documentation Engine: Native man-page and help-file generation via Phwriter.
  • Integrity Verification: Automated checksum generation and verification via CSVerify.

Multi-Language Build Systems

  • .NET: Native execution support for dotnet build and dotnet pack targetting SDK v8 and v10 (including AOT compilation targets).
  • Package Management: Native nuget pack capabilities coupled with custom Nupsforge cmdlets for multi-repository distribution (GitLab, Chocolatey, ProGet).
  • JavaScript / TypeScript: Native execution handled via Bun for high-velocity runtime performance (replacing standard Node.js).
  • Systems Languages: Built-in toolchains for Rust, Go, and Elixir.
  • Ruby / Jekyll: Optimized runner configuration featuring integrated Bundler with CI hardening policies:
  • Overridden BUNDLE_SILENCE_ROOT_WARNING: "1"
  • Enforced deterministic dependency pathing via BUNDLE_PATH: "vendor/bundle"
  • Pre-baked system dependencies (ruby-dev, build-essential) to eliminate runtime compilation failures.

CI/CD & DevOps Integration

  • Native optimization for GitLab CI execution runners.
  • Pre-configured, zero-dependency coverage upload targets for Codecov and Coveralls.

Feature Matrix & Roadmap

Capability Component / Runtime Status
PowerShell Core Module packaging, testing, and distribution 🟩 Production Ready
.NET Toolchain Compilation, packing, and AOT support 🟩 Production Ready
JS/TS Runtime Bun execution engine 🟩 Production Ready
Node.js Compatibility Bun-backed Node.js emulation interface 🟨 Work In Progress
DevOps Pipelines Codecov & Coveralls reporting agents 🟩 Production Ready
PHP8 Ecosystem Native runtime, PHPStan, PHPUnit, Composer πŸŸ₯ Planned
Python Toolchain Environment runtimes πŸŸ₯ Planned

Image Manifest

System Binaries

Pre-Baked PowerShell Modules

  • 🟦 Pester & PSScriptAnalyzer (Testing & Static Analysis)
  • 🟦 PowerShell-Yaml (Data Serialization)
  • 🟦 ColorConsole & Quicklog (UI Layout & High-Performance Logging)
  • 🟦 Tadpol (Runspace Progress Bars & Spinners)
  • 🟦 ShellDock (Isolated Runspace Executor)
  • 🟦 Nupsforge, Psmpacker, CSVerify, GitAutoVersion (Core Build Stack)

Build & Local Usage

Building the Image Locally

Using Docker CLI:

docker buildx build -t phellams-automator -f phellams-automator.dockerfile .

Using local PowerShell Orchestrator:

./phellams-automator-local-builder.ps1 -buildMode Base

Automation Script Parameters

Parameter Type Description
-Automator Switch Forces execution inside the local container context.
-Pester Switch Executes the Pester test suite validation layer prior to building.
-Build Switch Compiles and writes the completed package artifacts into the dist/ directory.
-Nuget Switch Generates compliance-ready NuGet package objects.

Roadmap

Current Phase: Beta

  • πŸ”„ Infrastructure Modernization
  • πŸ”Ή Transition base layer to Debian 13 (Trixie) slim profile.
  • πŸ”Ή Implement automated Multi-platform engine targets (amd64/arm64).
  • πŸ”Ή Completely abstract Node.js reliance over to Bun.
  • πŸ”„ Technical Debt Mitigation
  • πŸ”Ή Automate vulnerability scanning and resolve downstream image CVEs.
  • πŸ”Ή Standardize TUI padding and performance behaviors across console tooling components.

Contributing & License

Contributing

  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your Changes (git commit -m 'feat: Add AmazingFeature').
  4. Push to the Branch (git push origin feature/AmazingFeature).
  5. Open a Merge Request.

License

Distributed under the MIT License. See LICENSE for more information.


About

Docker image debian base containing .Net Core SDK, PowerShell Core.x, NuGet, Pester, PSScriptAnalyzer, PowerShell-Yaml, ColorConsole, Nupsforge, Psmpacker, CSVerify, GitAutoVersion, and custom PowerShell Profile.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors