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

update ci-testing.yml #3322

Merged
merged 3 commits into from
May 27, 2021

Conversation

SkalskiP
Copy link
Contributor

@SkalskiP SkalskiP commented May 24, 2021

  • Update ci-testing.yml to trigger tests on PRs to develop branch
  • Optimization of GH minute consumption:
    • I don't see the point of running tests as a CRON job. If the tests passed the merge to master or develop, there is no reason for them to stop working.
    • As discussed, I am removing testing on operating systems other than Linux
  • Update greetings.yml to instruct users to rebase on develop

🛠️ PR Summary

Made with ❤️ by Ultralytics Actions

🌟 Summary

Improved CI/CD workflow targeting multiple branches and standardizing development practices.

📊 Key Changes

  • Continuous Integration (CI) testing now triggers on both master and develop branches.
  • Removed scheduled daily CI runs.
  • Updated the greetings.yml workflow to rebase on the develop branch instead of master.

🎯 Purpose & Impact

  • 🎭 Ensures testing covers both main and development branches, catching issues earlier in the development cycle.
  • 🚀 Streamlines developer contributions by focusing on the development branch, which aligns with typical Git workflow practices.
  • 🔄 Reduces unnecessary CI runs, saving resources and potentially speeding up the integration process.
  • 👥 Encourages contributors to keep their feature branches up to date with the latest changes in the development branch to minimize merge conflicts.

@SkalskiP SkalskiP requested a review from glenn-jocher May 24, 2021 20:23
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

👋 Hello @SkalskiP, thank you for submitting a 🚀 PR! To allow your work to be integrated as seamlessly as possible, we advise you to:

  • ✅ Verify your PR is up-to-date with origin/master. If your PR is behind origin/master an automatic GitHub actions rebase may be attempted by including the /rebase command in a comment body, or by running the following code, replacing 'feature' with the name of your local branch:
git remote add upstream https://github.com/ultralytics/yolov5.git
git fetch upstream
git checkout feature  # <----- replace 'feature' with local branch name
git rebase upstream/master
git push -u origin -f
  • ✅ Verify all Continuous Integration (CI) checks are passing.
  • ✅ Reduce changes to the absolute minimum required for your bug fix or feature addition. "It is not daily increase but daily decrease, hack away the unessential. The closer to the source, the less wastage there is." -Bruce Lee

@glenn-jocher
Copy link
Member

@SkalskiP thanks for the PR! I've got two updates here:

  1. I reviewed the minutes usage and realized that the warning for April was due to usage in one of our private repositories, and was not related to our open source works, so I think we can retain the OS matrix in the tests.
  2. I think yes it might make sense to eliminate the Chron job. It's mainly there to catch version change effects, as one time a PyTorch update created a breaking change in YOLOv5 that went undiscovered for several days, and the CI tests always pip install the latest version. In chatting with Kalen perhaps the better approach may be to pin requirements and let dependabot sort it out, though I'm not sure if users are going to like the increased restrictions that implies on the supported package versions.

Also I have a question: how do you we automatically redirect future PRs to develop? Or should this be done manually, with fixes to master and features to develop?

@SkalskiP
Copy link
Contributor Author

Hi @glenn-jocher! Many topics. I will try to address them all one by one:

  1. If you are sure that the high minute usage in GH Actions was not due to traffic in the yolov5 repository, I will restore the tests on all three operating systems. Better safe than sorry. And since we still have room to breathe, there is no point in dropping these tests.

  2. Standard practice in Python projects is to set specific package version ranges in the requirements or setup files. The bump of these packages can be done by dependabot or manually by us through PR always before the release of a new version. This is definitely a better way than running tests every day in fear of dependencies being updated. Moreover, such a test does not actually protect you from anything. Our users can still clone our repository or install our package in the future and in the period between the third party dependency update and our fix, bugs will appear. All you will get is information about a potential problem as quickly as possible.

  3. We can specify the default branch in the repository settings. BTW: Can I get access to yolov5's settings? At the moment I can't do it myself, but this is how it looks in the make-sense settings.

Screenshot 2021-05-26 at 17 09 52

@glenn-jocher
Copy link
Member

@SkalskiP yeah the latest minutes usage looks fine, but most importantly the limit only seems to apply to our private repos.
https://github.com/organizations/ultralytics/settings/billing
Screen Shot 2021-05-27 at 4 57 56 PM

Settings should be adjusted now. Talk to you later today.

@glenn-jocher glenn-jocher merged commit bb13123 into develop May 27, 2021
@glenn-jocher glenn-jocher deleted the feature/ci-workflow-update-to-include-develop branch May 27, 2021 15:01
@glenn-jocher
Copy link
Member

@SkalskiP PR is merged. Thank you for your contributions!

SkalskiP added a commit that referenced this pull request May 28, 2021
* update ci-testing.yml

* update greetings.yml

* bring back os matrix
glenn-jocher added a commit that referenced this pull request Jun 8, 2021
* update ci-testing.yml (#3322)

* update ci-testing.yml

* update greetings.yml

* bring back os matrix

* update ci-testing.yml (#3322)

* update ci-testing.yml

* update greetings.yml

* bring back os matrix

* Enable direct `--weights URL` definition (#3373)

* Enable direct `--weights URL` definition

@kalenmike this PR will enable direct --weights URL definition. Example use case:
```
python train.py --weights https://storage.googleapis.com/bucket/dir/model.pt
```

* cleanup

* bug fixes

* weights = attempt_download(weights)

* Update experimental.py

* Update hubconf.py

* return bug fix

* comment mirror

* min_bytes

* Update tutorial.ipynb (#3368)

add Open in Kaggle badge

* `cv2.imread(img, -1)` for IMREAD_UNCHANGED (#3379)

* Update datasets.py

* comment

Co-authored-by: Glenn Jocher <[email protected]>

* COCO evolution fix (#3388)

* COCO evolution fix

* cleanup

* update print

* print fix

* Create `is_pip()` function (#3391)

Returns `True` if file is part of pip package. Useful for contextual behavior modification.

```python
def is_pip():
    # Is file in a pip package?
    return 'site-packages' in Path(__file__).absolute().parts
```

* Revert "`cv2.imread(img, -1)` for IMREAD_UNCHANGED (#3379)" (#3395)

This reverts commit 21a9607.

* Update FLOPs description (#3422)

* Update README.md

* Changing FLOPS to FLOPs.

Co-authored-by: BuildTools <[email protected]>

* Parse URL authentication (#3424)

* Parse URL authentication

* urllib.parse.unquote()

* improved error handling

* improved error handling

* remove %3F

* update check_file()

* Add FLOPs title to table (#3453)

* Suppress jit trace warning + graph once (#3454)

* Suppress jit trace warning + graph once

Suppress harmless jit trace warning on TensorBoard add_graph call. Also fix multiple add_graph() calls bug, now only on batch 0.

* Update train.py

* Update MixUp augmentation `alpha=beta=32.0` (#3455)

Per VOC empirical results #3380 (comment) by @developer0hye

* Add `timeout()` class (#3460)

* Add `timeout()` class

* rearrange order

* Faster HSV augmentation (#3462)

remove datatype conversion process that can be skipped

* Add `check_git_status()` 5 second timeout (#3464)

* Add check_git_status() 5 second timeout

This should prevent the SSH Git bug that we were discussing @kalenmike

* cleanup

* replace timeout with check_output built-in timeout

* Improved `check_requirements()` offline-handling (#3466)

Improve robustness of `check_requirements()` function to offline environments (do not attempt pip installs when offline).

* Add `output_names` argument for ONNX export with dynamic axes (#3456)

* Add output names & dynamic axes for onnx export

Add output_names and dynamic_axes names for all outputs in torch.onnx.export. The first four outputs of the model will have names output0, output1, output2, output3

* use first output only + cleanup

Co-authored-by: Samridha Shrestha <[email protected]>
Co-authored-by: Glenn Jocher <[email protected]>

* Revert FP16 `test.py` and `detect.py` inference to FP32 default (#3423)

* fixed inference bug ,while use half precision

* replace --use-half with --half

* replace space and PEP8 in detect.py

* PEP8 detect.py

* update --half help comment

* Update test.py

* revert space

Co-authored-by: Glenn Jocher <[email protected]>

* Add additional links/resources to stale.yml message (#3467)

* Update stale.yml

* cleanup

* Update stale.yml

* reformat

* Update stale.yml HUB URL (#3468)

* Stale `github.actor` bug fix (#3483)

* Explicit `model.eval()` call `if opt.train=False` (#3475)

* call model.eval() when opt.train is False

call model.eval() when opt.train is False

* single-line if statement

* cleanup

Co-authored-by: Glenn Jocher <[email protected]>

* check_requirements() exclude `opencv-python` (#3495)

Fix for 3rd party or contrib versions of installed OpenCV as in #3494.

* Earlier `assert` for cpu and half option (#3508)

* early assert for cpu and half option

early assert for cpu and half option

* Modified comment

Modified comment

* Update tutorial.ipynb (#3510)

* Reduce test.py results spacing (#3511)

* Update README.md (#3512)

* Update README.md

Minor modifications

* 850 width

* Update greetings.yml

revert greeting change as PRs will now merge to master.

Co-authored-by: Piotr Skalski <[email protected]>
Co-authored-by: SkalskiP <[email protected]>
Co-authored-by: Peretz Cohen <[email protected]>
Co-authored-by: tudoulei <[email protected]>
Co-authored-by: chocosaj <[email protected]>
Co-authored-by: BuildTools <[email protected]>
Co-authored-by: Yonghye Kwon <[email protected]>
Co-authored-by: Sam_S <[email protected]>
Co-authored-by: Samridha Shrestha <[email protected]>
Co-authored-by: edificewang <[email protected]>
Lechtr pushed a commit to Lechtr/yolov5 that referenced this pull request Jul 20, 2021
* update ci-testing.yml (ultralytics#3322)

* update ci-testing.yml

* update greetings.yml

* bring back os matrix

* update ci-testing.yml (ultralytics#3322)

* update ci-testing.yml

* update greetings.yml

* bring back os matrix

* Enable direct `--weights URL` definition (ultralytics#3373)

* Enable direct `--weights URL` definition

@kalenmike this PR will enable direct --weights URL definition. Example use case:
```
python train.py --weights https://storage.googleapis.com/bucket/dir/model.pt
```

* cleanup

* bug fixes

* weights = attempt_download(weights)

* Update experimental.py

* Update hubconf.py

* return bug fix

* comment mirror

* min_bytes

* Update tutorial.ipynb (ultralytics#3368)

add Open in Kaggle badge

* `cv2.imread(img, -1)` for IMREAD_UNCHANGED (ultralytics#3379)

* Update datasets.py

* comment

Co-authored-by: Glenn Jocher <[email protected]>

* COCO evolution fix (ultralytics#3388)

* COCO evolution fix

* cleanup

* update print

* print fix

* Create `is_pip()` function (ultralytics#3391)

Returns `True` if file is part of pip package. Useful for contextual behavior modification.

```python
def is_pip():
    # Is file in a pip package?
    return 'site-packages' in Path(__file__).absolute().parts
```

* Revert "`cv2.imread(img, -1)` for IMREAD_UNCHANGED (ultralytics#3379)" (ultralytics#3395)

This reverts commit 21a9607.

* Update FLOPs description (ultralytics#3422)

* Update README.md

* Changing FLOPS to FLOPs.

Co-authored-by: BuildTools <[email protected]>

* Parse URL authentication (ultralytics#3424)

* Parse URL authentication

* urllib.parse.unquote()

* improved error handling

* improved error handling

* remove %3F

* update check_file()

* Add FLOPs title to table (ultralytics#3453)

* Suppress jit trace warning + graph once (ultralytics#3454)

* Suppress jit trace warning + graph once

Suppress harmless jit trace warning on TensorBoard add_graph call. Also fix multiple add_graph() calls bug, now only on batch 0.

* Update train.py

* Update MixUp augmentation `alpha=beta=32.0` (ultralytics#3455)

Per VOC empirical results ultralytics#3380 (comment) by @developer0hye

* Add `timeout()` class (ultralytics#3460)

* Add `timeout()` class

* rearrange order

* Faster HSV augmentation (ultralytics#3462)

remove datatype conversion process that can be skipped

* Add `check_git_status()` 5 second timeout (ultralytics#3464)

* Add check_git_status() 5 second timeout

This should prevent the SSH Git bug that we were discussing @kalenmike

* cleanup

* replace timeout with check_output built-in timeout

* Improved `check_requirements()` offline-handling (ultralytics#3466)

Improve robustness of `check_requirements()` function to offline environments (do not attempt pip installs when offline).

* Add `output_names` argument for ONNX export with dynamic axes (ultralytics#3456)

* Add output names & dynamic axes for onnx export

Add output_names and dynamic_axes names for all outputs in torch.onnx.export. The first four outputs of the model will have names output0, output1, output2, output3

* use first output only + cleanup

Co-authored-by: Samridha Shrestha <[email protected]>
Co-authored-by: Glenn Jocher <[email protected]>

* Revert FP16 `test.py` and `detect.py` inference to FP32 default (ultralytics#3423)

* fixed inference bug ,while use half precision

* replace --use-half with --half

* replace space and PEP8 in detect.py

* PEP8 detect.py

* update --half help comment

* Update test.py

* revert space

Co-authored-by: Glenn Jocher <[email protected]>

* Add additional links/resources to stale.yml message (ultralytics#3467)

* Update stale.yml

* cleanup

* Update stale.yml

* reformat

* Update stale.yml HUB URL (ultralytics#3468)

* Stale `github.actor` bug fix (ultralytics#3483)

* Explicit `model.eval()` call `if opt.train=False` (ultralytics#3475)

* call model.eval() when opt.train is False

call model.eval() when opt.train is False

* single-line if statement

* cleanup

Co-authored-by: Glenn Jocher <[email protected]>

* check_requirements() exclude `opencv-python` (ultralytics#3495)

Fix for 3rd party or contrib versions of installed OpenCV as in ultralytics#3494.

* Earlier `assert` for cpu and half option (ultralytics#3508)

* early assert for cpu and half option

early assert for cpu and half option

* Modified comment

Modified comment

* Update tutorial.ipynb (ultralytics#3510)

* Reduce test.py results spacing (ultralytics#3511)

* Update README.md (ultralytics#3512)

* Update README.md

Minor modifications

* 850 width

* Update greetings.yml

revert greeting change as PRs will now merge to master.

Co-authored-by: Piotr Skalski <[email protected]>
Co-authored-by: SkalskiP <[email protected]>
Co-authored-by: Peretz Cohen <[email protected]>
Co-authored-by: tudoulei <[email protected]>
Co-authored-by: chocosaj <[email protected]>
Co-authored-by: BuildTools <[email protected]>
Co-authored-by: Yonghye Kwon <[email protected]>
Co-authored-by: Sam_S <[email protected]>
Co-authored-by: Samridha Shrestha <[email protected]>
Co-authored-by: edificewang <[email protected]>

(cherry picked from commit f3c3d2c)
Lechtr pushed a commit to Lechtr/yolov5 that referenced this pull request Jul 20, 2021
* update ci-testing.yml

* update greetings.yml

* bring back os matrix

(cherry picked from commit 3fea068)
BjarneKuehl pushed a commit to fhkiel-mlaip/yolov5 that referenced this pull request Aug 26, 2022
* update ci-testing.yml

* update greetings.yml

* bring back os matrix
BjarneKuehl pushed a commit to fhkiel-mlaip/yolov5 that referenced this pull request Aug 26, 2022
* update ci-testing.yml

* update greetings.yml

* bring back os matrix
BjarneKuehl pushed a commit to fhkiel-mlaip/yolov5 that referenced this pull request Aug 26, 2022
* update ci-testing.yml (ultralytics#3322)

* update ci-testing.yml

* update greetings.yml

* bring back os matrix

* update ci-testing.yml (ultralytics#3322)

* update ci-testing.yml

* update greetings.yml

* bring back os matrix

* Enable direct `--weights URL` definition (ultralytics#3373)

* Enable direct `--weights URL` definition

@kalenmike this PR will enable direct --weights URL definition. Example use case:
```
python train.py --weights https://storage.googleapis.com/bucket/dir/model.pt
```

* cleanup

* bug fixes

* weights = attempt_download(weights)

* Update experimental.py

* Update hubconf.py

* return bug fix

* comment mirror

* min_bytes

* Update tutorial.ipynb (ultralytics#3368)

add Open in Kaggle badge

* `cv2.imread(img, -1)` for IMREAD_UNCHANGED (ultralytics#3379)

* Update datasets.py

* comment

Co-authored-by: Glenn Jocher <[email protected]>

* COCO evolution fix (ultralytics#3388)

* COCO evolution fix

* cleanup

* update print

* print fix

* Create `is_pip()` function (ultralytics#3391)

Returns `True` if file is part of pip package. Useful for contextual behavior modification.

```python
def is_pip():
    # Is file in a pip package?
    return 'site-packages' in Path(__file__).absolute().parts
```

* Revert "`cv2.imread(img, -1)` for IMREAD_UNCHANGED (ultralytics#3379)" (ultralytics#3395)

This reverts commit 67db4b6.

* Update FLOPs description (ultralytics#3422)

* Update README.md

* Changing FLOPS to FLOPs.

Co-authored-by: BuildTools <[email protected]>

* Parse URL authentication (ultralytics#3424)

* Parse URL authentication

* urllib.parse.unquote()

* improved error handling

* improved error handling

* remove %3F

* update check_file()

* Add FLOPs title to table (ultralytics#3453)

* Suppress jit trace warning + graph once (ultralytics#3454)

* Suppress jit trace warning + graph once

Suppress harmless jit trace warning on TensorBoard add_graph call. Also fix multiple add_graph() calls bug, now only on batch 0.

* Update train.py

* Update MixUp augmentation `alpha=beta=32.0` (ultralytics#3455)

Per VOC empirical results ultralytics#3380 (comment) by @developer0hye

* Add `timeout()` class (ultralytics#3460)

* Add `timeout()` class

* rearrange order

* Faster HSV augmentation (ultralytics#3462)

remove datatype conversion process that can be skipped

* Add `check_git_status()` 5 second timeout (ultralytics#3464)

* Add check_git_status() 5 second timeout

This should prevent the SSH Git bug that we were discussing @kalenmike

* cleanup

* replace timeout with check_output built-in timeout

* Improved `check_requirements()` offline-handling (ultralytics#3466)

Improve robustness of `check_requirements()` function to offline environments (do not attempt pip installs when offline).

* Add `output_names` argument for ONNX export with dynamic axes (ultralytics#3456)

* Add output names & dynamic axes for onnx export

Add output_names and dynamic_axes names for all outputs in torch.onnx.export. The first four outputs of the model will have names output0, output1, output2, output3

* use first output only + cleanup

Co-authored-by: Samridha Shrestha <[email protected]>
Co-authored-by: Glenn Jocher <[email protected]>

* Revert FP16 `test.py` and `detect.py` inference to FP32 default (ultralytics#3423)

* fixed inference bug ,while use half precision

* replace --use-half with --half

* replace space and PEP8 in detect.py

* PEP8 detect.py

* update --half help comment

* Update test.py

* revert space

Co-authored-by: Glenn Jocher <[email protected]>

* Add additional links/resources to stale.yml message (ultralytics#3467)

* Update stale.yml

* cleanup

* Update stale.yml

* reformat

* Update stale.yml HUB URL (ultralytics#3468)

* Stale `github.actor` bug fix (ultralytics#3483)

* Explicit `model.eval()` call `if opt.train=False` (ultralytics#3475)

* call model.eval() when opt.train is False

call model.eval() when opt.train is False

* single-line if statement

* cleanup

Co-authored-by: Glenn Jocher <[email protected]>

* check_requirements() exclude `opencv-python` (ultralytics#3495)

Fix for 3rd party or contrib versions of installed OpenCV as in ultralytics#3494.

* Earlier `assert` for cpu and half option (ultralytics#3508)

* early assert for cpu and half option

early assert for cpu and half option

* Modified comment

Modified comment

* Update tutorial.ipynb (ultralytics#3510)

* Reduce test.py results spacing (ultralytics#3511)

* Update README.md (ultralytics#3512)

* Update README.md

Minor modifications

* 850 width

* Update greetings.yml

revert greeting change as PRs will now merge to master.

Co-authored-by: Piotr Skalski <[email protected]>
Co-authored-by: SkalskiP <[email protected]>
Co-authored-by: Peretz Cohen <[email protected]>
Co-authored-by: tudoulei <[email protected]>
Co-authored-by: chocosaj <[email protected]>
Co-authored-by: BuildTools <[email protected]>
Co-authored-by: Yonghye Kwon <[email protected]>
Co-authored-by: Sam_S <[email protected]>
Co-authored-by: Samridha Shrestha <[email protected]>
Co-authored-by: edificewang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants