Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@mtreinish
Copy link
Member

@mtreinish mtreinish commented Aug 15, 2023

Summary

This cross-repository merge unifies the documentation, benchmarks and code of conduct from the metapackage into Qiskit/Terra's build.

There are very non-trivial merge conflicts that have been resolved by this commit. The summary is:

  • CODE_OF_CONDUCT.md: taken directly from the metapackage's version.
  • docs/conf.py: strongly unified, albeit without the translations components that are added in a separate commit.
  • docs/index.rst: taken almost verbatim from the metapackage. All the API documentation RST files on Terra are moved to docs/apidoc (without the trailing 's') to match the metapackage expectation, so the URLs of built documentation will not change.
  • docs/release_notes.rst: The metapackage's version is renamed to docs/legacy_release_notes.rst, given a small introductory header, and made an orphan linked only from a new docs/release_notes.rst that uses reno.
  • docs/tutorials.rst: Mostly these were the same already. Updated to include Qiskit/Terra's correction that it's not an orphan, and contain the metapackage's extra intro tutorial.
  • docs/apidoc/terra.rst: renamed to docs/apidoc/index.rst and retitled to be correctly just "API Documentation".
  • requirements-dev.txt: the version of the Sphinx theme is bumped to 1.14 to match the metapackage expectation.

Following merge commit ec5c9ca, there is a commit 66a5d9f that fixes the ASV build for use in Terra, which is the rollup of the post-merge commits of #10546, which this PR supersedes.

This should probably be merged ASAP before main moves on.

Resolutions on the metapackage:

After this has merged, #10610 should merge which will close the remaining migration-related issues from the metapackage.

The metapackage was prepared for the migration using git-filter-repo, with the scripts and configuration files contained within
metapackage_migration.zip. If you extract that zip, you need to activate a Python 3.11 venv then run metapackage_rewrite.bash which will prepare the repo in the exact state I merged to create this PR.

edit: In retrospect writing this, you might need to modify my script so that it pulls only starting from commit
Qiskit/qiskit-metapackage@f131daf, which was the tip of master at the time I ran this.

I tested the docs build locally and it looks as correct as I can tell. There's still big cards pointing to experiments, dynamics etc on the landing page, but I figured that enough's enough, and we can just fix those last two things in Terra. This PR does not include Qiskit/qiskit-metapackage#1791, which should be now cherry-picked onto Terra.

Details and comments

(cherry picked from commit 965fd23)
Backported from #10611

This commit is a squashed version of the merge commit from #10611. For the stable branch we don't need to preserve the full commit history like we did on the main branch. The contents of the PR branch here match the diff of #10611 but doesn't include the full 250 commits as it's a squashed cherry-pick of the merge commit. This was done manually because the mergify bot is unable to cherry-pick a merge commit. A merge commit was used for the PR to main to preserve the full commit history for the migration from qiskit-metapackage.

The one merge conflict was the because docs/apidoc/passmanager.rst which doesn't exist on the stable branch.

This cross-repository merge unifies the documentation, benchmarks and
code of conduct from the metapackage into Qiskit/Terra's build.

There are very non-trivial merge conflicts that have been resolved by
this commit. The summary is:

- `CODE_OF_CONDUCT.md`: taken directly from the metapackage's version.
- `docs/conf.py`: strongly unified, albeit without the translations
components that are added in a separate commit.
- `docs/index.rst`: taken almost verbatim from the metapackage. All the
API documentation RST files on Terra are moved to `docs/apidoc` (without
the trailing 's') to match the metapackage expectation, so the URLs of
built documentation will not change.
- `docs/release_notes.rst`: The metapackage's version is renamed to
`docs/legacy_release_notes.rst`, given a small introductory header, and
made an orphan linked only from a _new_ `docs/release_notes.rst` that
uses `reno`.
- `docs/tutorials.rst`: Mostly these were the same already. Updated to
include Qiskit/Terra's correction that it's not an orphan, and contain
the metapackage's extra intro tutorial.
- `docs/apidoc/terra.rst`: renamed to `docs/apidoc/index.rst` and
retitled to be correctly just "API Documentation".
- `requirements-dev.txt`: the version of the Sphinx theme is bumped to
1.14 to match the metapackage expectation.

Following merge commit ec5c9ca, there is a commit 66a5d9f that fixes
the ASV build for use in Terra, which is the rollup of the post-merge
commits of Qiskit#10546, which this PR supersedes.

This should probably be merged ASAP before `main` moves on.

Resolutions on the metapackage:
- Fix Qiskit/qiskit-metapackage#1723
- Fix Qiskit/qiskit-metapackage#1722
- Fix Qiskit/qiskit-metapackage#1746

After this has merged, Qiskit#10610 should merge which will close the
remaining migration-related issues from the metapackage.

The metapackage was prepared for the migration using
[`git-filter-repo`](https://github.com/newren/git-filter-repo), with the
scripts and configuration files contained within
[metapackage_migration.zip](https://github.com/Qiskit/qiskit-terra/files/12324298/metapackage_migration.zip).
If you extract that zip, you need to activate a Python 3.11 `venv` then
run `metapackage_rewrite.bash` which will prepare the repo in the exact
state I merged to create this PR.

*edit*: In retrospect writing this, you might need to modify my script
so that it pulls only starting from commit
Qiskit/qiskit-metapackage@f131daf, which was the tip of `master` at the
time I ran this.

I tested the docs build locally and it looks as correct as I can tell.
There's still big cards pointing to experiments, dynamics etc on the
landing page, but I figured that enough's enough, and we can just fix
those last two things in Terra. This PR does not include
Qiskit/qiskit-metapackage#1791, which should be now cherry-picked onto
Terra.

(cherry picked from commit 965fd23)
@mtreinish mtreinish added the Changelog: None Do not include in changelog label Aug 15, 2023
@mtreinish mtreinish added this to the 0.25.1 milestone Aug 15, 2023
@mtreinish mtreinish requested review from a team, eggerdj and wshanks as code owners August 15, 2023 11:37
Eric-Arellano
Eric-Arellano previously approved these changes Aug 15, 2023
Copy link
Contributor

@kevinhartman kevinhartman left a comment

Choose a reason for hiding this comment

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

LGTM.

@kevinhartman kevinhartman enabled auto-merge August 15, 2023 17:59
@kevinhartman kevinhartman added this pull request to the merge queue Aug 15, 2023
Merged via the queue into Qiskit:stable/0.25 with commit 9a45fc5 Aug 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changelog: None Do not include in changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants