opencax / GSoC

Google Summer of Code Projects
30 stars 14 forks source link

LibreCAD 3 automatic releases #59

Closed feragon closed 1 year ago

feragon commented 2 years ago

Outline

Create automatic releases of LibreCAD 3 for different operating systems using a CI/CD system.

Details

Users who want to try or use LibreCAD 3 have to compile it. This is too difficult for non-technical users.

The installation procedure should be as simple as :

This project aims at providing binaries of LibreCAD 3 to the users using a CI/CD system.

The packaging method is not imposed. The users have already requested the following :

Expected Outcome

Update CI/CD scripts to create binaries of LibreCAD for Windows and Linux. They will be tested on fresh installs of major Linux distributions and Windows.

macOS builds are not required but it would be a plus.

Project Properties

Skills

Difficulty

medium

Size

medium (175h)

Additional Information

CRiSTiK24 commented 2 years ago

Hi, second year university student from UdG, Spain here and I'm interested on this. The objective of the project is to automate this installation right? If so, i'll try to install it myself on a linux and windows to check it out. Should I communicate through here or in https://librecad.zulipchat.com/ or email/anything else? In GSoC Participation Expectations it says to do it in IRC or Mailing list, Is librecad.zulipchat.com the IRC?

lordofbikes commented 2 years ago

Welcome @CRiSTiK24!

We at LibreCAD prefer Zulip chat, which is linked in the task definition above. You can follow the link and use a browser to log in or you can install their desktop client which can be found at https://zulip.com/apps. There is already a topic 2022 in the Google Summer of Code stream for this year.

The goal of this task is not only to automate the build process. It is also about building binary packages for Windows, Linux and MacOS, which could be downloaded by users for an easier installation. So being able to build LibreCAD 3 on different OS is the first step. Next is to explore GitHub Actions, because this should be the base to automate everything. Thus this task will also need to set up the action runners to build LibreCAD 3 and to create and upload the binary packages from there.

We already do so for LibreCAD 2, but the requirements and build process for LibreCAD 3 are totally different. And we have no packaging at all for LibreCAD 3 yet.