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

ci: add tools ci #21344

Merged
merged 8 commits into from
Apr 25, 2024
Merged

ci: add tools ci #21344

merged 8 commits into from
Apr 25, 2024

Conversation

ttytm
Copy link
Member

@ttytm ttytm commented Apr 24, 2024

With the PR, CI is intended to run as follows:

  • Updates only made to cmd/tools -> run tool workflows (takes about 3 minutes), don't run regular vlib workflows
    (exception: changes to builder tools will also trigger regular workflows)
  • Changes including vlib -> run regular platform workflows (now focusing on vlib) + tool workflows

Other notable changes:

  • For most situations, there should also be faster workflow runs for the current platform/sanitized CI, since the tools workflow is run in parallel and tool tests are extracted from regular platform workflows.
    (there will be situations where the benefit of the parallel run will be relativized due to limited runner availability, e.g., when there are many open PRs / active workflow runs. However, there is more potential to optimize our workflows for better runner availability to maximize the occasions of the benefit - I would utilize it with further evolution of the workflows.)
  • Tool tests are extended to always include sanitized test runs and to test optimization on all platforms.

@ttytm ttytm marked this pull request as draft April 24, 2024 23:35
@ttytm ttytm force-pushed the ci/tools branch 3 times, most recently from 06ea0b9 to 8c7a035 Compare April 25, 2024 00:22
@ttytm ttytm marked this pull request as ready for review April 25, 2024 00:36
@ttytm ttytm marked this pull request as draft April 25, 2024 01:00
@ttytm
Copy link
Member Author

ttytm commented Apr 25, 2024

@spytheman I currently added test runs with -cstrict and -prod. Is it enough to just test compilation of the tools with those instead of running all tests with them?

@spytheman
Copy link
Member

@spytheman I currently added test runs with -cstrict and -prod. Is it enough to just test compilation of the tools with those instead of running all tests with them?

Imho just do v -W -cstrict test-self cmd for the tools, without a separate -prod step (which is very slow, and usually will not reveal problems in the tools themselves without running them).

@ttytm
Copy link
Member Author

ttytm commented Apr 25, 2024

Imho just do v -W -cstrict test-self cmd for the tools, without a separate -prod step (which is very slow, and usually will not reveal problems in the tools themselves without running them).

Thanks for the opinion. I agree. Updated accordingly. It gives use really quick tool tests now.

@ttytm ttytm marked this pull request as ready for review April 25, 2024 13:39
@spytheman spytheman merged commit 25da8ff into vlang:master Apr 25, 2024
21 checks passed
@ttytm ttytm deleted the ci/tools branch April 25, 2024 15:08
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.

None yet

2 participants