Continuous integration #6

Closed
opened 2019-06-05 07:25:01 -05:00 by z3ntu · 16 comments
z3ntu commented 2019-06-05 07:25:01 -05:00 (Migrated from github.com)

I'm working on CI scripts for:

Target CI provider Duration Notes
msbuild AppVeyor 20 sec
cygwin AppVeyor 1 min 45 sec
mingw builds.sr.ht 70 sec Cross-compiled on Fedora
freebsd builds.sr.ht 55 sec
macos Travis CI 53 sec
alpine builds.sr.ht 30 sec
archlinux builds.sr.ht 28 sec

This makes sure at least that hidapi builds for most/all supported platforms.

I'm working on CI scripts for: | Target | CI provider | Duration | Notes | |--------|----------| -- | -- | |msbuild|AppVeyor|20 sec|| |cygwin|AppVeyor|1 min 45 sec|| |mingw|builds.sr.ht|70 sec|Cross-compiled on Fedora| |freebsd|builds.sr.ht|55 sec|| |macos|Travis CI|53 sec|| |alpine|builds.sr.ht|30 sec|| |archlinux|builds.sr.ht|28 sec|| This makes sure at least that hidapi builds for most/all supported platforms.
Qbicz commented 2019-06-05 09:05:57 -05:00 (Migrated from github.com)

That's very interesting, please share the results when you have the CI setup ready.

Which of these platforms can be integrated with GitHub, e.g. to run when a pull-request is opened?
Also, would it be possible to download artifacts from them? (ideally shared libraries for Windows and Mac)

That's very interesting, please share the results when you have the CI setup ready. Which of these platforms can be integrated with GitHub, e.g. to run when a pull-request is opened? Also, would it be possible to download artifacts from them? (ideally shared libraries for Windows and Mac)
z3ntu commented 2019-06-05 09:13:29 -05:00 (Migrated from github.com)

You can see the results for all the platforms listed above at https://github.com/z3ntu/hidapi/commits/ci . All of them are fully integrated into GitHub ;)

Artifacts are definitely possible on AppVeyor, but I'm not sure if Travis supports artifacts natively. But honestly, it's really easy to compile hidapi on macOS, so I wouldn't actually bother with that. Windows, sure, it's a pain otherwise.

You can see the results for all the platforms listed above at https://github.com/z3ntu/hidapi/commits/ci . All of them are fully integrated into GitHub ;) Artifacts are definitely possible on AppVeyor, but I'm not sure if Travis supports artifacts natively. But honestly, it's really easy to compile hidapi on macOS, so I wouldn't actually bother with that. Windows, sure, it's a pain otherwise.
Qbicz commented 2019-06-05 09:23:17 -05:00 (Migrated from github.com)

Sounds good!

What about attaching the Windows DLL to the next release? Do you think it would be a good idea? (I can provide MSVC-built library). Then having the artifacts is not essential.

Sounds good! What about attaching the Windows DLL to the next release? Do you think it would be a good idea? (I can provide MSVC-built library). Then having the artifacts is not essential.
z3ntu commented 2019-06-05 09:33:40 -05:00 (Migrated from github.com)

I also have https://github.com/signal11/hidapi/pull/324 on my CI branch which is needed for the Windows build.

I'll work on the Windows dll artifacts tomorrow!

I also have https://github.com/signal11/hidapi/pull/324 on my CI branch which is needed for the Windows build. I'll work on the Windows dll artifacts tomorrow!
Youw commented 2019-06-05 12:16:46 -05:00 (Migrated from github.com)

I'd suggest switching to CMake instead of having MSVC2015/2017/2019/etc. projects.
Personally I'm using CMake for all my projects on all platforms (Windows/Linux/macOS/cross-aarch64).

I'd suggest switching to CMake instead of having MSVC2015/2017/2019/etc. projects. Personally I'm using CMake for all my projects on all platforms (Windows/Linux/macOS/cross-aarch64).
z3ntu commented 2019-06-06 11:08:24 -05:00 (Migrated from github.com)
Windows DLL artifacts now work: https://ci.appveyor.com/project/z3ntu/hidapi/builds/25095767/job/q9378cp84do5qs49/artifacts
Youw commented 2019-06-06 11:18:58 -05:00 (Migrated from github.com)

I'd say having only a DLL as an artifact is not enough.
Perfect case, if we have .dll, .lib and .pdb - that's very common for Windows.

I'd say having only a DLL as an artifact is not enough. Perfect case, if we have .dll, .lib and .pdb - that's very common for Windows.
z3ntu commented 2019-06-06 12:07:03 -05:00 (Migrated from github.com)
https://ci.appveyor.com/project/z3ntu/hidapi/build/job/f2h18kwiw3kqo2qx/artifacts Better?
Youw commented 2019-06-06 12:57:38 -05:00 (Migrated from github.com)

I don't believe hidtest.exe is a required artifact for this library.

I don't believe `hidtest.exe` is a required artifact for this library.
z3ntu commented 2019-06-06 12:59:19 -05:00 (Migrated from github.com)

No it isn't but I think it doesn't hurt including that there.

No it isn't but I think it doesn't hurt including that there.
jdk commented 2019-06-06 14:34:17 -05:00 (Migrated from github.com)

I’m heavily in favor of leaving it, otherwise we should include it as part of the release downloads for convenience.

On Jun 6, 2019, at 10:59 AM, Luca Weiss notifications@github.com wrote:

No it isn't but I think it doesn't hurt including that there.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/libusb/hidapi/issues/6?email_source=notifications&email_token=AABKD5X2FNBWNAW2XJZED53PZFF7PA5CNFSM4HTWX6U2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXDVH7Q#issuecomment-499602430, or mute the thread https://github.com/notifications/unsubscribe-auth/AABKD5VASQASDJXOD64SSMDPZFF7PANCNFSM4HTWX6UQ.

I’m heavily in favor of leaving it, otherwise we should include it as part of the release downloads for convenience. > On Jun 6, 2019, at 10:59 AM, Luca Weiss <notifications@github.com> wrote: > > No it isn't but I think it doesn't hurt including that there. > > — > You are receiving this because you are subscribed to this thread. > Reply to this email directly, view it on GitHub <https://github.com/libusb/hidapi/issues/6?email_source=notifications&email_token=AABKD5X2FNBWNAW2XJZED53PZFF7PA5CNFSM4HTWX6U2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXDVH7Q#issuecomment-499602430>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AABKD5VASQASDJXOD64SSMDPZFF7PANCNFSM4HTWX6UQ>. >
Youw commented 2019-06-06 15:31:25 -05:00 (Migrated from github.com)

Yeah, actually, not having those in the release downloads - is my bigger concern.

Yeah, actually, not having those in the release downloads - is my bigger concern.
Qbicz commented 2019-06-13 02:46:59 -05:00 (Migrated from github.com)

@z3ntu this is great work, thanks! I downloaded the Windows artifacts and tested. It looks like the hidapi.dll is built as 32-bit, despite of name of the build arch=x64. It cannot be loaded with 64-bit Python, but works with 32-bit Python.

The reason I think is that you build there a 64-bit Cygwin version and 32-bit MSVC version, but only the MSVC DLL is copied as artifact. This would be really great to have 64-bit artifact available as well.

@z3ntu this is great work, thanks! I downloaded the Windows artifacts and tested. It looks like the hidapi.dll is built as 32-bit, despite of name of the build `arch=x64`. It cannot be loaded with 64-bit Python, but works with 32-bit Python. The reason I think is that you build there a 64-bit Cygwin version and 32-bit MSVC version, but only the MSVC DLL is copied as artifact. This would be really great to have 64-bit artifact available as well.
Qbicz commented 2019-06-13 02:53:57 -05:00 (Migrated from github.com)

If this would be helpful, I have 64-bit target added to MSVC project here (apart from update to VIsual Studio 2017) github.com/Qbicz/hidapi-1@a0a00ca76b

If this would be helpful, I have 64-bit target added to MSVC project here (apart from update to VIsual Studio 2017) https://github.com/Qbicz/hidapi-1/commit/a0a00ca76bbc6a2bad1b235f23c96fac6853c30b
Qbicz commented 2019-06-30 11:19:30 -05:00 (Migrated from github.com)

For me we can close this, as https://github.com/libusb/hidapi/pull/34 was successful.

One thing that could be added is 64-bit Windows artifacts, @z3ntu will you have time for this? Or should we create a separate task to be picked up later by someone?

For me we can close this, as https://github.com/libusb/hidapi/pull/34 was successful. One thing that could be added is 64-bit Windows artifacts, @z3ntu will you have time for this? Or should we create a separate task to be picked up later by someone?
z3ntu commented 2019-06-30 13:38:01 -05:00 (Migrated from github.com)

Create a new issue for that anyways, but I'll have a look at it tomorrow

Create a new issue for that anyways, but I'll have a look at it tomorrow
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-libusb/hidapi#6
No description provided.