-
-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Where did OG-USA related metadata from taxcalc.dropq go? #1368
Comments
@martinholmer warned @PeterDSteinberg, @rickecon, and @jdebacker of this issue 15 days ago in this comment #1314 (comment) before the PR was merged. |
@PeterDSteinberg said:
Webapp-public, deploy, b-tax, and og-usa developers should not depend on taxcalc devs to check compatibility before releases just like taxcalc devs don't expect Pandas devs to test new pandas versions against taxcalc.
[emphasis added] This seems like the problem. Why do we need to release versions of all repos at the same time? Why isn't it like this:
|
Your sequenced steps above (1 to 4) look good @MattHJensen but running webapp-public locally with all the repos on the right branches finds the bugs with 1/4 of that personnel hours investment. I'm sorry I missed @martinholmer 's important comment, but I don't know if it makes sense to merge a Tax-Calculator PR to master when the cooperating repos have not started work on corresponding changes to be compatible. I'll make the changes @martinholmer suggested after my meeting now. |
@PeterDSteinberg, what about setting pins in og-usa/b-tax/webapp-public to allow this workflow:
|
I think a fundamental problem here is thinking about taxcalc, webapp-public, b-tax, and og-usa as part of the same project with the same development team. In fact, they are separate projects with separate development teams. |
Something else that will make this easier for everyone is if taxcalc declares a public API and adopts semantic versioning to identify which releases make incompatible API changes, which releases add backwards-compatible functionality, and which releases make backwards-compatible bug fixes. More on that later. |
I agree with your numbered steps above, @MattHJensen , regarding tentative release of taxcalc, then running webapp-public to see if other repos need changes, adjusting version pinning as necessary, and re-testing with webapp-public. |
@PeterDSteinberg, one nitpick: it would be a "real" release of taxcalc not a "tentative" release, right? Because taxcalc users (other than webapp-public/b-tax/og-usa users), could always upgrade to it. |
It is possible to do it that way @MattHJensen (making taxcalc releases be easily installed from |
@PeterDSteinberg @MattHJensen , a while ago I made a script that can check between versions and look for API changes. We can probably make use of it here. Here's the change from 0.8.3 to 0.8.4
|
@PeterDSteinberg i put a commit in for webapp that just adds the content of that list into webapp itself. I'm gonna push it up if that's okay with you. |
Sounds good, @brittainhard . Is this a local commit for you on webapp and push to heroku? Is it pushed elsewhere yet? I was also just running webapp locally and looking for changes needed on imports. I'll add anything I find to your PR as needed. |
@PeterDSteinberg this is being added to the form_additions PR. That's effectively the master branch right now. |
I said:
and then @PeterDSteinberg said:
@PeterDSteinberg, if we are pinning webapp-public to specific versions of taxcalc, btax, and ogusa, and then following the above workflow with new taxcalc releases, then do we really need to be able to safely run I certainly agree that taxcalc devs should build taxcalc in the |
The only advantage of I see your point regarding testing downstream repos and the difficulty of tying taxcalc devs to removing bugs related to interactions with an expanding number of add-on models. Hopefully the changes in webapp PR 553 will make it easier to run webapp-public locally and/or get test feedback on the API-related problems and I think we'll find these problems more quickly. |
From my perspective as someone working on models that depend on Tax-Calc, I agree that having Tax-Calc developers test compatibility with downstream models is too onerous. And I don't think there is much value in having a single conda install for all OSPC packages since, as noted, the development teams/users of the models often different. Rather we can have each package (OG-USA, B-Tax) that depends on Tax-Calc pinned to the latest TC version it's compatible with. But I do think the deploy repo/webapp-public should call only versions that are compatible with one another given their interactions. Thus there should be some testing for compatibility before the version of the models those repos are pinned to are updated. |
Tax-Calculator issue #1368 has been open for almost a month even though the question posed by @PeterDSteinberg was answered immediately by @MattHJensen. Under the assumption that the OG-USA developers know what code needs to be added to OG-USA (see pull request #1314 for what was removed from Tax-Calculator and needs to be added to OG-USA), issue #1368 is being closed. The subsequent discussion in issue #1368 about how best to coordinate development activity across the several OSPC-sponsored projects has culminated in webapp-public issue #560. Any further discussion of those coordination issues should take place in that issue. @MattHJensen @PeterDSteinberg @rickecon @jdebacker @kerkphil |
@martinholmer I found this diff in the github blame report for
taxcalc.dropq
:fc06a73#diff-0fbb9d8bd5e87c63c64db8be5816d69bL38
It shows that
OGUSA_ROW_NAMES
has been deleted, among other OG-USA variables.OGUSA_ROW_NAMES
and other formertaxcalc.dropq
OG-USA variables from now?OGUSA_ROW_NAMES
are no longer descriptive of the model? webapp-public imports OG-USA stuff here fromtaxcalc.dropq
: https://github.com/OpenSourcePolicyCenter/webapp-public/blob/4f5c9cfb30ffec1f2e9b58917a7bb75f352ae6fc/webapp/apps/dynamic/helpers.py#L29When we make changes to Tax-Calculator, we need to test locally with all the tentative release candidates of:
We have had problems recently due to one of those repos being changed without being tested against the versions of the other repos that will be released at the same time.
The text was updated successfully, but these errors were encountered: