Skip to content

Conversation

jlegrone
Copy link
Collaborator

@jlegrone jlegrone commented Aug 26, 2025

Summary

Refactor GitHub Actions workflows to reduce config duplication.

The workflows are now more DRY while maintaining the same test coverage and linting checks.

@jlegrone jlegrone requested a review from a team as a code owner August 26, 2025 16:57
@jlegrone jlegrone force-pushed the codex/update-github-pipeline-test-name branch from 0473682 to 5d24387 Compare August 26, 2025 17:59
@jlegrone jlegrone force-pushed the codex/update-github-pipeline-test-name branch from 5d24387 to 23aa7f6 Compare August 26, 2025 18:02
@jlegrone jlegrone requested a review from Copilot August 26, 2025 18:03
Copilot

This comment was marked as outdated.

…ility

- Combine unit tests and go vet into a single matrix job to eliminate duplicate setup
- Consolidate linting jobs into a matrix strategy removing repetitive checkout/Go setup
- Streamline integration test dependency installation into single step
- Centralize "check dirty" logic with conditional execution
- Reduce total jobs from 7 to 4 while maintaining all functionality
- Improve artifact naming consistency and make uploads conditional where appropriate

This reduces ~60 lines of repetitive YAML and makes workflows faster and easier to maintain.
Remove redundant "Tests" suffix from job names:
- "Unit Tests" -> "Unit"
- "Integration Tests" -> "Integration"

This makes the job names more concise while maintaining clarity.
@jlegrone jlegrone requested a review from Copilot August 26, 2025 18:10
@jlegrone jlegrone changed the title Rename test workflow Reduce repetition in CI configuration Aug 26, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR reorganizes GitHub Actions workflows to better reflect their actual functionality by renaming workflows and consolidating jobs using matrix strategies for more efficient CI/CD execution.

  • Renames "Integration Tests" workflow to "Test" and restructures it to run unit tests, go vet, and integration tests
  • Renames "linters" workflow to "Lint" and consolidates three separate linting jobs into a single matrix-based job
  • Improves workflow organization by grouping related tasks and reducing duplication

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/test.yml Restructured to run unit tests and go vet in parallel using matrix strategy, moved integration tests to separate job
.github/workflows/linters.yml Consolidated three separate linting jobs into single matrix-based job with conditional steps

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@jlegrone jlegrone marked this pull request as draft August 26, 2025 18:19
Removes conditional logic in workflow step by utilizing the existing
'vet' make target instead of inline shell conditionals.

Addresses: #129 (comment)
- Creates reusable composite action for Go setup steps
- Replaces matrix strategy with explicit separate jobs
- Simplifies conditional logic by removing artifact upload from vet job
- Makes workflow structure more explicit and easier to understand
- Creates reusable composite action for linter setup
- Replaces matrix strategy with explicit separate jobs for each linter
- Removes conditional logic by making each job explicit
- Updates linters-succeed job to depend on new job names
- Makes workflow structure clearer and easier to maintain
- Consolidate Go setup into single parameterized composite action
  - Supports configurable checkout depth, caching, and dependency download
  - Eliminates duplicate setup-go-linters action
- Create reusable Docker Hub login composite action
- Create reusable GitHub App token generation composite action
- Update all workflows to use new composite actions
- Standardize action versions across workflows (v3/v4/v6 for consistency)
- Simplify workflow structure and reduce maintenance overhead

This reduces duplication across 5 workflows and centralizes common patterns
into reusable, well-tested composite actions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant