-
-
Notifications
You must be signed in to change notification settings - Fork 6
add CI workflow to crosscompile all the tools and pubblish them #1
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
Conversation
With the optimization from #2, i managed to drop the image size from 9.22GB to 7.76GB and thus cut CI step downloading the container from 4mins to 3 🥳 🎈 |
fa60df3
to
e2683eb
Compare
e2683eb
to
cbc8cc8
Compare
…version-os-arch.tar.bz2`, changed archive
ab84734
to
bacd5f4
Compare
apparently aws cli does not give a meaningful message when credentials or bucket are wrong.. The error message was:
Reinserting the secrets solved the problem. Thanks @rsora for the help in the troubleshooting |
5aad3bd
to
3ba6d8b
Compare
8d23681
to
6be9216
Compare
.github/workflows/release.yml
Outdated
if [ "${{ matrix.os }}" = "darwin" ]; then | ||
cmake -DCMAKE_C_COMPILER=${{ matrix.cross_compiler }} -DCMAKE_CXX_COMPILER=${{ matrix.cross_compiler }}++ -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -framework IOKit -framework Cocoa -pthread" -DLIBUSB_LIBRARIES=$LIBUSBUDEV -DLIBUSB_INCLUDE_DIR=$LIBUSB_DIR .. | ||
else | ||
cmake -DCMAKE_C_COMPILER=${{ matrix.cross_compile }}-gcc -DCMAKE_CXX_COMPILER=${{ matrix.cross_compile }}-g++ -DCMAKE_EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++" -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -pthread" -DLIBUSB_LIBRARIES=$LIBUSBUDEV -DLIBUSB_INCLUDE_DIR=$LIBUSB_DIR .. | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know it's not ideal, but IMHO it's better than duplicating the steps, like it were in the beginning.
I tried some tinkering to have the cmake flags as variables but I think it was losing readability..
Co-authored-by: per1234 <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work Umberto!
I've created the workflow to cross-compile all the tools (
picotool
,elf2uf2
. andrp2040load
). ⚒️The workflow is divided in:
crossbuild
) with all the toolchains inside required to cross-compile the two tools from raspberry pi. The binaries produced are as static and self-contained as possible. (Obviously, this is run in parallel to minimize time) 🏃rp2040load
, cross-compiling this tool is so much easier than compiling the C++ ones. 😅tar.bz2
them and upload them in the release page and on s3 download server 🆙In less than
65 mins we can produce a release! 📦 🥳Release binaries are structured as follows:
TODO: