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: update and cleanup code ci #19541

Merged
merged 5 commits into from
Oct 10, 2023
Merged

Conversation

ttytm
Copy link
Member

@ttytm ttytm commented Oct 10, 2023

  • Takes advantage of callable workflows to allow organizing platform workflows into files while grouping their executing in an added .github/workflows/code_ci.yml workflow. This should help to keep a better overview of the platform CI, faster cancelation of the concurrency group and keep the GH actions cleaner.
  • Re-enables clean code CI for MSVC to resolve a TODO comment in the workflow.
  • Re-enables vlib/net/tcp_test.v'tsession.skip_files and vlib/net/udp_test.v self tests for windows tcc to resolve a TODO.
  • Removes skipping of vlib/x/ttf/ttf_test.v for most OS/Compiler combinations.
  • Formatter updates / cleanups in the related files where also kept in the staged changes.
  • Extends the paths-ignore list of the platform workflows from ignoring all **.yml files to still run if related workflow .yml files (e.g., linux_ci.yml) where changed.

Sample runs: link to action https://github.com/ttytm/v/actions/runs/6463520924 / or Code CI below the PR.

🤖 Generated by Copilot at 60721a4

This pull request refactors and improves the continuous integration workflow for the vlang/v repository. It introduces the workflow_call trigger and the concurrency feature to optimize the CI runs. It also adds Cirrus CI support and a reusable composite action for macOS. Additionally, it enables the code formatting test for Windows and updates the comments and job names for clarity and consistency. The main CI workflow is defined in the new .github/workflows/platform_ci.yml file, which invokes the platform-specific actions from the .github/workflows/linux_ci.yml, .github/workflows/macos_ci.yml, and .github/workflows/windows_ci.yml files. The .cirrus.yml file configures the Cirrus CI service.

🤖 Generated by Copilot at 60721a4

  • Add Cirrus CI configuration file (link)
  • Refactor platform-specific CI files to use workflow_call trigger and uses keyword (link, link, link, link)
  • Rename jobs in .github/workflows/linux_ci.yml and .github/workflows/windows_ci.yml for clarity (link, link, link, link, link)
  • Use # instead of ## for single-line comments in all CI files (link, link, link, link, link, link, link, link, link)
  • Uncomment code formatting test in windows_ci.yml (link)
  • Use .\ instead of ./ for Windows commands in windows_ci.yml (link)
  • Add comment with benchmark command in linux_ci.yml (link)
  • Indicate disabled steps and jobs in comments in all CI files (link, link, link, link, link, link)

@ttytm ttytm marked this pull request as draft October 10, 2023 02:30
@ttytm ttytm force-pushed the ci/update-platfrom-code-ci branch 3 times, most recently from 3bfb120 to 1131b55 Compare October 10, 2023 11:52
@ttytm ttytm marked this pull request as ready for review October 10, 2023 14:38
@ttytm ttytm changed the title ci: group platform code ci workflows ci: update and cleanup code ci Oct 10, 2023
@spytheman spytheman merged commit 3e50ba0 into vlang:master Oct 10, 2023
36 checks passed
@ttytm
Copy link
Member Author

ttytm commented Oct 14, 2023

With a ci-rework I'm gonna remove the grouping for a platform based ci that spreads out into finer grained matrices. Having them split allows for easier re-runs per platform if something failed for reasons unrelated to a change.

@ttytm ttytm deleted the ci/update-platfrom-code-ci branch November 1, 2023 19:49
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