First off, thank you for considering contributing to Galaxy Book Enabler! It's people like you that make this tool better for everyone.
- Windows 10/11
- PowerShell 7.0+ (
pwsh) Pestermodule (v3.4.0) for running tests
- Fork the repository and create your branch from
main. - If you've added code that should be tested, add tests.
- Ensure the test suite passes locally.
- Update the documentation if you've changed functionality.
- Create a Pull Request with a clear description of the problem and solution.
This repository implements strict branch protection. The following checks are REQUIRED to pass before a pull request can be merged:
- Workflow:
.github/workflows/autonomous-actions-check.yml - Purpose: Verifies that the installer works correctly in non-interactive mode.
- Key Regressions Covered:
- Unconditional pauses (blocking CI).
- Array argument "comma-collapsing" during elevation.
- Fully autonomous install/uninstall/update-settings actions.
- Workflow:
.github/workflows/installer-smoke.yml - Purpose: Basic verification of installer logic and environment setup on a clean Windows runner.
- Workflow:
.github/workflows/generator-tests.yml - Purpose: Runs Pester unit tests for the
Generate-SamsungIdentity.ps1script to ensure valid DMI string generation.
- Use PowerShell 7 idiomatic code (avoid PS 5.1 specificisms).
- Implement
Invoke-InteractivePausefor any user interaction to ensure CI compatibility. - Use strict
ErrorActionPreference = 'Stop'in scripts intended for automation. - For elevation logic, ensure array parameters are correctly itemized (preserve
[string[]]types).