-
-
Notifications
You must be signed in to change notification settings - Fork 5.8k
ci: re-ordering Drone CI for optimizing time #9719
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
Conversation
This is wip since currently I am pretty sure I broke tag/release. |
Codecov Report
@@ Coverage Diff @@
## master #9719 +/- ##
==========================================
+ Coverage 42.27% 42.29% +0.01%
==========================================
Files 597 597
Lines 78257 78257
==========================================
+ Hits 33083 33095 +12
+ Misses 41121 41114 -7
+ Partials 4053 4048 -5
Continue to review full report at Codecov.
|
This need more work but we could save a third of the duration of PR tests |
last CI jobs has taken longer globally with pgsql test on arm64 because the integration was started before since the arm64 was idle and launched pipeline on arm64 and the jobs has to wait for a amd64 after (for the 3 running jobs to end). |
I revert the part of running mysql8 on arm64 since it seems to fail. I will test this in a separate PR. |
I added changes to try to keep this PR as minimal change for review. |
This reverts commit 0715f65.
CI works with this PR can we go on with this? @go-gitea/maintainers |
For details, this PR will not totally solve the problem with golangci-lint (I have re-started multiple time and it failed one time) but it greatly improve the time of CI for PR (I limited my self on release pipeline to sure to not break them). |
* ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try offloading mysql8 to arm64 * Revert "ci: try offloading mysql8 to arm64" This reverts commit c60de5d. * ci: try offloading pgsql to arm64 * ci: activate ldap on arm64 * ci: test mysql8 in place pgsql arm64 * chore: clean un-needed move * typo * ci: revert runnning mysql on arm64 * ci: run compliance on arm * chore: limit change * chore: readd maybe need for release fetch-tags * ci: remove docker-linux-amd64-dry-run * ci: remove docker-linux-amd64-dry-run * Revert "ci: remove docker-linux-amd64-dry-run" This reverts commit 0715f65. Co-authored-by: zeripath <[email protected]> Co-authored-by: Lunny Xiao <[email protected]>
* ci: use docker image for golangci-lint (#9737) * ci: re-ordering Drone CI for optimizing time (#9719) * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try offloading mysql8 to arm64 * Revert "ci: try offloading mysql8 to arm64" This reverts commit c60de5d. * ci: try offloading pgsql to arm64 * ci: activate ldap on arm64 * ci: test mysql8 in place pgsql arm64 * chore: clean un-needed move * typo * ci: revert runnning mysql on arm64 * ci: run compliance on arm * chore: limit change * chore: readd maybe need for release fetch-tags * ci: remove docker-linux-amd64-dry-run * ci: remove docker-linux-amd64-dry-run * Revert "ci: remove docker-linux-amd64-dry-run" This reverts commit 0715f65. Co-authored-by: zeripath <[email protected]> Co-authored-by: Lunny Xiao <[email protected]> * ci: use new mssql image (#9720) Co-authored-by: Lunny Xiao <[email protected]> * ci: run notify on arm64 (#9762) * ci: run notify on arm64 Free one jobs on amrd64 * Update .drone.yml * Update .drone.yml * Update .drone.yml Based on: https://github.com/appleboy/drone-discord/blob/master/.drone.yml#L339 * improve trigger Co-authored-by: techknowlogick <[email protected]> * ci: move some integration tests on arm64 (#9747) * tests: configure github remaining limit + read token (#9800) * ci: configure remaining github limmit * prepend with github since package is common to all migrations * add RefreshRate * Update github.go * add missing space * go fmt * Read env variable GITHUB_READ_TOKEN for token * Update .drone.yml * ci: simplify tag/release by always running coverage (#9774) * ci: simplify tag/release by always running coverage * use mod and vendor for unit test coverage * remove not needed lfs for unit test * use arm drone agent for docs (#9776) * run translations pipeline on arm server (#9865) * add git-check to Makefile Co-authored-by: Antoine GIRARD <[email protected]> Co-authored-by: zeripath <[email protected]> Co-authored-by: Lunny Xiao <[email protected]> Co-authored-by: techknowlogick <[email protected]>
This PR re-organize CI to optimize timing :
compliance
with validation of code and requirement of minimal version compat.testing
pipeline is run directlyunit-test
step run directly without waiting for gitea binary frombuild
stepThis PR also offload mysql8 integration test to arm64 (let some cpu available for other integration on amd64) this need to use the mysql official image inplace of docker official to have an arm64 build https://hub.docker.com/r/mysql/mysql-server. Maybe this part is not really needed and could be reverted.