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

[ISSUE #231] Enhance CI #236

Merged
merged 13 commits into from
Feb 5, 2024
Merged

Conversation

loongs-zhang
Copy link
Contributor

@loongs-zhang loongs-zhang commented Feb 2, 2024

It seems that there is still a lot of work to do, CI fails in many arch.

Is it correct to use "${CARGO}" test --target "${TARGET}" --no-default-features --features "async-cancel,bytes,legacy,macros,utils" --release for testing? @ihciah

For windows, I want to use polling as LegacyDriver, it works well in my crate.

@ihciah
Copy link
Member

ihciah commented Feb 2, 2024

For now windows is not supported.
The ci in this pr seems uses --all-features, so the unstable is also enabled on stable toolchain, so it fails. Manually enabling features should be fine.

Another issue I want to solve is to test different features matrix. It maybe related to your work. For example, 1. only enabled uring driver 2. enable uring+legacy driver 3. only enable legacy driver. Last week I added a poll-io feature, so now there are more types of feature combinations. Do you have some ideas about it?

@loongs-zhang
Copy link
Contributor Author

loongs-zhang commented Feb 2, 2024

For now windows is not supported. The ci in this pr seems uses --all-features, so the unstable is also enabled on stable toolchain, so it fails. Manually enabling features should be fine.

Argee with manually enable unstable and I want to try to impl the windows part for monoio.

Another issue I want to solve is to test different features matrix. It maybe related to your work. For example, 1. only enabled uring driver 2. enable uring+legacy driver 3. only enable legacy driver. Last week I added a poll-io feature, so now there are more types of feature combinations. Do you have some ideas about it?

For x86_64/i686 in linux , add 1. only enabled uring driver 2. enable uring+legacy driver 3. only enable legacy driver;
For the rest arch in linux and windows/macos , just 3. only enable legacy driver.
It seems that other CPU architectures in linux do not support io_uring, take a look at https://github.com/bytedance/monoio/actions/runs/7742353279/job/21111296816

Can "${CARGO}" test --target "${TARGET}" --no-default-features --features "async-cancel,bytes,legacy,macros,utils" --release test 3. only enable legacy driver?

@ihciah
Copy link
Member

ihciah commented Feb 2, 2024

Can "${CARGO}" test --target "${TARGET}" --no-default-features --features "async-cancel,bytes,legacy,macros,utils" --release test 3. only enable legacy driver?

Yes.

@loongs-zhang loongs-zhang reopened this Feb 3, 2024
@loongs-zhang
Copy link
Contributor Author

Due to nix-rust/nix#2305, we will not add loongarch64-unknown-linux-gnu CI for now.

@loongs-zhang
Copy link
Contributor Author

I think this PR is ready to merge @ihciah

@Miaxos
Copy link
Contributor

Miaxos commented Feb 4, 2024

Why not adding aarch64-apple-darwin? It seems the runners are using M1 now for macos-14 so we should be able to build it directly and test it no?

@loongs-zhang
Copy link
Contributor Author

Why not adding aarch64-apple-darwin? It seems the runners are using M1 now for macos-14 so we should be able to build it directly and test it no?

see https://github.com/bytedance/monoio/actions/runs/7773163800/job/21196501840?pr=236

@Miaxos
Copy link
Contributor

Miaxos commented Feb 4, 2024

https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available/

The macOS 14 runner image is now available for GitHub hosted runners. Workflows executed on this image will run exclusively on the 3 vCPU M1 runner announced earlier today. To use the runner, simply update the runs-on: key in your YAML workflow file to macos-14, macos-14-xlarge, or macos-14-large.

The macOS 12 runner image will remain latest until migration of the latest YAML workflow label to macOS 14 in Q2 FY24 (April – June 2024). While macOS 13 is now generally available under the macos-13 label, this image will not be migrated to latest. Following this announcement, macOS 11 runner image will begin deprecation immediately with retirement expected to complete by June 2024.

You should put macos-14 if you want your workflow to be run on a M1 aarch64 architecture

(If it still doesn't work idk haha)

@loongs-zhang
Copy link
Contributor Author

It looks very nice ! @Miaxos

@loongs-zhang loongs-zhang reopened this Feb 5, 2024
@ihciah ihciah merged commit 46c921f into bytedance:master Feb 5, 2024
84 of 91 checks passed
@loongs-zhang loongs-zhang deleted the dev-issue-231 branch February 5, 2024 07:24
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.

3 participants