Skip to content
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

Run country & extension template tests systematically #1020

Merged
merged 7 commits into from
Oct 7, 2021
Merged

Conversation

bonjourmauko
Copy link
Member

@bonjourmauko bonjourmauko commented May 3, 2021

Relates to #1021 openfisca/openfisca-france#1649

Technical changes

  • Run openfisca-core & country/extension template tests systematically
    • Changes to openfisca-core can unintendedly break packages depending on it
    • The country/extension templates are useful to avoid most of these situations
    • These changes provide a way to run them systematically, both locally and in CI
    • Bonus: it only uses openfisca test 😉

@bonjourmauko bonjourmauko added the kind:devops Continuous ops, integration & deployment label May 3, 2021
@bonjourmauko bonjourmauko requested a review from a team May 3, 2021 13:42
MattiSG
MattiSG previously approved these changes Aug 9, 2021
Copy link
Member

@MattiSG MattiSG left a comment

Choose a reason for hiding this comment

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

Thank you @maukoquiroga! 👏

This works for me with pip install openfisca-core[dev] && make test, I confirm that all of Core, Country Template and Extension Template tests are run.

This adds a risk: if Country or Extension template tests are broken, Core tests will break as well even though this would not be related to Core changes. I believe it is an acceptable risk considering that these repository have CI and should never fail anyway, against the added value of checking that Core changes don't break the templates.

Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Copy link
Member

@MattiSG MattiSG left a comment

Choose a reason for hiding this comment

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

Thank you for having taken my suggestions into account 🙂

However, the changeset that was originally reviewed has considerably increased, and this PR seems to have suffered from some feature creep… What was initially a way to “run country & extension template tests systematically” now seems to offer an integral rewrite of the makefile and its logs.

This is exciting, but unfortunately means many more checks have to be done, notably on the cross-platform aspect since some shell-specific syntax is used. It would have to be checked against Windows console, CI, zsh-enabled macOS… Could we please refocus this PR on its original scope? I understand this might be frustrating 😟 but I would really love to see the original proposal land in Core, while minimising risks and enabling a proper conversation around build tools evolution 🙂

CHANGELOG.md Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
@bonjourmauko
Copy link
Member Author

Ok with the feature creep 😄 , I'll split things up.

@MattiSG
Copy link
Member

MattiSG commented Aug 24, 2021

Thanks @maukoquiroga!

Copy link
Member

@MattiSG MattiSG left a comment

Choose a reason for hiding this comment

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

Nice! I'm still a bit appalled at the complexity of the Makefile syntax, I must say, but thank you so much for mastering it and improving it!

Makefile Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
openfisca_core/tools/test_runner.py Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
@benjello
Copy link
Member

benjello commented Sep 7, 2021

Hello @MattiSG @maukoquiroga : this PR stands in the way of some other PRs.
Shouldn't we merge it ASAP or do you plan an overhaul of what is fixed here ?

@bonjourmauko
Copy link
Member Author

I think it is safe to merge this one.

@benjello
Copy link
Member

benjello commented Sep 8, 2021

@MattiSG does it LGTM for you ?

MattiSG
MattiSG previously approved these changes Sep 23, 2021
Copy link
Member

@MattiSG MattiSG left a comment

Choose a reason for hiding this comment

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

👍

Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
.circleci/config.yml Outdated Show resolved Hide resolved
@bonjourmauko bonjourmauko added the kind:theme A group of issues, directly tied to an OKR label Sep 29, 2021
@bonjourmauko bonjourmauko modified the milestone: Improve testing & releases Sep 29, 2021
@bonjourmauko bonjourmauko added kind:roadmap A group of issues, constituting a delivery roadmap and removed kind:theme A group of issues, directly tied to an OKR labels Sep 29, 2021
@bonjourmauko bonjourmauko added this to the Improved testing milestone Sep 29, 2021
@bonjourmauko bonjourmauko force-pushed the test-deps branch 2 times, most recently from 78045eb to fccd684 Compare October 1, 2021 16:41
@MattiSG
Copy link
Member

MattiSG commented Oct 7, 2021

I am surprised to discover that my approving review was dismissed two weeks ago. Review time is precious, and I feel frustrated that I have to review one more time and that this PR was involuntarily blocked for so long.

@maukoquiroga according to the GitHub logs, my review was dismissed through a commit of yours. Did you have any specific action towards that goal? If so, could you share what was your intention? 🙂 If not, do you have an idea why your commit dismissed my review?

Copy link
Member

@MattiSG MattiSG left a comment

Choose a reason for hiding this comment

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

Reviewed & approved again 😉

@bonjourmauko
Copy link
Member Author

@MattiSG I think we just changed settings to dismiss stale reviews after #990. I've just deactivated it for now.

@bonjourmauko bonjourmauko merged commit d490787 into master Oct 7, 2021
@bonjourmauko bonjourmauko deleted the test-deps branch October 7, 2021 12:51
@MattiSG
Copy link
Member

MattiSG commented Oct 7, 2021

As seen over the phone with @maukoquiroga, the experiment of auto-dismissing stale reviews started after #990 turns out to be too much of a hassle in our process where we almost systematically rebase before merging and where reviews are very asynchronous.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:devops Continuous ops, integration & deployment kind:roadmap A group of issues, constituting a delivery roadmap
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants