Skip to content

v4.2.3

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Jan 15:05
· 2 commits to main since this release
1fcb663

🩹[Patch]: Workflow improvements (#55)

This pull request introduces several significant improvements to the GitHub Actions workflows, action implementation, and supporting test infrastructure. The most important changes include a complete overhaul of the release automation, enhancements to the action's prescript functionality, updates to workflow dependencies for improved security and reproducibility, and expanded test scripts for better validation and maintainability.

Workflow and Release Automation Updates:

  • Replaces .github/workflows/Auto-Release.yml and .github/release.yml with a new .github/workflows/Release.yml workflow that is more targeted, triggers only on relevant changes, and uses a pinned version of the PSModule/Release-GHRepository action for deterministic releases.

  • Changes Dependabot update schedule from weekly to daily and introduces a cooldown period, improving dependency management responsiveness.

Action Implementation and Security:

  • Refactors the action's execution logic to move prescript execution into a dedicated src/prescript.ps1 script, which safely handles both inline scripts and file paths. Updates references in action.yml to use this new script and pins all GitHub Actions to specific commit SHAs for security and reproducibility.

Linter and Workflow Improvements:

  • Updates linter workflow to use pinned versions of actions/checkout and super-linter/super-linter, disables certain validations for performance, and removes the .github/linters/.jscpd.json configuration file as duplicate code checks are now disabled.

  • Adds an exclusion for the PSAvoidUsingWriteHost rule in PowerShell Script Analyzer configuration, reflecting intentional usage for GitHub Actions output.

Documentation and Test Infrastructure:

  • Enhances the README.md documentation for action inputs and outputs, improving formatting and clarity for users.

  • Adds new PowerShell test scripts (tests/Prescript.ps1, tests/Show-Status.ps1, tests/Test-ActionResults.ps1) to validate prescript execution, action status reporting, and aggregate test results with summary reporting. Updates test configuration to explicitly set code coverage paths.


Detailed list of most important changes:

1. Workflow and Release Automation

  • Replaces legacy auto-release workflows with a new, more secure and targeted Release.yml workflow, using pinned action versions and triggering only on relevant file changes.
  • Dependabot now checks for updates daily with a 7-day cooldown, improving dependency freshness.

2. Action Implementation and Security

  • Moves prescript execution to a new src/prescript.ps1 script that safely handles both inline and file-based scripts, and updates action.yml to use this script.
  • Pins all third-party GitHub Actions in workflows and action implementation to specific commit SHAs for enhanced security and reproducibility.

3. Linter and Workflow Improvements

  • Updates linter workflow to use pinned versions and disables duplicate code checks and certain validations for performance; removes .jscpd.json as it is no longer needed.
  • Excludes PSAvoidUsingWriteHost in PowerShell linting to accommodate intentional usage in GitHub Actions.

4. Documentation and Test Infrastructure

  • Improves documentation for action inputs and outputs in README.md, providing clearer descriptions and formatting.
  • Adds new test scripts for prescript validation, action status display, and aggregate action results, and updates test configuration for code coverage.