Commit Graph

98 Commits

Author SHA1 Message Date
Matthew Treinish 5dc12ceba7
Add CODEOWNERS for the primitives submodule (#7810)
The primitives submodule was recently added in the #7723. As the primary
authors of this new submodule were @ikkoham and @t-imamichi and they are
the most familiar with its operation and how it was written this commit
adds both of them as codeowners for this submodule. As codeowners they
have merge permission on the submodule as well as a formal
responsibility to review and maintain it.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-03-23 20:09:38 +00:00
Matthew Treinish f86c155579
Add @nkanazawa1989 as CODEOWNER for qpy module (#7746)
This commit adds @nkanazawa1989 as a listed code owner for the qpy
module. @nkanazawa1989 introduced the standalone qpy in #7852 which
made the qpy code far more understandable and maintainable. He has
shown good understanding of both file format and terra code using the
format. This commit gives @nkanazawa1989 merge permission on PRs that
touch QPY code and a formal responsibility to review and maintain the
submodule.
2022-03-08 15:52:34 -05:00
Matthew Treinish 9a757c8ae2
Support reproducible builds of Rust library (#7728)
By default Rust libraries don't ship a Cargo.lock file. This is to allow
other Rust consumers of the library to pick a compatible version with
the other upstream dependencies. [1] However, the library we build in
Qiskit is a bit different since it's not a traditional Rust library but
instead we're building a C dynamic library that is meant to be consumed
by Python. This is much closer a model to developing a Rust binary
program because we're shipping a standalone binary. To support
reproducible builds we should include the Cargo.lock file in our source
distribution to ensure that all builds of qiskit-terra are using the
same versions of our upstream Rust dependencies. This commit commits the
missing Cargo.lock file, removes it from the .gitignore (which was added
automatically by cargo when creating a library project), and includes it
in the sdist. This will ensure that any downstream consumer of terra
from source will have a reproducible build. Additionally this adds a
dependabot config file so the bot will manage proposing version bumps on
upstream project releases, since we probably want to be using the latest
versions on new releases in our lock file.

[1] https://doc.rust-lang.org/cargo/faq.html#why-do-binaries-have-cargolock-in-version-control-but-not-libraries
2022-03-03 17:47:13 +00:00
Jake Lishman f4f477c743
Allow anybody to approve release notes (#7619)
This explicitly overrides the release notes directory to have no code
owner, so anybody with write access can give an approving review to
changes within, without GitHub requesting review from everyone.
2022-02-03 20:06:33 +00:00
Matthew Treinish 9a13e97654
Cleanup codeowners file (#7568)
This commit makes some updates to the codeowners file to cleanup both
the membership lists as well as better outline the purpose of the file.
The first change it makes is to remove duplicate membership in the code
owners list. Several people were both listed explicitly as a codeowner
on a subsection of the repository and are current members of the
terra-core github group. The two should be treated as mutually exclusive
as membership in terra-core means you have permission to merge any PR,
not just those in the listed sections. The second change is to remove
some inactive members of the project who are no longer actively engaged
in work on qiskit-terra but were still listed in the codeowners file.
The third thing that is done here is to improve the comments around the
purpose for the file. The previous comments previously made it seem like
this was more about assigning reviewers/notification for PRs. But, the
primary purpose of the file should be to be able to assign an
expectation and responsibility for maintaining and reviewing subsections
of the code to members of the project who are not part of the terra-core
group. This enables individuals to take on ownership of these sections
and reduce the burden on the core team. The final change made in this PR
is to make the release notes approvable by any user listed in the
code owners, not just terra-core as was previously. Most PRs have
release notes, but by restricting the contributors empowered to merge
them to just terra-core this in practice eliminated the usefulness of
having codeowners because a core team member would need to approve it
anyway. By enabling any codeowner to approve/merge release notes a
change isolated to a subsection of code with the exception of a release
note can now individually approve and merge that PR.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-02-02 19:11:43 +00:00
Matthew Treinish b5f87a6f99
Add cross-build wheel jobs for ppc64le and s390x (#7549)
* Add cross-build wheel jobs for ppc64le and s390x

This commit adds a new CI job at release time to build precompiled
binaries for s390x and ppc64le linux platforms.  These platforms do not
have precompiled wheels for any upstream dependencies (except for
retworkx and tweedledum, which both publish binaries for both platforms).
Since the only publically available CI service that has native s390x and
ppc64le environments available is travis which doesn't provide
sufficient quota to open source projects anymore to make it usable we
have to rely on either cross compilation or emulation. Cross compiling
with python wheels while possible is quite tricky to setup and configure
in practice so emulation is used here. This is a much simpler path
configure, especially because cibuildwheel has support for emulating
non-x86 architectures via QEMU to build wheels. While QEMU emulation of
other architectures is exceedingly slow, we have a 6 hour job time limit
with github actions which should hopefully be sufficient to compile the
binary and build wheels for all our supported python versions.

This was previously attempted in #5844 but we hit a timout issue
reliably every time trying to build scipy from source. Compiling scipy
is slow on a native system and it's an order of magnitude slower under
qemu emulation. In #5844 we exceeded the 6 hour job time limit just
compiling scipy once for testing. To avoid this issue (since scipy
doesn't publish s390x or ppc64le wheels) this commit skips the test
runs on these jobs. This means we're solely building the wheels and not
testing if they're valid. This also means installing scipy and other
dependencies is still an exercise for the s390x and ppc64le users. But,
if this works it will mean that at least for Qiskit there will not be a
need to compile anything from source.

* DNM: Test builds in CI

This commit should not be merged without being reverted first. It is
changing the CI trigger to run on open pull requests and removing the
twine upload step to trigger the wheel builds for testing and
iteratively fixing issues. Once the builds work this will be reverted
and the PR is ready for final review/merging.

* Skip musl libc wheel builds

* Fix ppc64le job name

* Revert "DNM: Test builds in CI"

Testing shows this works well and we can build and publish ppc64le and
s390x wheels on release.

This reverts commit f06c0b6176 and opens
up the PR for review.

* Add release note
2022-01-21 17:54:03 +00:00
Matthew Treinish 741f44cddc
Add ikkoham as code owner for quantum_info and opflow (#7543)
Ikko has been doing great work maintaining the opflow and quantum_info
code bases. The optimization and improvements he's made there have
greatly improved performance and he has shown an understanding and
respect for the code contribution guidelines and review process.
This commit adds him as a codeowner of those submodules which gives him
merge permission on PRs that touch either submodule and a formal
responsibility to review and maintain both submodules.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-01-20 16:46:58 +00:00
Matthew Treinish 9a743fb2ea
Add support for Python 3.10 (#7102)
* Add support for Python 3.10

Python 3.10.0 was released on 10-04-2021, this commit marks the support
of Python 3.10 in qiskit-terra. It adds the supported python version in
the package metadata and updates the CI configuration to run test jobs
on Python 3.10 and build Python 3.10 wheels.

* Fix typo

* Update default envlist in tox.ini to include 3.10

* Bump cibuildwheel to the latest version

This also takes the opportunity to deduplicate the cibuildwheel
configuration using the pyproject.toml support in newer versions of
cibuildwheel. The common options for all builds are put there and per
build overrides (which are only for cross compiling arm wheels) are left
as environment variables in the CI configuration.

* Add missing cibuildwheel config to pyproject.toml

* Ignore internal deprecation warning emitted by jupyter in ci

* Fix black

Co-authored-by: Jake Lishman <jake.lishman@ibm.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-01-20 00:38:28 +00:00
Jake Lishman c004a8195d
Revert "Pin Aer to 0.9.1 in CI (#7421)" (#7427)
This reverts commit 1ecd16a0c1.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-12-20 11:34:11 +00:00
Jake Lishman 1ecd16a0c1
Pin Aer to 0.9.1 in CI (#7421)
The recent release of Aer 0.10 has major performance regressions, and
appears to be causing Terra's CI to fail with timeouts on Mac and Linux.
2021-12-16 13:45:20 +00:00
Jake Lishman 7e118e8134
Convert issue templates to GitHub forms (#7258)
The feature and enhancement request forms are essentially unchanged.
The bug report form makes more use of the description fields, since now
they're not buried in HTML comments in the textarea bodies - they're
more likely to be read, and they're not in the way so much.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-15 21:47:56 +00:00
Matthew Treinish ee0de157ea
Add concurrency limit on github actions coverage job (#7220)
This commit adds a concurrency limit for jobs running from a single PR.
This means that on PR updates github actions will cancel any currently
running job for that because they exceed the concurrency limit on the
PR. Without this we end up running duplicate jobs when there are
frequent pushes to an open pull request.
2021-11-03 16:09:19 +00:00
Iskandar Sitdikov 802e612c46
Issue #5351 | move coveralls and randomized tests to actions (#7094)
* Issue 5351 | workflows: add coveralls workflow

* Issue 5351 | workflows: randomized tests

* Issue 5351 | workflows: comment on failure

* Issue 5351 | workflows: setup issue for failed randomized tests

* Issue 5351 | workflows: sha for randomized test + aer install for coverage

* Simplify formatting of error message

* Change README coverage badge to main

Co-authored-by: Jake Lishman <jake.lishman@ibm.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-10-11 11:17:47 +00:00
Matthew Treinish 47fd85c39d
Build aarch64 wheels in github actions with QEMU emulation (#6844)
* Build aarch64 wheels in github actions with QEMU emulation

Since the introduction of tight travis quotas for open source projects
we have not been running travis CI on qiskit-terra for ~2 months. Since
we can't rely on travis to reliably run our non-x86 release builds we
need to come up with an alternative solution. However, travis is the
only available CI provider with non-x86 nodes available for free to open
source projects (which is why we were using them for aarch64 wheel
builds, this quota issue has been a long time coming). To workaround
this commit tries to leverage QEMU emulation in github actions for the
aarch64 release wheel builds. In practice this is at least an order of
magnitude slower (more realistically 2 or 3) than running on a native
arm64 VM but the github actions job time limit is 6 hrs which hopefully
should be enough time to build all the wheels we need.

* DNM: test wheel build

* Revert "DNM: test wheel build"

This reverts commit 60dcc0d9c5.

* Add release notes
2021-08-02 10:29:06 -04:00
Matthew Treinish 00a5ef2540
Fix codeowners matching rule for utils (#5626)
The utils/ codeowners rule was intended to match the qiskit/utils
directory which contains a lot of code migrated from aqua. However, the
the rule was overly broad and matching any utils directory for example
qiskit/transpiler/passes/utils. This commit restricts the rule to
explicitly match qiskit/utils only which was the intent.
2021-01-14 16:49:59 +00:00
Matthew Treinish 1a4a02b9eb
Update CODEOWNERS 2020-12-15 12:47:11 -05:00
Naoki Kanazawa 29727ed17a
add myself to codeowner of visualization module (#5448)
Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-12-02 01:08:03 +00:00
Matthew Treinish 2c5a09cabe
Remove broken github actions workflow (#4673)
In #4544 a github action workflow was added to attempt to automate
leaving a comment on PRs that made changes to the matplotlib with a link
to a jupyter environment running in binder that will show a visual diff
of the changes being made. But this workflow can't work for PRs opened
from forks (which is most of them) because the permissions for the
github actions workflow only allows reading from the github api [1]
and will not be able to leave comments. This is done for obvious
security reasons because a job triggered by an external fork can run
arbitrary code so you don't want to give any elevated permissions until
the code has been verified. Since this approach will never be viable
using github actions (or a similar ci platform) this commit removes the
job.
2020-07-09 11:56:27 -04:00
Luciano Bello 970496a1fa
Testing MPL with a notebook in binder (#4544) 2020-06-22 13:34:21 -04:00
Ali Javadi-Abhari a9d7c59997
Update CODEOWNERS 2020-05-27 22:30:10 -05:00
Ali Javadi-Abhari dcc767618e
simplify codeowners (#4471)
* simplify codeowners

* Update CODEOWNERS

* Update CODEOWNERS

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-05-19 03:27:12 +00:00
Kevin Krsulich d0a487bcac
Update CODEOWNERS 2020-04-24 11:46:06 -04:00
Ali Javadi-Abhari cebddfcd5e
Update CODEOWNERS 2020-04-20 21:52:44 -04:00
Diego M. Rodriguez a4120d70bd Update CODEOWNERS 2020-03-20 10:13:37 +01:00
Matthew Treinish eb991edf8b
Update CODEOWNERS 2020-03-10 17:22:48 -04:00
Kevin Krsulich 5f8309306e
Update CODEOWNERS 2020-03-03 12:25:32 -05:00
Kevin Krsulich 101ebbef0d
Update CODEOWNERS 2020-02-27 10:55:53 -05:00
Matthew Treinish 7734d14239
Update CODEOWNERS
Add @jyu00 and @chriseclectic as codeowners on providers/
2020-02-27 09:23:59 -05:00
Lauren Capelluto ee8974d2ee
Make Dan Puzzuoli a codeowner for pulse and scheduler (#3834) 2020-02-13 18:04:59 +00:00
Kevin Krsulich 8f1487dacb
Add compiler/ to CODEOWNERS. 2020-02-03 11:49:29 -05:00
Kevin Krsulich d528f17f58
Revert "Remove codeowner requirement for releasenotes." 2020-01-30 16:12:44 -05:00
Kevin Krsulich 3a2ea493cd
Remove codeowner requirement for releasenotes. 2020-01-30 16:08:31 -05:00
Lauren Capelluto 792e1b7f86 Add Lauren Capelluto to the codeowners list for 'assembler/' (#3744) 2020-01-23 20:15:09 +00:00
Kevin Krsulich 438928f221
Update CODEOWNERS 2020-01-06 12:15:46 -05:00
Matthew Treinish 6b6170a04e Add missing quotes to issue templates (#3638)
In #3560 the issue templates were updated to include the tags. However
the tags for enhancement and feature request contain a ':' in them. This
confuses the yaml parser because ':' is a reserved character. To address
this issue, this commit adds quotes around the tags so the yaml parser
can process the issue templates and add them back to the list of
options.
2019-12-19 21:11:10 +00:00
Luciano Bello cfc98b5daf label in the template (#3560) 2019-12-18 19:06:16 +00:00
Ali Javadi-Abhari b843a7301d
Update CODEOWNERS 2019-11-21 10:43:20 -05:00
Lauren Capelluto 334c2bae0d Create codeowners for scheduler (#3452) 2019-11-11 22:10:43 +00:00
Matthew Treinish 728399afda Remove auto-merge bot configuration file (#3351)
We have not been able to get this bot working, even after numerous
attempts and alternative configuration settings. We're going to abandon
this bot and try a different service. So this commit removes the file
since we no longer need it around.
2019-10-29 16:09:42 -04:00
Luciano d3bf2374bb
Update auto-merge.yml (#3347)
reportStatus: true
2019-10-29 14:38:05 -04:00
Luciano 0a45dea238
yet another auto-merge configuration (#3326)
* auto-merge conf from https://github.com/bobvanderlinden/probot-auto-merge/blob/master/.github/auto-merge.yml

* blockingTitleRegex

* mergeMethod: squash
2019-10-29 11:37:08 -04:00
Matthew Treinish e2acfcfa8f Update config file for auto-merge bot (#3322)
Reading the documentation for the auto-merge bot [1] it is necessary to
set the minimum number of approvals needed to trigger the bot into
action. In addition to this the setting for the number of requested
changes to block auto merging is set to any. So if a code owner blocks
leaves a changes requested review it will block auto merging.

[1] https://github.com/bobvanderlinden/probot-auto-merge/blob/master/README.md#configuration
2019-10-25 14:39:08 -04:00
Luciano 6881d59785 Auto merge configuration (#3305)
This PR add the configuration file for probot-auto-merge [1].

[1] https://github.com/bobvanderlinden/probot-auto-merge

* auto merge bot

* automerge
2019-10-25 13:55:31 -04:00
Matthew Treinish 997ccab2cd Update pull request template (#3301)
* Update pull request template

The pull request template referred to the CHANGELOG file which no longer
exists since it is now generated by qiskit-bot. This commit updates the
template to now refer to adding a release note instead.

* Use github markdown checkboxes instead of utf8
2019-10-22 13:20:27 -04:00
Ali Javadi-Abhari 90d09ae6b0
Update CODEOWNERS 2019-10-09 15:29:19 -04:00
Paul Nation 159ea77768 Move API docs for Terra into source (#3085)
* add api docs into terra

* docs to top level

* Add tox target to build documentation

* Add release notes to docs build

* Add docs build to azure

* Remove duplicate deps from docs tox job

* Update codeowners

* Update CONTRIBUTING.md for docs changes

* Remove depth limit from docs job checkout
2019-09-30 12:50:44 -04:00
Ali Javadi-Abhari 20b5bac74e
Update CODEOWNERS 2019-09-19 10:18:56 -04:00
Ali Javadi-Abhari d9c3e02406
Update CODEOWNERS 2019-09-19 10:17:31 -04:00
Ali Javadi-Abhari d6a8953029
releasenotes owned by everyone 2019-09-06 14:57:59 -04:00
Ali Javadi-Abhari 692d618016
Update CODEOWNERS 2019-09-06 13:55:44 -04:00