dlang / project-ideas

Collection of impactful projects in the D ecosystem
36 stars 12 forks source link

Auto-build release binaries via CIs on dlang/dmd #53

Open wilzbach opened 4 years ago

wilzbach commented 4 years ago

Description

Building DMD releases is a complicated process that at the moment only a single member of the D community understands fully. This has led to the problem that currently no 64-bit DMD executable is available as official release (despite it being built and tested on dmd's CIs) or that the sources in the release archives don't allow building DMD. DMD nightly builds currently run hidden once a day and their log is private which lead to frequent breakages of the nightly builds without anyone noticing. A better solution is to follow the LDC model on build the binaries as part of the CI systems on every PR. Hence, this project is about moving the release creation into dmd.

What are rough milestones of this project?

Optional extensions:

To be discussed:

How does this project help the D community?

It will allow to ship a 64-bit DMD executable on Windows. Moreover, it will eliminate the frequent nightly failures and ensure there are always built DMD binaries. Lastly, it will allow anyone in the DMD community to understand and improve the current release setup. Thus, allowing to integrate upcoming changes quickly.

Recommended skills

Optional: experience with Docker

What can students expect to get out of doing this project?

The student will collect a lot of experience with building binary releases on all major platforms. Moreover, he will learn more DevOps skills and gather experience on best-practices for reliable Continuous Deployment.

Point of Contact

@wilzbach @MartinNowak

References

Related projects: