Skip to content
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

Truly reproducible, local-first builds and dev envs #772

Open
c0c0n3 opened this issue Aug 29, 2024 · 1 comment
Open

Truly reproducible, local-first builds and dev envs #772

c0c0n3 opened this issue Aug 29, 2024 · 1 comment
Assignees

Comments

@c0c0n3
Copy link
Member

c0c0n3 commented Aug 29, 2024

Is your feature request related to a problem? Please describe.

We've wasted a huge amount of dev cycles over the years to debug and fix issues related to Docker images, remote builds and cross platform dev envs which resulted in different local builds. Technologies like Docker, GitHub actions, Circle CI, ReadTheDocs, PipEnv etc. basically all the stuff we use don't ensure true reproducibility. This is especially painful and time-consuming if a remote build breaks and then you've got to debug it to figure out how to fix it.

We'd like to have builds and dev envs that

  • work both on Linux and MacOS; and
  • are deterministic, irrespective of the platform on which you run them.

In particular, building on your laptop or on a remote machine should yield the exact same results. This means we can safely build and test locally since the outcome is the same for everybody. Then we can just use online services like GitHub as an extra convenience not as the main driver of our build and test process.

Describe the solution you'd like

Nixify everything in sight. Even Docker images we should build from Nix expressions. The dev env should contain absolutely everything you need to develop, build and test, including native tools and all their native libs---Bash, Docker, etc.

Describe alternatives you've considered

Guix. Possibly better from the programming language point of view, but Nix has an edge when it comes to the amount of available packages.

Additional context

See e.g. #273, #612, #734, #735. Plus all the time we wasted debugging GitHub actions, CircleCI failed tests, etc. It all adds up to months of development over four years.

@c0c0n3 c0c0n3 self-assigned this Aug 29, 2024
@orchestracities orchestracities deleted a comment Aug 29, 2024
@c0c0n3
Copy link
Member Author

c0c0n3 commented Aug 29, 2024

Forgot to mention:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant