It is 2023 but for me #Github runners are new, flashy and exciting thing. I put some for my #zmodem2 crate ( basic CI tests).I discovered these functionalities for the first time in 2022 while at #Profian, and working on #Enarx.

I was thinking that I could start to mirror my kernel.org tree to GIthub just to run some CI but can you disable PR's completely? If not, then I think I pass . What about #Gitlab?

Have not used Gitlab that much David (Howells) just set me up access for keyutils repository so have to learn to use it more.

What has turned me away so far from Gitlab is that already Github is sometimes really feeling like someone was drilling a hole through my head and Gitlab on surface looks to have even more all kinds of weird controls and looks somewhat scary but perhaps the real truth is different than my prejudice :-)
Akkoma

generated documentation starts to look a bit like actual documentation after fixing all the clippy::pedantic errors.i was not aware of this flag until some sent a PR fixing a few of these. not that experienced with the language yet..

only thing that is left is two integration tests for examples in order call this 0.1, i.e. test_sz_to_rzm and test_rz_szm but I need a. stable and idiomatic way to point out to the executables. I guess I could make this happen by injecting stuff through build.rs, right?

after that is sorted out it is good for what i needed it originally for (my serial terminal), i’ll set up github runner for CI (tests + clippy), make the crate release and call it a day. after that not going to do proactively do anything to it except review and merge pull requests.

#zmodem2 #rustlang

Akkoma

Preparing for v0.1 of my #zmodem2 crate: https://github.com/jarkkojs/zmodem2/issues/9. It is heapless and has a context structure that takes less than 2 KB of memory. Not sync but sequential because I want for first version to have just correct implementation of the protocol. Works also in no_std environment.

#rustlang

Akkoma

Learned how async works in Rust and it looks like straight-forward to convert #zmodem2 crate to that as I have state machine alike structure for both send and return. Given how slow these transfers I make it async only, not async opt-in feature.

After that only some minor things need to be added and fixed and I can finally start gluing it to https://github.com/jarkkojs/tior and start working on its UI again.

For tior I’ll switch also switch to serial2 crate, which provides simpler API, a pro-active maintainer and fully working Windows serial support, which is not the case with seriaport.

With the asynchronous ZMODEM crate (right now the standard is invoking external program) it is possible to implement file transfer dialog, which shows progress, cancels the transfer according to the specification and generally not get a feeling that system is somehow halted :-)

Akkoma

#zmodem2 is a nice history lesson to develop:

style: cleanup and fix cosmetic stuff 1. This inherits from original `zmodem` crate: "ZLDE" is in-fact ZDLE, an acronym of "ZMODEM Data Link Escape" character. 2. Fine-tune use statements. Link: https://wiki.synchro.net/ref:zmodem Signed-off-by: Jarkko Sakkinen <[email protected]>

That link in the commit message is a great source of information on #zmodem.

#rustlang

Akkoma