Skip to content

[Merged by Bors] - CI tool usage#3876

Closed
mockersf wants to merge 12 commits into
bevyengine:mainfrom
mockersf:local-ci-check-doc-warnings
Closed

[Merged by Bors] - CI tool usage#3876
mockersf wants to merge 12 commits into
bevyengine:mainfrom
mockersf:local-ci-check-doc-warnings

Conversation

@mockersf
Copy link
Copy Markdown
Member

@mockersf mockersf commented Feb 6, 2022

Objective

  • Original objective was to add doc build warning check to the ci local execution
  • I somewhat deviated and changed other things...

Solution

cargo run -p ci can now take more parameters:

  • format - cargo fmt
  • clippy - clippy
  • compile-fail - bevy_ecs_compile_fail_tests tests
  • test - tests but not doc tests and do not build examples
  • doc-test - doc tests
  • doc-check - doc build and warnings
  • bench-check - check that benches build
  • example-check - check that examples build
  • lints - group - run lints and format and clippy
  • doc - group - run doc-test and doc-check
  • compile - group - run compile-fail and bench-check and example-check
  • not providing a parameter will run everything

Ci is using those when possible:

  • build jobs now don't run doc tests and don't build examples. it makes this job faster, but doc tests and examples are not built for each architecture target
  • ci job doesn't run the compile-fail part but only format and clippy, taking less time
  • check-benches becomes check-compiles and runs the compile tasks. It takes longer. I also fixed how it was using cache
  • check-doc job is now independent and also run the doc tests, so it takes longer. I commented out the deadlinks check as it takes 2.5 minutes (to install) and doesn't work

@github-actions github-actions Bot added the S-Needs-Triage This issue needs to be labelled label Feb 6, 2022
@mockersf mockersf added A-Build-System Related to build systems or continuous integration and removed S-Needs-Triage This issue needs to be labelled labels Feb 6, 2022
@shanesveller
Copy link
Copy Markdown

Mentioning it as possibly topical, given the plethora of crate feature flags in the Bevy family:

https://github.com/taiki-e/cargo-hack

I've found this helpful in my work to make sure that any/all combos of crate features continue to build without warnings or failures. I'm leaning on --each-feature and --feature-powerset

At the scope of something like Bevy it's probably prohibitive to run in CI, though. It's only practical for me by tolerating bloat of /target locally and using cargo-sweep whenever it gets too bad.

Comment thread tools/ci/src/main.rs Outdated
Comment thread .github/workflows/ci.yml
@mockersf
Copy link
Copy Markdown
Member Author

mockersf commented Feb 9, 2022

https://github.com/taiki-e/cargo-hack

It could be interesting to add a weekly workflow to check feature flag combinations, but that's going to be too much to do on each commit 👍

Comment thread tools/ci/src/main.rs Outdated
Comment thread tools/ci/src/main.rs
Comment thread tools/ci/src/main.rs Outdated
Copy link
Copy Markdown
Member

@alice-i-cecile alice-i-cecile left a comment

Choose a reason for hiding this comment

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

Very nice. I like this direction, and the changes look good.

@alice-i-cecile alice-i-cecile added the S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it label Feb 12, 2022
@alice-i-cecile
Copy link
Copy Markdown
Member

@mockersf is this ready to go? I remember liking this quite a bit.

@alice-i-cecile
Copy link
Copy Markdown
Member

bors try

@bors
Copy link
Copy Markdown

bors Bot commented Apr 22, 2022

try

Merge conflict.

@mockersf mockersf force-pushed the local-ci-check-doc-warnings branch from 26d8341 to d657063 Compare April 27, 2022 11:21
@alice-i-cecile
Copy link
Copy Markdown
Member

bors r+

bors Bot pushed a commit that referenced this pull request May 2, 2022
# Objective

- Original objective was to add doc build warning check to the ci local execution
- I somewhat deviated and changed other things...

## Solution

`cargo run -p ci` can now take more parameters:
* `format` - cargo fmt
* `clippy` - clippy
* `compile-fail` - bevy_ecs_compile_fail_tests tests
* `test` - tests but not doc tests and do not build examples
* `doc-test` - doc tests
* `doc-check` - doc build and warnings
* `bench-check` - check that benches build
* `example-check` - check that examples build
* `lints` - group - run lints and format and clippy
* `doc` - group - run doc-test and doc-check
* `compile` - group - run compile-fail and bench-check and example-check
* not providing a parameter will run everything

Ci is using those when possible:
* `build` jobs now don't run doc tests and don't build examples. it makes this job faster, but doc tests and examples are not built for each architecture target
* `ci` job doesn't run the `compile-fail` part but only format and clippy, taking less time
* `check-benches` becomes `check-compiles` and runs the `compile` tasks. It takes longer. I also fixed how it was using cache
* `check-doc` job is now independent and also run the doc tests, so it takes longer. I commented out the deadlinks check as it takes 2.5 minutes (to install) and doesn't work
@bors
Copy link
Copy Markdown

bors Bot commented May 2, 2022

This PR was included in a batch that was canceled, it will be automatically retried

bors Bot pushed a commit that referenced this pull request May 2, 2022
# Objective

- Original objective was to add doc build warning check to the ci local execution
- I somewhat deviated and changed other things...

## Solution

`cargo run -p ci` can now take more parameters:
* `format` - cargo fmt
* `clippy` - clippy
* `compile-fail` - bevy_ecs_compile_fail_tests tests
* `test` - tests but not doc tests and do not build examples
* `doc-test` - doc tests
* `doc-check` - doc build and warnings
* `bench-check` - check that benches build
* `example-check` - check that examples build
* `lints` - group - run lints and format and clippy
* `doc` - group - run doc-test and doc-check
* `compile` - group - run compile-fail and bench-check and example-check
* not providing a parameter will run everything

Ci is using those when possible:
* `build` jobs now don't run doc tests and don't build examples. it makes this job faster, but doc tests and examples are not built for each architecture target
* `ci` job doesn't run the `compile-fail` part but only format and clippy, taking less time
* `check-benches` becomes `check-compiles` and runs the `compile` tasks. It takes longer. I also fixed how it was using cache
* `check-doc` job is now independent and also run the doc tests, so it takes longer. I commented out the deadlinks check as it takes 2.5 minutes (to install) and doesn't work
@bors
Copy link
Copy Markdown

bors Bot commented May 2, 2022

Build failed (retrying...):

bors Bot pushed a commit that referenced this pull request May 2, 2022
# Objective

- Original objective was to add doc build warning check to the ci local execution
- I somewhat deviated and changed other things...

## Solution

`cargo run -p ci` can now take more parameters:
* `format` - cargo fmt
* `clippy` - clippy
* `compile-fail` - bevy_ecs_compile_fail_tests tests
* `test` - tests but not doc tests and do not build examples
* `doc-test` - doc tests
* `doc-check` - doc build and warnings
* `bench-check` - check that benches build
* `example-check` - check that examples build
* `lints` - group - run lints and format and clippy
* `doc` - group - run doc-test and doc-check
* `compile` - group - run compile-fail and bench-check and example-check
* not providing a parameter will run everything

Ci is using those when possible:
* `build` jobs now don't run doc tests and don't build examples. it makes this job faster, but doc tests and examples are not built for each architecture target
* `ci` job doesn't run the `compile-fail` part but only format and clippy, taking less time
* `check-benches` becomes `check-compiles` and runs the `compile` tasks. It takes longer. I also fixed how it was using cache
* `check-doc` job is now independent and also run the doc tests, so it takes longer. I commented out the deadlinks check as it takes 2.5 minutes (to install) and doesn't work
@bors
Copy link
Copy Markdown

bors Bot commented May 2, 2022

This PR was included in a batch that was canceled, it will be automatically retried

bors Bot pushed a commit that referenced this pull request May 2, 2022
# Objective

- Original objective was to add doc build warning check to the ci local execution
- I somewhat deviated and changed other things...

## Solution

`cargo run -p ci` can now take more parameters:
* `format` - cargo fmt
* `clippy` - clippy
* `compile-fail` - bevy_ecs_compile_fail_tests tests
* `test` - tests but not doc tests and do not build examples
* `doc-test` - doc tests
* `doc-check` - doc build and warnings
* `bench-check` - check that benches build
* `example-check` - check that examples build
* `lints` - group - run lints and format and clippy
* `doc` - group - run doc-test and doc-check
* `compile` - group - run compile-fail and bench-check and example-check
* not providing a parameter will run everything

Ci is using those when possible:
* `build` jobs now don't run doc tests and don't build examples. it makes this job faster, but doc tests and examples are not built for each architecture target
* `ci` job doesn't run the `compile-fail` part but only format and clippy, taking less time
* `check-benches` becomes `check-compiles` and runs the `compile` tasks. It takes longer. I also fixed how it was using cache
* `check-doc` job is now independent and also run the doc tests, so it takes longer. I commented out the deadlinks check as it takes 2.5 minutes (to install) and doesn't work
@bors
Copy link
Copy Markdown

bors Bot commented May 2, 2022

This PR was included in a batch that timed out, it will be automatically retried

bors Bot pushed a commit that referenced this pull request May 2, 2022
# Objective

- Original objective was to add doc build warning check to the ci local execution
- I somewhat deviated and changed other things...

## Solution

`cargo run -p ci` can now take more parameters:
* `format` - cargo fmt
* `clippy` - clippy
* `compile-fail` - bevy_ecs_compile_fail_tests tests
* `test` - tests but not doc tests and do not build examples
* `doc-test` - doc tests
* `doc-check` - doc build and warnings
* `bench-check` - check that benches build
* `example-check` - check that examples build
* `lints` - group - run lints and format and clippy
* `doc` - group - run doc-test and doc-check
* `compile` - group - run compile-fail and bench-check and example-check
* not providing a parameter will run everything

Ci is using those when possible:
* `build` jobs now don't run doc tests and don't build examples. it makes this job faster, but doc tests and examples are not built for each architecture target
* `ci` job doesn't run the `compile-fail` part but only format and clippy, taking less time
* `check-benches` becomes `check-compiles` and runs the `compile` tasks. It takes longer. I also fixed how it was using cache
* `check-doc` job is now independent and also run the doc tests, so it takes longer. I commented out the deadlinks check as it takes 2.5 minutes (to install) and doesn't work
@bors
Copy link
Copy Markdown

bors Bot commented May 2, 2022

This PR was included in a batch that timed out, it will be automatically retried

@mockersf
Copy link
Copy Markdown
Member Author

mockersf commented May 2, 2022

bors r-

@bors
Copy link
Copy Markdown

bors Bot commented May 2, 2022

Canceled.

@mockersf
Copy link
Copy Markdown
Member Author

mockersf commented May 2, 2022

this one is causing bors timeout

@mockersf
Copy link
Copy Markdown
Member Author

mockersf commented May 2, 2022

should be fixed now 👍

@alice-i-cecile
Copy link
Copy Markdown
Member

bors retry

@alice-i-cecile
Copy link
Copy Markdown
Member

bors r+

bors Bot pushed a commit that referenced this pull request May 2, 2022
# Objective

- Original objective was to add doc build warning check to the ci local execution
- I somewhat deviated and changed other things...

## Solution

`cargo run -p ci` can now take more parameters:
* `format` - cargo fmt
* `clippy` - clippy
* `compile-fail` - bevy_ecs_compile_fail_tests tests
* `test` - tests but not doc tests and do not build examples
* `doc-test` - doc tests
* `doc-check` - doc build and warnings
* `bench-check` - check that benches build
* `example-check` - check that examples build
* `lints` - group - run lints and format and clippy
* `doc` - group - run doc-test and doc-check
* `compile` - group - run compile-fail and bench-check and example-check
* not providing a parameter will run everything

Ci is using those when possible:
* `build` jobs now don't run doc tests and don't build examples. it makes this job faster, but doc tests and examples are not built for each architecture target
* `ci` job doesn't run the `compile-fail` part but only format and clippy, taking less time
* `check-benches` becomes `check-compiles` and runs the `compile` tasks. It takes longer. I also fixed how it was using cache
* `check-doc` job is now independent and also run the doc tests, so it takes longer. I commented out the deadlinks check as it takes 2.5 minutes (to install) and doesn't work
@bors bors Bot changed the title CI tool usage [Merged by Bors] - CI tool usage May 2, 2022
@bors bors Bot closed this May 2, 2022
exjam pushed a commit to exjam/bevy that referenced this pull request May 22, 2022
# Objective

- Original objective was to add doc build warning check to the ci local execution
- I somewhat deviated and changed other things...

## Solution

`cargo run -p ci` can now take more parameters:
* `format` - cargo fmt
* `clippy` - clippy
* `compile-fail` - bevy_ecs_compile_fail_tests tests
* `test` - tests but not doc tests and do not build examples
* `doc-test` - doc tests
* `doc-check` - doc build and warnings
* `bench-check` - check that benches build
* `example-check` - check that examples build
* `lints` - group - run lints and format and clippy
* `doc` - group - run doc-test and doc-check
* `compile` - group - run compile-fail and bench-check and example-check
* not providing a parameter will run everything

Ci is using those when possible:
* `build` jobs now don't run doc tests and don't build examples. it makes this job faster, but doc tests and examples are not built for each architecture target
* `ci` job doesn't run the `compile-fail` part but only format and clippy, taking less time
* `check-benches` becomes `check-compiles` and runs the `compile` tasks. It takes longer. I also fixed how it was using cache
* `check-doc` job is now independent and also run the doc tests, so it takes longer. I commented out the deadlinks check as it takes 2.5 minutes (to install) and doesn't work
ItsDoot pushed a commit to ItsDoot/bevy that referenced this pull request Feb 1, 2023
# Objective

- Original objective was to add doc build warning check to the ci local execution
- I somewhat deviated and changed other things...

## Solution

`cargo run -p ci` can now take more parameters:
* `format` - cargo fmt
* `clippy` - clippy
* `compile-fail` - bevy_ecs_compile_fail_tests tests
* `test` - tests but not doc tests and do not build examples
* `doc-test` - doc tests
* `doc-check` - doc build and warnings
* `bench-check` - check that benches build
* `example-check` - check that examples build
* `lints` - group - run lints and format and clippy
* `doc` - group - run doc-test and doc-check
* `compile` - group - run compile-fail and bench-check and example-check
* not providing a parameter will run everything

Ci is using those when possible:
* `build` jobs now don't run doc tests and don't build examples. it makes this job faster, but doc tests and examples are not built for each architecture target
* `ci` job doesn't run the `compile-fail` part but only format and clippy, taking less time
* `check-benches` becomes `check-compiles` and runs the `compile` tasks. It takes longer. I also fixed how it was using cache
* `check-doc` job is now independent and also run the doc tests, so it takes longer. I commented out the deadlinks check as it takes 2.5 minutes (to install) and doesn't work
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Build-System Related to build systems or continuous integration S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants