A brief look at the future automatic releases in LibreCAD3: GSoC 2022

Hi everyone! I’m Cristian and I’ll tell you about my project, which intends that anyone who wants to try out the current state of LibreCAD3 can do it as any other application. You should be able to download it as a ‘.exe’, or if you are a Linux user, get it as a ‘.appImage’ or as a ‘snap’ in the Snap store.
The key parts of this proposal are building, packaging, testing and deploying:

  1. Building: When I started getting involved with LibreCAD two months ago, I first started with the Windows installation. The wiki installation was outdated and sometimes confusing for a non-experienced dev. 
    Fortunately, Florian was able to patch all the errors surrounding the installation, and so I finally installed it successfully. After this “week-long installation”, I committed to writing a batch script to install it automatically, which can be consulted in the installation wiki. 
    Also, I updated the Windows guide so anyone with a bit of experience following guides can get it built. The next step will be installing it for Ubuntu. Right now the wiki only covers a long line of packages to be installed with apt. I’ll try it out and update the wiki with additional steps if needed.
  2. Packaging: After LibreCAD3 is built, in Windows it needs to be packaged with QT and Conan dependencies. After having everything together, an extraction script will be needed so that when the ‘.exe’ is executed, its contents are moved and some requirements like PATH variables are appended.
    For Linux, It’ll have to follow AppImage’s & Snapscraft Documentation to get them packaged.
  3. Testing: It’ll have to test the packages before deploying. For AppImage and Snap, some programs can do exactly that. For Windows, It can try to install it from the ‘.exe’ and see if it doesn’t fail.
  4. Deploying: Finally, with all the packages tested, The ‘.appImage’ and ‘.exe’ will be uploaded to Github as a release, while the ‘snap’ will be uploaded to the Snap store.

Hope you like the proposal! If you have any new ideas or improvements on how to tackle this goal feel free to reach me out in Zulip-Chat(@CRiSTiK24) or leave a comment down below!

You can check the complete proposal (12 pages in pdf) and more here:
Link to Librecad’s Gsoc page in wiki