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

Reconfigure CI pipelines for PR and merge queue (backport #11526) #11586

Merged
merged 2 commits into from
Jan 31, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Jan 17, 2024

This is an automatic backport of pull request #11526 done by Mergify.
Cherry-pick of ed79d42 has failed:

On branch mergify/bp/stable/0.45/pr-11526
Your branch is up to date with 'origin/stable/0.45'.

You are currently cherry-picking commit ed79d42d6.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	renamed:    .azure/docs-linux.yml -> .azure/lint_docs_qpy-linux.yml
	modified:   .azure/test-linux.yml
	modified:   azure-pipelines.yml

Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)
	deleted by them: .azure/lint-linux.yml
	both modified:   tox.ini

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally


Mergify commands and options

More conditions and actions can be found in the documentation.

You can also trigger Mergify actions by commenting on this pull request:

  • @Mergifyio refresh will re-evaluate the rules
  • @Mergifyio rebase will rebase this PR on its base branch
  • @Mergifyio update will merge the base branch into this PR
  • @Mergifyio backport <destination> will backport this PR on <destination> branch

Additionally, on Mergify dashboard you can:

  • look at your merge queues
  • generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com

* Reconfigure CI pipelines for PR and merge queue

This commit refactors the pipeline organisation of our CI to reduce the
total number of jobs run on any given PR merge, and to reduce the
critical path length of merging.  In particular:

- the lint, docs and QPY tests are combined into one job for a single CI
  worker.  These three jobs individually add up to less than a test run,
  and moving QPY from the first-stage PR test run to this rebalances the
  (now) two jobs in the stage to be more equal in runtime.

- a new pipeline is added specifically for the merge queue.  Previously
  this reused the same two-stage PR pipeline.  The two-stage system
  unnecessarily lengthened the critical path, as when a PR enters the
  merge queue, it as already passed PR CI, and so is highly likely to
  pass all jobs.  In addition to flattening to a single stage, one each
  of the macOS and Windows jobs are removed to lower the amount of VMs
  needed and reduce the chances of a timeout (these OSes are more likely
  to get a dodgy VM and time out than Linux).  The only way a new test
  failure should appear (other than a flaky test) is by a logical merge
  conflict, which would be quite unlikely to only affect a particular
  Python version.

To make it easier to run the lint and docs jobs together, and ensure
that both run even if there's a failure in one, the full lint
configuration is merged back to `tox.ini`, and that's used to do the
linting.  This makes it more consistent for developers, as well.

* Allow cargo as an external in 'tox'

* Add display name to lint job

* Use editable install for tox lint job

The lint job will fail unless the Rust components are installed into the
source directory, since that's where `pylint` will look for them to
resolve the imports.

* Fix typo in merge-queue stage condition

(cherry picked from commit ed79d42)

# Conflicts:
#	.azure/lint-linux.yml
#	tox.ini
@mergify mergify bot requested a review from a team as a code owner January 17, 2024 18:55
@mergify mergify bot added the conflicts used by mergify when there are conflicts in a port label Jan 17, 2024
@qiskit-bot
Copy link
Collaborator

Thank you for opening a new pull request.

Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient.

While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone.

One or more of the the following people are requested to review this:

  • @Qiskit/terra-core
  • @mtreinish
  • @nkanazawa1989

@github-actions github-actions bot added type: qa Issues and PRs that relate to testing and code quality Changelog: None Do not include in changelog labels Jan 17, 2024
@jakelishman jakelishman removed the conflicts used by mergify when there are conflicts in a port label Jan 31, 2024
@jakelishman jakelishman enabled auto-merge January 31, 2024 01:09
@coveralls
Copy link

Pull Request Test Coverage Report for Build 7719698629

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 15 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.01%) to 86.949%

Files with Coverage Reduction New Missed Lines %
crates/qasm2/src/lex.rs 3 91.94%
crates/qasm2/src/parse.rs 12 97.15%
Totals Coverage Status
Change from base Build 7559814460: -0.01%
Covered Lines: 74258
Relevant Lines: 85404

💛 - Coveralls

@jakelishman jakelishman added this pull request to the merge queue Jan 31, 2024
Merged via the queue into stable/0.45 with commit 39caa8d Jan 31, 2024
13 checks passed
@mergify mergify bot deleted the mergify/bp/stable/0.45/pr-11526 branch January 31, 2024 06:22
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 type: qa Issues and PRs that relate to testing and code quality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants