Skip to content

Conversation

@Leonidas-from-XIV
Copy link
Contributor

This PR moves the install script from the get.dune.build server to the script served by nightly.dune.build.

The previous setup used to copy the install script to get.dune.build as part of the daily sync action, but this has some distinct disadvantages

  1. Once a change to the install script is merged, it takes for the sync action to run until the new version is deployed. This two step process is tricky because it is easy to forget to run the action and then the script will only be updated on the next run (which might only happen after a few days if no changes to dune occur). This means that it can take multiple days until a change happens and things can be broken for a longer time (e.g. change over the weekend)
  2. It's rather complicated to understand. It is fairly understandable that get.dune.build is used to host the binaries, but the fact that the install script is served by both the binary-distribution Dream app (which serves the most currently deployed main version) as well as get.dune.build (the latest version from the github action) is confusing. This simplifies the code base to always just use one of them.

Signed-off-by: Marek Kubica <marek@tarides.com>
Signed-off-by: Marek Kubica <marek@tarides.com>
@shonfeder
Copy link
Member

shonfeder commented Nov 26, 2025

If everything is working now, could we hold off on any more updates that may impact service or correctness for the time being?

@Leonidas-from-XIV
Copy link
Contributor Author

I don't understand your comment. Should we then basically archive this repository?

This PR is my suggestion on how to prevent accidents like #178, where I did not understand why there were two install scripts and just switched the URL without realizing that it would also change all the artifact links. This reduces the amount of install scripts to one and splits out the artifacts URL into a separate variable.

I think dealing with it now is a good idea, as the way it works is fresh in our minds. If we come back to this repo at a later point in time like in like half a year, or someone else will take a look at it, they might struggle with the same issues and potentially cause the same bugs.

Copy link
Member

@shonfeder shonfeder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's hold off on this until

  • After the arc of the MSP work is done.
  • We have a documented and effective strategy for testing these kinds of changes to ensure they don't break the existing service.

@maiste
Copy link
Member

maiste commented Dec 4, 2025

For the sake of information, this was decided when there wasn't the question of having a website to serve the "preview". Hence, everything was stored on get.dune.build. With this PR change, this is definitely better for the maintainability of the project 😄 With the rebranding, I'm wondering if the get.dune.build shouldn't be removed completely: I find it a bit confusing to have both names, now it is clear this is providing nightly versions of Dune.

Also, small review but if you change that, you can remove this part from the end of the README:

One downside of this setup is that the install script on
`nightly.dune.build/install` is updated as soon as the `main` branch is
deployed, however the install script at `get.dune.build/insall` is only updated
once the `binaries` action is run. Which can take several days if no changes
are happening in the Dune repository.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants