Skip to content

Add CI to prevent breaking changes in policyengine-us-data #134

@baogorek

Description

@baogorek

Context

Recent changes to microimpute have inadvertently broken policyengine-us-data's dataset generation (see #133). This highlights the need for automated testing of downstream dependencies.

Problem

Currently, developers have no way to know if their changes to microimpute will break important downstream packages like policyengine-us-data. This can lead to:

  • Production failures in dependent packages
  • Time spent debugging issues that could have been caught earlier
  • Potential data quality issues if breaks go unnoticed

Solution

Add a GitHub Actions workflow that automatically tests policyengine-us-data when changes are made to microimpute. This ensures:

  1. Developers get immediate feedback if their changes break downstream packages
  2. Breaking changes can be addressed before merging
  3. Better stability for the entire PolicyEngine ecosystem

Implementation

A PR will be submitted shortly that adds a downstream-compatibility.yml workflow that:

  • Runs on all PRs and pushes to main
  • Installs the current branch of microimpute
  • Runs policyengine-us-data's PUF tests that depend on microimpute
  • Warns developers if tests fail

This is especially important given that policyengine-us-data is a critical dependency for PolicyEngine's tax modeling infrastructure.

Related to: #133 (specific bug that motivated this change)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions