-
Notifications
You must be signed in to change notification settings - Fork 3
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
Add uhid service and alternative cli #35
Conversation
- Change uhid-virt source temporarily to yet unreleased fix.
Adding strum properties to members enables more sophisticated validation of cmdline parameters.
Strange, that all except fmt failed. builds fine here?! |
Looks like the build system is missing llvm-config and libclang:
This new dependency is introduced indirectly by uhid-virt:
|
Forget that:
The step named "Install dependencies" apparently does the trick clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y libclang-dev clang llvm
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- name: Cargo Clippy
run: cargo clippy -- -D warnings
- name: Cargo Clippy Example
run: cargo clippy --manifest-path example/Cargo.toml -- -D warnings |
Thanks alot for doing this major task! Now, to get this merged, there needs to be some conditional compiling happening - so non-linux user can still build the project. Checklist:
With these changes it should already work from what I can tell. Linux: |
Wahh, you are too quick, I have the above already - just not yet committed to this PR's branch
I tried github's official rust action instead and it works nicely. (not yet tested for i36 and arm)
That's what I am struggling with right now: I cannot believe, that there is NO way of disabling build of specific workspace members based on target-os or features. What a pity! (There are some Issues open in cargo's repo, but no solution exists yet. I experimented with conditionals in both service and ncli, but this is ridiculously ugly. This are 2 very weak spots in cargo and rustc - to say the least.
Huh: Did you mean CD?
|
I think, triggering the CD action on any pull request is NOT a good idea, because - as far as i understand it - the |
llvm and clang are capable of cross-compiling per se, so no problem there, but libclang-dev (and possible dependencies)
This is a) much bloat, b) quite time-consuming if done in the regular CI action. I will try to generate a separate action |
@felfert no worries, the build dependency task is a tiny one, involving the cross rust toolchain https://github.com/cross-rs/cross/wiki/Configuration We just need to decide whether we want a seperate
Kind of like that, yes. reference: https://docs.github.com/en/actions/using-workflows/reusing-workflows |
Oh, and can we please keep CI/CD related commits out of this PR. I think, these are better collected in a separate PR. For now, this is what I have No PR yet (still without the cross stuff, but artifacts are already stashed): Notes:
Question: |
Ok, after wasting a whole evening for testing research etc, it turns out, that libclang on ubuntu is seriously broken in Basically, the problem is similar like this: Snippet from the apt-get install libclang-dev:i386 Same happens with arm64 The correct path would be somewhere below /usr/lib/i386-linux-gnu/ resp. /usr/lib/arm64-linux-gnu/ So unless you know of a different container for cross-builds, I give up on that. It's simply not worth the effort, Well one last try would be manually unpacking the .deb in temporary dir and then moving it to a different location. |
05e64d1
to
04c0eb6
Compare
So for now, I have added a featue named uhid and changed the conditional compile directives. If the libclang mess gets sorted out for the cross platforms, we can add these flags for them later. The new Cheers |
Turns out, artifacts can only be shared in the same Action. So switching to cache. Keeping the artifact for manual checks, if eferything is in order. |
Also, the github deployment action insists being triggered by a git tag event which makes my idea of how this should work completely useless. I must admit, I never had used github workflow/actions before. Professionally, I am used to a jenkins environment which is quite different in that perspective and I was a probably a bit naive in assuming that the github stuff works in a similar way. So: PR coming up with fixes for the existing workflows ... |
- Install build dependencies when building the UHID stuff. - Build UHID stuff on native linux only for now.
Description
As announced in #22 , I implemented a uhid driver service together with an alternative cli that acts as a drop-in replacement for cherryrgb_cli. See docs/UHID-driver.md.
Fixes # 22
Type of change
Please delete options that are not relevant.
Code Checklist