mirror of
https://github.com/ivuorinen/gh-action-readme.git
synced 2026-03-08 00:58:25 +00:00
refactor: major codebase improvements and test framework overhaul
This commit represents a comprehensive refactoring of the codebase focused on improving code quality, testability, and maintainability. Key improvements: - Implement dependency injection and interface-based architecture - Add comprehensive test framework with fixtures and test suites - Fix all linting issues (errcheck, gosec, staticcheck, goconst, etc.) - Achieve full EditorConfig compliance across all files - Replace hardcoded test data with proper fixture files - Add configuration loader with hierarchical config support - Improve error handling with contextual information - Add progress indicators for better user feedback - Enhance Makefile with help system and improved editorconfig commands - Consolidate constants and remove deprecated code - Strengthen validation logic for GitHub Actions - Add focused consumer interfaces for better separation of concerns Testing improvements: - Add comprehensive integration tests - Implement test executor pattern for better test organization - Create extensive YAML fixture library for testing - Fix all failing tests and improve test coverage - Add validation test fixtures to avoid embedded YAML in Go files Build and tooling: - Update Makefile to show help by default - Fix editorconfig commands to use eclint properly - Add comprehensive help documentation to all make targets - Improve file selection patterns to avoid glob errors This refactoring maintains backward compatibility while significantly improving the internal architecture and developer experience.
This commit is contained in:
25
testdata/yaml-fixtures/actions/composite/basic.yml
vendored
Normal file
25
testdata/yaml-fixtures/actions/composite/basic.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
name: 'Basic Composite Action'
|
||||
description: 'A simple composite action with basic steps'
|
||||
inputs:
|
||||
working-directory:
|
||||
description: 'Working directory for commands'
|
||||
required: false
|
||||
default: '.'
|
||||
outputs:
|
||||
status:
|
||||
description: 'Overall status of the workflow'
|
||||
value: ${{ steps.final.outputs.status }}
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Setup
|
||||
run: echo "Setting up environment"
|
||||
shell: bash
|
||||
- name: Main task
|
||||
run: echo "Running main task in ${{ inputs.working-directory }}"
|
||||
shell: bash
|
||||
working-directory: ${{ inputs.working-directory }}
|
||||
- name: Final step
|
||||
id: final
|
||||
run: echo "status=success" >> $GITHUB_OUTPUT
|
||||
shell: bash
|
||||
Reference in New Issue
Block a user