Skip to content

Releases: warwickallen/FileHashDatabase

Enable test automation

Pre-release

Choose a tag to compare

@warwickallen warwickallen released this 16 Jul 10:57
ab569e2

What's Changed

Overview

This pull request introduces a comprehensive overhaul to bring the FileHashDatabase PowerShell module to a production-ready, professional standard suitable for publication.

Summary of Changes

🚀 Core Module Fixes & Enhancements

  • Fixed PowerShell class loading across all supported versions (5.1+)
  • Enhanced FileHashDatabase class with robust error handling and path resolution
  • Improved module import reliability with multiple fallback strategies
  • Better SQLite integration with comprehensive dependency management

🧪 Comprehensive CI/CD Pipeline

  • PowerShell version matrix covering 5.1, 7.2, and 7.4
  • Enhanced GitHub Actions workflow with native test reporting
  • Improved test infrastructure with better error handling and cross-platform paths
  • Added diagnostic tools (Diagnostic.ps1) for troubleshooting module issues

🔧 Development & Build Tools

  • Professional build script (Build/Build.ps1) for local validation
  • Cross-platform whitespace standardisation with automated cleanup
  • Git hooks for code quality ensuring consistent formatting
  • Enhanced module manifest with proper metadata and dependencies

Commit Highlights

Module Loading & Compatibility (30ac0ec, f84fb84, 5ecb834)

  • Fixed PowerShell class loading issues across all supported versions
  • Implemented robust module root detection with multiple fallback methods

CI/CD Pipeline Overhaul (1f109f0, 35e2ceb, edccb27, 23322c4)

  • Migrated from Windows 2019 to Windows 2022 (EOL compliance)
  • Implemented native GitHub Actions test reporting with rich visual feedback
  • Added comprehensive cross-platform testing matrix
  • Enhanced error handling and dependency management in CI

Development Tools (30ac0ec, 2e2ff4d)

  • Created professional build validation script (Build/Build.ps1)
  • Added diagnostic tooling (Diagnostic.ps1) for troubleshooting
  • Implemented whitespace standardisation with automated cleanup
  • Added Git hooks for maintaining code quality

Database Schema Enhancement (30ac0ec)

  • Re-introduced DeduplicatedFile view for improved duplicate file analysis
  • Enhanced SQLite schema with better indexing and relationships

Testing Performed

  • ✅ Cross-platform validation: Windows (5.1, 7.2, 7.4), Ubuntu (7.4), macOS (7.4)
  • ✅ CI/CD pipeline testing: All 5 matrix combinations passing
  • ✅ Module loading verification: Class instantiation working across PowerShell versions
  • ✅ Dependency handling: Graceful fallbacks when PSSQLite unavailable
  • ✅ Code quality: PSScriptAnalyzer compliance maintained

Breaking Changes

None - This release maintains full backward compatibility whilst significantly improving reliability and cross-platform support.

Technical Highlights

Module Architecture

  • Version bump: 0.0.2 → 0.0.3
  • ScriptsToProcess configuration: Properly loads classes via manifest
  • Enhanced error handling: Comprehensive logging and graceful degradation
  • Cross-platform paths: Handles Windows, Linux, and macOS path conventions

GitHub Actions Workflow

  • Test matrix: 5 combinations covering key PowerShell versions and platforms
  • Native reporting: Rich markdown tables with status indicators (✅ for PS 7.x, text for PS 5.1)
  • Artifact management: Test results preserved for 30 days
  • Dependency resilience: Tests continue even when optional dependencies missing

Compatibility

  • PowerShell Versions: 5.1, 6.x, 7.x+
  • Operating Systems: Windows
  • Dependencies: SQLite (handled internally)

Full Changelog: v0.0.2...v0.0.3

Add FileHashDasbase files

Pre-release

Choose a tag to compare

@warwickallen warwickallen released this 16 Jul 10:55

Full Changelog: v0.0.0...v0.0.2