Skip to content

Rewritten CI from scratch#101

Closed
xiaozhuai wants to merge 1 commit intomax0x7ba:masterfrom
xiaozhuai:dev-new-ci
Closed

Rewritten CI from scratch#101
xiaozhuai wants to merge 1 commit intomax0x7ba:masterfrom
xiaozhuai:dev-new-ci

Conversation

@xiaozhuai
Copy link
Copy Markdown
Contributor

@xiaozhuai xiaozhuai commented Apr 17, 2026

Rewritten CI from scratch

  1. Support cmake, meson, makefile on ubuntu
  2. Support cmake, meson on macOS
  3. Support cmake on windows
  4. Fix an ci error on macOS
  5. Add a test for checking objective-c++ compatibility
  6. Split CI by platforms instead of build systems
  7. Check code format with clang-format on push or pull-request

@max0x7ba
Copy link
Copy Markdown
Owner

The changes must be as minimal as possible.

Add your CI without any unnecessary changes to existing code, please.

Do more with less.

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

xiaozhuai commented Apr 17, 2026

The macOS with cmake fails as expected because of nil. Once #100 get merged, it will pass.

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

xiaozhuai commented Apr 17, 2026

Do more with less.

I was planning to do that, but the current CI setup is quite complex, a refactoring is necessary.
All matrices in the original CI has been restored, and I added macos stuffs.

CI for makefile is copied from old file.
CI for cmake and meson has been rewritten.

@xiaozhuai xiaozhuai marked this pull request as draft April 17, 2026 15:24
@xiaozhuai xiaozhuai marked this pull request as ready for review April 17, 2026 15:24
@xiaozhuai
Copy link
Copy Markdown
Contributor Author

xiaozhuai commented Apr 17, 2026

One more important reason for me to make these changes is that the current division of CI based on the build system is not reasonable. If more platforms are added in the future, such as FreeBSD or MinGW, it will be very difficult to expand CI on the existing basis. The build system should be regarded as one dimension in the matrix.

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

I forgot to update the badge link in the README. I will update this pr later. By the way, compared to showing the CI status under different build systems, it is obviously more reasonable to display the build status of different platforms.

@xiaozhuai xiaozhuai force-pushed the dev-new-ci branch 3 times, most recently from b3be811 to b769e20 Compare April 18, 2026 11:26
@max0x7ba
Copy link
Copy Markdown
Owner

One more important reason for me to make these changes is that the current division of CI based on the build system is not reasonable. If more platforms are added in the future, such as FreeBSD or MinGW, it will be very difficult to expand CI on the existing basis. The build system should be regarded as one dimension in the matrix.

There are 3 different build systems. Not one.

Squash your commits and force-push them, to make your changes review friendly, please.

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

Squash your commits and force-push them, to make your changes review friendly, please.

Done

@max0x7ba
Copy link
Copy Markdown
Owner

This PR still deletes the existing CI files and creates new ones. This discards the change history of the deleted files. The diff is the entire new file. Such PRs are universally unacceptable, I am afraid.

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

This discards the change history of the deleted files. The diff is the entire new file. Such PRs are universally unacceptable, I am afraid.

No offense intended, it sounds very funny.

The reasons for making these changes have been explained very clearly. The improvement is obvious. If you do have some practical suggestions, then I would be more than willing to make the necessary changes.

However, I won't waste any more time here.

@xiaozhuai xiaozhuai closed this Apr 19, 2026
@xiaozhuai xiaozhuai deleted the dev-new-ci branch April 19, 2026 11:33
@max0x7ba
Copy link
Copy Markdown
Owner

This discards the change history of the deleted files. The diff is the entire new file. Such PRs are universally unacceptable, I am afraid.

No offense intended, it sounds very funny.

Proposing changes to third-party libraries just to work around a problem Apple conjured out of thin air is peak absurdist comedy.

Everyone these days fancies themselves a comedian, it feels.

The reasons for making these changes have been explained very clearly. The improvement is obvious. If you do have some practical suggestions, then I would be more than willing to make the necessary changes.

However, I won't waste any more time here.

This will keep happening with your PRs until you learn to actually listen to feedback, undo your mistakes, and make your changes truly elegant -- simple, clean, and powerful.

You'll start becoming an adult the day you learn to self-verify and self-correct.

Have a wonderful Sunday, dear Weihang.

Maxim

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

xiaozhuai commented Apr 19, 2026

You never collaborate with anyone, am I right?

Because you neither accept the improvement nor can you provide any effective suggestions.

This will keep happening with your PRs

Never mind, it took me a cup of coffee to remove all references to this library from my team 😁

self-verify and self-correct.

Don't forget to format your code with clang-format, you mentioned it in README 😁
Don't forget to correct yourself.

@max0x7ba
Copy link
Copy Markdown
Owner

You never collaborate with anyone, am I right?

Because you neither accept the improvement nor can you provide any effective suggestions.

Did you notice that your PR is not the first but rather an ironic #101? That's the Universe laughing here.

This will keep happening with your PRs

Never mind, it took me a cup of coffee to remove all references to this library from my team 😁

Print my round profile photo and throw darts at it with your team. If that's any consolation.

Don't forget to format your code with clang-format, you mentioned it in README 😁

That got out of date and should be removed, thank you for reminding me that.

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

Print my round profile photo and throw darts at it with your team. If that's any consolation.

No, I don't have such a habit. You can't possibly think I'm angry, can you?

thank you for reminding me that.

You're welcome.

Don't forget to add CI for Risc-V LoongArch and so on, They are obviously much more important than macOS in terms of support. I'm thinking about seeing what these ci will end up like. Just curious.

One more thing, I sincerely suggest that you remove those three silly badges from the README, it seems like you are testing these three build systems.

You don't need to thank me again.

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

This PR still deletes the existing CI files and creates new ones. This discards the change history of the deleted files. The diff is the entire new file. Such PRs are universally unacceptable.

This is the funniest joke I've ever heard.

You should not delete any files in the repository, by the way, including .clang-format, as it will result in the loss of history.

@max0x7ba
Copy link
Copy Markdown
Owner

You can just create a new file with your alternative cross-platform CI without breaking anything existing.

That would take less effort than typing your tantrums and achieve your desired outcomes.

This option remains available for you, you are welcome to change your mind at any time.

@max0x7ba
Copy link
Copy Markdown
Owner

One more thing, I sincerely suggest that you remove those three silly badges from the README, it seems like you are testing these three build systems.

I couldn't find a way to create a url that refers to the latest CI run for a particular platform.

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

change your mind at any time.

This is impossible to happen.

@max0x7ba
Copy link
Copy Markdown
Owner

max0x7ba commented Apr 19, 2026

change your mind at any time.

This is impossible to happen.

Let it sink. Sleep over it. It will grow on you, I guarantee 💯👌🏼😁

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

I couldn't find a way to create a url that refers to the latest CI run for a particular platform.

You will find answer in this pr. 😆
But the answer is what you call a "break" thing.

@max0x7ba
Copy link
Copy Markdown
Owner

max0x7ba commented Apr 19, 2026

I couldn't find a way to create a url that refers to the latest CI run for a particular platform.

You will find answer in this pr. 😆
But the answer is what you call a "break" thing.

There is no reason to bundle the break with your thing.

Just create the new thing which obsoletes existing things, without ever touching or breaking them.

Or, is that another impossible thing for you?

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

is that another impossible thing for you?

Guess what.

@max0x7ba
Copy link
Copy Markdown
Owner

is that another impossible thing for you?

Guess what.

Another rainy day for Objective-C++?

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