Skip to content

Conversation

@jrhoads
Copy link
Member

@jrhoads jrhoads commented Oct 24, 2025

Purpose

This PR refactors the GitHub Actions workflows to improve maintainability and organization. It addresses the duplicated test logic across multiple workflows by introducing a reusable workflow.

Approach

The core of this change is the extraction of the test execution logic into a new, reusable workflow file (run_tests.yml). The existing dev.yml, release.yml, and staging.yml workflows are then updated to use this new reusable workflow. A new dependabot.yml file has also been added to automate dependency updates for pip packages.

Key Modifications

  • Introduced run_tests.yml: A new reusable workflow that encapsulates the common testing steps, including environment setup, dependency installation, and test execution.
  • Refactored existing workflows: dev.yml, release.yml, and staging.yml have been modified to use the run_tests.yml workflow, reducing code duplication.
  • Added dependabot.yml: This file configures Dependabot to automatically create pull requests for pip dependency updates on a weekly basis, targeting the dev branch.

Important Technical Details

  • The run_tests.yml workflow inherits secrets from the calling workflow, ensuring that sensitive information like AWS credentials and API keys are still securely provided.
  • Dependabot is configured to create PRs for pip packages and label them accordingly.

Types of changes

  • Refactoring (e.g. code restructuring, improving maintainability)

@jrhoads jrhoads requested a review from Copilot October 24, 2025 14:58
Copy link
Contributor

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 refactors GitHub Actions CI workflows by extracting duplicated test logic into a reusable workflow, improving maintainability and reducing code duplication across deployment environments.

Key Changes:

  • Introduced run_tests.yml as a reusable workflow containing shared test execution logic
  • Updated dev.yml, release.yml, and staging.yml to call the reusable workflow instead of duplicating code
  • Added Dependabot configuration for automated pip dependency updates

Reviewed Changes

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

File Description
.github/workflows/staging.yml Replaced inline test job with call to reusable workflow
.github/workflows/release.yml Replaced inline test job with call to reusable workflow
.github/workflows/dev.yml Replaced inline test job with call to reusable workflow
.github/dependabot.yml Added Dependabot configuration for weekly pip dependency updates targeting dev branch

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

@jrhoads jrhoads merged commit e317337 into dev Oct 27, 2025
1 check passed
@jrhoads jrhoads deleted the reusable-tests branch October 27, 2025 12:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants