pine64 / blisp

ISP tool & library for Bouffalo Labs RISC-V Microcontrollers and SoCs
MIT License
158 stars 21 forks source link

Help wanted: Project needs CI/CD for popular OSes - configuring Github Actions #30

Closed robertlipe closed 1 year ago

robertlipe commented 1 year ago

To prevent quality regressions and to make snapshot images trivially available, blisp should be continually built for at least the three main OSes where it is used, preferably with at lesat some kind of a regression testsuite that doesnt require actual hardware.

Is anyone interested in looking at https://docs.github.com/en/actions/automating-builds-and-tests/about-continuous-integration and leading a charge of integrations? This proeject is small enough that we should trivially fit within the letter and spirit of the free usage levels. On my system the library build in under a second, so even if the rest of it build and it took as many as two seconds with regression testing adding five more, we should be able to get a LOT of builds in (even with multiple OSes) with a 2,000 minute budget.

There's not a lot of programming skills needed here. There are plenty of texamples on GitHub and various blogs on how to set this up.

Any volunteers?

gamelaster commented 1 year ago

This is already done, and it compiles Windows, Linux and Mac: https://github.com/pine64/blisp/actions/runs/4567945677

River-Mochi commented 1 year ago

confirmed, people are using command line Blisp to upgrade Pinecil V2 in Windows, MacOS, and Linux. although windows users tend to have most difficulty as windows powershell terminal is not something commonly used by soldering iron owners.

Details in BLISP Wiki page here on how it's installed for all 3 OS: https://github.com/pine64/blisp/wiki/Update-Pinecil-V2

graphic I made here. Is FreeBSD that different that it gets it's own support line? I simply converted the supported list into the table with icons and noticed FreeBSD listed.

image

River-Mochi commented 1 year ago

Robert are you saying that you are unable to use BLISP currently to upgrade your V2 pinecil on MacOS?

robertlipe commented 1 year ago

On MacOS, mine builds the library but not the command line caller, even after multiple 'make clean' and 'cmake -C . ' rides on the merry go round. Perhaps my tree is damaged somehow.

I'll try to confirm and close this later this weekend.. Thanx.

And, yes, Freebsd device handling is just different enough that it's good to signal that someone has come before you and that it's regularly tested.

On Sat, Apr 1, 2023, 3:13 AM River M @.***> wrote:

Robert are you saying that you are unable to use BLISP currently to upgrade your V2 pinecil on MacOS?

— Reply to this email directly, view it on GitHub https://github.com/pine64/blisp/issues/30#issuecomment-1492874418, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCSD3ZOQMH3U3Q6PHONHQTW67PRTANCNFSM6AAAAAAWPHOXPA . You are receiving this because you authored the thread.Message ID: @.***>

River-Mochi commented 1 year ago

would it be possible to package blisp in a way that it could be installed the way we can install dfu-util on the command line such as with
sudo pacman

StevenSeifried commented 1 year ago

blisp is now in the AUR. https://aur.archlinux.org/packages/blisp-bin

robertlipe commented 1 year ago

Note that dfu-util is simply used by more hardware used by normies than blisp, River. I suspect it's always going to be more available. Getting code pushed into the main linux strains isn't easy - and it's a mixed curse once you do. IME, they're VERY slow to update, so the blisp shipped by Canonical (Ubuntu) or Fedora may be two or more years old, so then you have to coach people into "breaking" their package managers to get updates from your site instead of the main OS.

It's been a MAJOR source of pain for me in my big open-source program - I can update Mac and Windows in a day, but the Linux guys are always at least two years behind.

On Sun, Apr 2, 2023 at 4:45 AM Steven Seifried @.***> wrote:

blisp is now in the AUR. https://aur.archlinux.org/packages/blisp-bin

— Reply to this email directly, view it on GitHub https://github.com/pine64/blisp/issues/30#issuecomment-1493281422, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCSD3YR2YKPX3QREV3KAZTW7FDB5ANCNFSM6AAAAAAWPHOXPA . You are receiving this because you authored the thread.Message ID: @.***>

River-Mochi commented 1 year ago

@robertlipe for your mac V2 udate, If you just want to update it quickly, maybe just use the premade easy binary in releases if you are unable to build from code right now.

dont' want to assume basics, but also make sure to hold down the [-] button before plugging the cable into the mac.
I usually plug cable to PC first, then hold the pinecil (-) button, then plug cable into back of the Pinecil, keep holding (-) for 10 seconds, then release.
after that the pre-made MacOS exeutable blisp binary in releases "should" theoretically work.

robertlipe commented 1 year ago

Thanks, but my goal wasn't to update, it was to help exit return value person, so building from source is part of the game. I could have done that work even without an iron.

On Sun, Apr 2, 2023, 8:33 AM River M @.***> wrote:

@robertlipe https://github.com/robertlipe for your mac V2 udate, If you just want to update it quickly, maybe just use the premade easy binary in releases if you are unable to build from code right now.

dont' want to assume basics, but also make sure to hold down the [-] button before plugging the cable into the mac. I usually plug cable to PC first, then hold the (-) button, then plug into back of the Pinecil, keep holding (-) for 10 seconds, then release. after that the pre-made MacOS exeutable binary in releases "should" theoretically work.

— Reply to this email directly, view it on GitHub https://github.com/pine64/blisp/issues/30#issuecomment-1493334736, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCSD34ZX37CFGRDQXMSXALW7F5ZFANCNFSM6AAAAAAWPHOXPA . You are receiving this because you were mentioned.Message ID: @.***>

River-Mochi commented 1 year ago

oic, sorry, I was confused. you were trying to help @spagett1 get an exit code since he is working on making blisp work better inside PineFlash

robertlipe commented 1 year ago

Right. And since I couldn't debug why I couldn't get an executable, I couldn't help them to get a stack trace to find where the return value was benign eaten (though I pencil whipped and found enough falling on the floor to assign it to Marek as a design issue and not a "mere" bug).

Welcome to the supply side chain of software development. Programmer C can't help Programmer B because there's an issue that's really only understood by programmer A.

Dominoes.

And being confused is OK. This is something we can mutually help understand. This part iran't rocket surgery.

On Mon, Apr 3, 2023 at 12:12 AM River M @.***> wrote:

oic, sorry, I was confused. you were trying to help @Spagett1 https://github.com/Spagett1 get an exit code since he is working on making blisp work better inside PineFlash

— Reply to this email directly, view it on GitHub https://github.com/pine64/blisp/issues/30#issuecomment-1493674317, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCSD32UBX5UZC2Z2EGQP6LW7JL2NANCNFSM6AAAAAAWPHOXPA . You are receiving this because you were mentioned.Message ID: @.***>

Ralim commented 1 year ago

I'm going to close this issue as its not really on track to the original post. There is CI enforcement for building for all three main OS's, and I have manually run a cmake build on all 3 now and could build the project fine.