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

Revamp CI: matrix, multi-Cirq #755

Merged
merged 3 commits into from
Nov 12, 2021

Conversation

mpharrigan
Copy link
Collaborator

@mpharrigan mpharrigan commented Nov 3, 2021

  • Use CI "matrix" to reduce duplication in testing infrastructure
  • stop pinning cirq in install_requires. Lower bound only. More often than not, we are artificially restricting dependers from using the latest Cirq than preventing real problems. Testing against pre-release should prevent surprises.
  • Test 1) lowest supported version of things 2) latest version of things 3) vs. cirq pre-release
  • Clarify and bump supported python version: latest two versions
  • Clarify and bump supported cirq version: latest two versions (unless this is difficult to maintain, then we'd just support the latest version and drop it from the matrix)

@google-cla google-cla bot added the cla: yes label Nov 3, 2021
@mpharrigan mpharrigan changed the title CI fun Revamp CI: matrix, multi-Cirq Nov 3, 2021
@MichaelBroughton
Copy link
Contributor

So in order to merge a PR now, one must write working changes for OpenFermion that span Cirq ~= 0.12, Cirq 0.13.0 and the latest Cirq-Dev ?

@mpharrigan
Copy link
Collaborator Author

If there's a true need for a recent Cirq version, that would be made explicit by bumping the min version in install_requies and removing that version from the testing matrix.

In practice, openfermion has rarely been in this situation as of late.

@MichaelBroughton
Copy link
Contributor

What about the case of a breaking change between cirq 0.13 and 0.14-dev ?

@mpharrigan
Copy link
Collaborator Author

we should fix openfermion to not break with 0.14-dev?

@mpharrigan
Copy link
Collaborator Author

@ncrubin what do you think

ncrubin
ncrubin previously approved these changes Nov 7, 2021
Copy link
Collaborator

@ncrubin ncrubin left a comment

Choose a reason for hiding this comment

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

LGTM

@ncrubin
Copy link
Collaborator

ncrubin commented Nov 7, 2021

I agree with Matt. if issues come up we can resolve and bump min version.

@mpharrigan
Copy link
Collaborator Author

Since this changes the names of expected checks, we need to configure the repository settings or it will keep waiting for the old ci job names

@mpharrigan
Copy link
Collaborator Author

Actually I guess TFQ has next-cirq running in a nightly build. This is better, as it won't hold up unrelated PRs (but perhaps is more easily ignored?)

@mpharrigan
Copy link
Collaborator Author

@ncrubin @MichaelBroughton my push dismissed your LGTMs. Please re-approve. I'll force-merge and then edit the list of required checks to match the new name. When we bump Cirq or Python it will change the name of the matrix build and we (I) will have to change the list of required checks. If this is too onerous, there's a clunky workaround (where you make one final job that depends on the matrix build job succeeding), but I don't think that will be necessary.

@mpharrigan
Copy link
Collaborator Author

bump @MichaelBroughton @ncrubin

Copy link
Collaborator

@ncrubin ncrubin left a comment

Choose a reason for hiding this comment

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

LGTM

@mpharrigan mpharrigan merged commit 7532ad9 into quantumlib:master Nov 12, 2021
@mpharrigan
Copy link
Collaborator Author

I force merged this and I've updated the required test for future PRs. Please ping me if there are issues with any future PRs

@mpharrigan mpharrigan mentioned this pull request Dec 6, 2021
ncrubin added a commit to ncrubin/OpenFermion that referenced this pull request Jul 25, 2022
* CI fun

* Try nightly

Co-authored-by: Nicholas Rubin <[email protected]>
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.

3 participants