Mahlet-Inc / hobbits

A multi-platform GUI for bit-based analysis, processing, and visualization
https://mahlet-inc.github.io
MIT License
660 stars 45 forks source link

Windows build #172

Open antoniovazquezblanco opened 4 months ago

antoniovazquezblanco commented 4 months ago

I think it is doable in the current state.

Awaiting for https://github.com/nodejs/node/issues/52682 to fix testing in this pipeline.

After that, a CPack definition for windows should be done (not much experience with that to be honest).

Latest step, include built binaries in release...

How do you feel about this?

hello-adam commented 3 months ago

are you waiting for me for anything on this? anything I could do to help?

antoniovazquezblanco commented 3 months ago

Yep, I am wondering why npm is not installed in windows with the setup-node action. I've found a couple of issues: https://github.com/nodejs/node/issues/52682 https://github.com/actions/setup-node/issues/525

People has complained that it didn't work, it is suposedly fixed but people still complain. I am wondering if this is because of the msys env...

Do you have any idea of what may be happening?

hello-adam commented 3 months ago

I'm not familiar with this problem or msys2, but maybe try with path-type: inherit?

https://github.com/msys2/setup-msys2?tab=readme-ov-file#path-type

e.g.:

      - name: Install Dependencies (Windows)
        if: matrix.sys.os == 'windows-latest'
        uses: msys2/setup-msys2@v2
        with:
          path-type: inherit
          msystem: UCRT64
          install: git mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninja mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-qt5-base mingw-w64-ucrt-x86_64-libusb mingw-w64-ucrt-x86_64-libpcap 
antoniovazquezblanco commented 3 months ago

Test are failing but it seems that at least they are now executing! Thanks!

hello-adam commented 3 months ago

weird, looks like maybe an issue with how the path to the hobbits-runner is being constructed in the test script?

D:ahobbitshobbits/build/bin/hobbits-runner

That's probably from how the github.workspace resolves in the MSYS2 shell?

      - name: Run Tests
        run: |
          npm ci
          cd tests
          ./prepare_tests.js
          export QT_DEBUG_PLUGINS=1
          ./test_hobbits.js ${{ github.workspace }}/build/bin/hobbits-runner -p ${{ github.workspace }}/build/plugins
          cd ${{ github.workspace }}

I'd be fine if you just wanted to skip the tests on the windows build if it's too much of a headache and you are able to manually verify that the build artifact runs OK.

antoniovazquezblanco commented 3 months ago

The problems are mostly to do with not scaping characters or not using " to encapsulate paths.

I am running into issues related to installing because of the pack_qt_libs not finding qt libs...