cacti icon indicating copy to clipboard operation
cacti copied to clipboard

docs(build): reproducible development environments

Open RafaelAPB opened this issue 1 year ago • 3 comments

Is your feature request related to a problem? Please describe. Cacti is hard to setup despite a well-documented BUILD.md

Describe the solution you'd like Creating one or more reproducible build supporting files. A good candidate is NixOS.

Describe alternatives you've considered Every new contributor needs to read BUILD.md and fix problems in the setup. Hundreds of hours were probably already lost in the process.

RafaelAPB avatar Mar 05 '24 12:03 RafaelAPB

@RafaelAPB Thank you for reporting this! I renamed the issue slightly to be more specific that we are talking about development environment setup, not the build itself.

What I mean is that this issue could be considered done once there are documented steps for easily reproducing a working development environment for new contributors regardless of that development environment was actually able to provide reproducible builds or not. E.g., in the scope of this we are focused on enabling the development flow to be smooth and have an easy on-ramp.

Reproducible builds are a set of software development practices that create an independently-verifiable path from source to binary code.

Source: https://reproducible-builds.org/

petermetz avatar Mar 06 '24 21:03 petermetz

done once there are documented steps for easily reproducing a working development environment for new contributors regardless of that development environment

Agree on this, different people have different needs regarding runtime enrionment (and they change often as well), so I'd not use any specific tooling (e.g. I used Vagrant https://github.com/outSH/cactus/blob/vagrant/Vagrantfile which worked until it didn't due to IT policy). I'd like to keep only the following sections (because right now the file is quite large and overwhelming for newcommers):

  • All commands needed to setup fresh Ubuntu 22
  • How to setup WSL with docker/rancher desktop as container image
  • How to setup devcontainers (since we need it anyway) / how to use codespaces, some links
  • (optional) How to setup on mac

I'm willing to work on first two items if needed :)

outSH avatar Mar 07 '24 11:03 outSH

@petermetz @outSH thank you both. Let us work on this on the next few weeks. @outSH would appreciate help on the two points you mentioned. @AndreAugusto11 put together a script that does the first point: https://gist.github.com/RafaelAPB/80d49dd6afff1be797ac3c42791ae318

RafaelAPB avatar Mar 08 '24 15:03 RafaelAPB