Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/binary.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,13 @@ jobs:
include:
- os: macos-15-intel
name: x86_64-apple-darwin
installable: .#dune-experimental
installable: .#dune
- os: macos-14
name: aarch64-apple-darwin
installable: .#dune-experimental
installable: .#dune
- os: ubuntu-22.04
name: x86_64-unknown-linux-musl
installable: .#dune-static-experimental
installable: .#dune-static

# If the latest commit is the same as latest run, don't re-run.
if: ${{ needs.check_build.outputs.action == 'BUILD' || github.event_name == 'workflow_dispatch' }}
Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:

- name: Export version
run: |
echo "(version \"Dune Developer Preview: build $(date -u +"%Y-%m-%dT%H:%M:%SZ"), git revision $(git rev-parse HEAD)\")" >> dune-project
echo "(version \"Nightly build $(date -u +"%Y-%m-%dT%H:%M:%SZ"), git revision $(git rev-parse HEAD)\")" >> dune-project

- run: nix build ${{ matrix.installable }}

Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Dune binaries distribution

This is a webpage for `dune` binaries distribution of `Dune developer Preview`.
This is the web site for for the nightly binary distribution of `dune`.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
This is the web site for for the nightly binary distribution of `dune`.
This is the website for for the nightly binary distribution of `dune`.

apparently it's one word? https://www.merriam-webster.com/dictionary/website

Copy link
Contributor Author

Choose a reason for hiding this comment

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

According to the link both are fine. Unless you as a native speaker think it is better written together I'm tempted to leave it as-is (I speak concatenative languages, so I might be overcompensating on writing things apart).

The page is automatically generated from file `metadata.json`. Apart from the
_YAML_ part, the code is written in _OCaml_.

Expand All @@ -10,7 +10,7 @@ it:
- generates new artifacts and pushes them to their SSH storage using `RClone`
- publishes the Dockerfile used to deploy the website

The web page is deployed on [preview.dune.build](https://preview.dune.build).
The web page is deployed on [nightly.dune.build](https://nightly.dune.build).

> :hourglass: The pipeline is triggered every day at _01:00 UTC_.

Expand Down Expand Up @@ -101,7 +101,7 @@ page to ensure the page is reloaded when you restart the server.
### Deploying on staging environment

If you need to test your work, you can push on the staging environment. This
environment is available at https://staging-preview.dune.build. If you just need
environment is available at https://staging-nightly.dune.build. If you just need
to test the website view, you need to reset the HEAD of the `staging` branch
and push force on it:
```sh
Expand Down
2 changes: 1 addition & 1 deletion lib/container.mlx
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ let page ~title content =
<link rel="stylesheet" href="/static/main.css" />
<link rel="shortcut icon" href="/static/dune_favicon.png" />
<script
dataDomain="preview.dune.build" defer=true
dataDomain="nightly.dune.build" defer=true
src="https://plausible.ci.dev/js/script.js"></script>
</head>
<body class_="min-h-dvh w-full flex flex-col overflow-scroll justify-between items-center">
Expand Down
93 changes: 41 additions & 52 deletions lib/main.mlx
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ let header_info () =
<span style="color: rgb(194, 79, 30);">"Under a Minute"</span>
</h1>
<p class_="max-w-banner text-lg text-white leading-7 mt-4">
"The Dune Developer Preview is an ongoing program that provides early access to new and experimental features in Dune and the broader OCaml Platform with an "
<span class_="text-primary-light">"experimental nightly release"</span>
"The Dune nightly is a binary of the Dune development branch with a "
<span class_="text-primary-light">"nightly release"</span>
</p>
</div>
</section>
Expand All @@ -29,9 +29,9 @@ let warning () =
<div class_="w-full sm:w-lg flex items-center justify-between p-4">
<Icons.info class_="stroke-warning mr-2" />
<span class_="flex-1 text-left">
"This Dune Install is only an "
"This Dune installation is an "
<span class_="font-bold text-warning">
"EXPERIMENTAL NIGHTLY RELEASE"
"UNSTABLE NIGHTLY RELEASE"
</span>" of Dune"
</span>
</div>
Expand All @@ -54,18 +54,15 @@ let getting_started ~install_url () =
"Run"
</h4>
<Code>
"$ PROJECT=hello_world"
"$ dune init proj \"$PROJECT\""
"$ cd \"$PROJECT\""
"$ dune pkg lock"
"$ dune exec \"$PROJECT\""
{|$ PROJECT=hello_world|}
{|$ dune init proj "$PROJECT"|}
{|$ cd "$PROJECT"|}
{|# To opt in to using dune for package management |}
{|$ echo "(dune-lang 3.21)\n(pkg enabled)" > dune-workspace|}
{|$ dune exec "$PROJECT"|}
</Code>
<h3 class_="mt-10 mb-2.5">"Editor Configuration"</h3>
<p>
"Here is how to configure some popular editors for OCaml using the Dune Developer Preview. Note that it is unnecessary to install "
<span class_="font-mono text-block-p">"ocaml-lsp-server"</span>
" as Dune will install it automatically."
</p>
<p>"Here is how to configure some popular editors for OCaml using the Dune nightly."</p>

<Details summary="Visual Studio Code" extend_class="mt-4" container_class="px-4 lg:px-14 py-1">
<div>
Expand All @@ -74,7 +71,7 @@ let getting_started ~install_url () =
<Link class_="hover:underline" href="https://marketplace.visualstudio.com/items?itemName=ocamllabs.ocaml-platform">"vscode-ocaml-platform"</Link>
" plugin for Visual Studio Code. By default it assumes that you'll be using Opam to install "
<span class_="font-mono text-block-p">"ocamllsp"</span>
". To configure it to work with the Dune Developer Preview, add the following to your settings.json file:"
". To configure it to work with the Dune nightly, add the following to your settings.json file:"
</p>
<Code>
"// settings.json"
Expand All @@ -92,7 +89,7 @@ let getting_started ~install_url () =
<p class_="mb-2.5">
"The easiest way to configure Neovim for OCaml is by installing the "
<Link class_="hover:underline" href="https://github.com/neovim/nvim-lspconfig">"lspconfig"</Link>
" package. The default configuration will work with the Dune Developer Preview, so just enable it with:"
" package. The default configuration will work with the Dune nightly, so just enable it with:"
</p>
<Code>
"-- init.lua"
Expand All @@ -103,7 +100,7 @@ let getting_started ~install_url () =
<Details summary="Emacs" extend_class="mt-4" container_class="px-4 lg:px-14 py-1">
<div>
<p class_="mb-2.5">
"Emacs users will need to add the Dune Developer Preview's bin directory to their "
"Emacs users will need to add the Dune nightly's bin directory to their "
<span class_="font-mono text-block-p">"exec-path"</span>
" and "
<span class_="font-mono text-block-p">"PATH"</span>
Expand All @@ -113,7 +110,7 @@ let getting_started ~install_url () =
</p>
<Code>
"; init.el"
"; add the dune developer preview bin path to exec-path and PATH"
"; add the dune nightly bin path to exec-path and PATH"
"(add-to-list 'exec-path \"~/.local/bin\" t)"
"(setenv \"PATH\" (concat (expand-file-name \"~/.local/bin\") \":\" (getenv \"PATH\")))"
" "
Expand Down Expand Up @@ -159,15 +156,8 @@ let feedback () =
</span>
"Share Feedback"
</h2>
<p class_="mb-6 text-white/60">"We are excited to learn from your experience with the Dune Developer Preview, so feel encourage to tell us what you think"</p>
<p class_="mb-6 text-white/60">"We are excited to learn from your experience with the Dune nightly, so feel encourage to tell us what you think"</p>
<div class_="w-full flex flex-col sm:flex-row flex-wrap items-center gap-10">
<LinkButton href="https://docs.google.com/forms/u/2/d/e/1FAIpQLSda-mOTHIdATTt_e9dFmNgUCy-fD55Qzr3bGGsxpfY_Ecfyxw/viewform?usp=send_form">
<p>
<Icons.pencil class_="mr-2.5" />
"Submit Feedback"
</p>
</LinkButton>

<LinkButton href="https://github.com/ocaml/dune/issues/new/choose">
<p>
<Icons.github class_="fill-white mr-2.5" />
Expand All @@ -179,38 +169,37 @@ let feedback () =
</section>

let q_and_a = [
"What is the Dune Developer Preview?",
"What is the Dune nightly?",
<div class_="flex flex-col gap-2">
<p>"The Dune Developer Preview is an ongoing program that provides early access to new and experimental features in Dune and the broader OCaml Platform. It's not limited to a single feature or time period – instead, it's a continuous initiative to involve the community in testing and refining upcoming developments."</p>
<p>"While it currently showcases Dune's new package management capabilities, the Developer Preview will continue to introduce and iterate on various features even after the package management system is fully integrated into stable releases."</p>
<p>"By participating in the Developer Preview, you'll have the opportunity to try out cutting-edge functionality, provide valuable feedback, and help shape the future of Dune and the OCaml ecosystem. We encourage users to think of the Developer Preview as a persistent \"beta channel\" for Dune and related tools, always offering a glimpse into what's coming next."</p>
<p>"The Dune nightly provides early access to the latest development of Dune without having to wait for a stable release. It's a continuous initiative to involve the community in testing and refining upcoming developments."</p>
</div>
; "Is it stable?", (<p>"No. For a stable release of OCaml, please follow the installation guide on "<Link href="https://ocaml.org">"OCaml.org"</Link>". The Developer Preview is an unstable distribution of Dune and, by nature, will always be unstable. However, its features will stabilise over time and move to a stable release of Dune. If you use the Developer Preview, expect bugs and please report them to "<Link href="https://github.com/ocaml/dune/issues">"ocaml/dune"</Link>"."</p>)
; "Does it support Windows?", <p>"No, not yet. Watch this space for news!"</p>
; "Can I build the Developer Preview of Dune from sources?",
; "Is it stable?",
<p>
"No. The Developer nightly is built from unreleased code on the head of the development branch. If you use the nightly, expect bugs and please report them to "
<Link href="https://github.com/ocaml/dune/issues">"ocaml/dune"</Link>
". For a stable release of OCaml, please follow the installation guide on "
<Link href="https://ocaml.org">"OCaml.org"</Link>
". Binary installations of stable release are available at"
<Link href="https://github.com/ocaml-dune/dune-bin-install?tab=readme-ov-file#dune-binary-installer">"Dune Binary Installer"</Link>"."
</p>
; "Can I install the binary on Windows?", <p>"No, not yet. Watch this space for news!"</p>
; "Can I build the nightly of Dune from sources?",
<div class_="flex flex-col gap-2">
<p>"Yes. The only difference from a regular build from source is in a few
configuration flags. Please look in the Dune repository for complete instructions
on how to do a source build of Dune."
<p>"Yes. The nightly is just a binary distribution of the latest Dune features."</p>
<p>
"Check out "
<Link href="https://github.com/ocaml/dune?tab=readme-ov-file#installation-1">"the installation instructions in the Dune repository"</Link>
" on how to do a source build of Dune."
</p>
<p>"When configuring the build you'll want to enable the following flags:" </p>
<Code>
"--pkg-build-progress enable"
"--lock-dev-tool enable"
"--portable-lock-dir enable"
</Code>
</div>
; "Can I access these features from a version of Dune managed by opam?",
<div class_="flex flex-col gap-2">
<p>"Yes, but we can't guarantee they will work correctly since the Dune Developer Preview makes some assumptions for package management that aren't supported by opam."
<p>"Yes, but we can't guarantee that every feature of the nightly will make it as-is into future releases."
</p>
<p>"To enable these features make sure you are pinning dune to the development version, and export the following environment variables: "
<p>"To enable these features make sure you are pinning Dune to the development version: "
</p>
<Code>
"$ opam pin add dune --dev"
"$ export DUNE_CONFIG__PKG_BUILD_PROGRESS=enabled"
"$ export DUNE_CONFIG__LOCK_DEV_TOOL=enabled"
"$ export DUNE_CONFIG__PORTABLE_LOCK_DIRS=enabled"
[JSX.string "$ opam pin add dune --dev-repo"]
</Code>
</div>
]
Expand Down Expand Up @@ -250,11 +239,11 @@ let manual_installation ~base_url ~releases () =
<div class_="w-full lg:w-lg flex flex-col gap-2 ">
<h2 class_="mb-2"> "Manual Installation" </h2>
<p class_="mb-5">
"In this section you’ll find instructions to manually install the Dune Developer Review, and verify the installation. This is recommended for advanced users, or if you want s understand where the binaries come from."
"In this section you’ll find instructions to manually install the Dune nightly, and verify the installation. This is recommended for advanced users, or if you want to understand where the binaries come from."
</p>
<h3 class_="mb-2.5"> "Featured Downloads" </h3>
<p class_="mb-4">
"This is the latest release of the Dune Developer Preview. See the "
"This is the latest release of the Dune nightly. See the "
<Link class_="text-[var(--accent)]" href="#release-history">"release history"</Link>
" section for all past releases."
</p>
Expand All @@ -265,7 +254,7 @@ let manual_installation ~base_url ~releases () =
|> JSX.list)
</ul>

<h3 class_="mb-2.5"> "Installing the Binary" </h3>
<h3 class_="mb-2.5"> "Installing the binary" </h3>
<p>
"After downloading a binary release of Dune, make it executable and place it somewhere reachable by your PATH:"
</p>
Expand Down Expand Up @@ -323,7 +312,7 @@ let release_history ~base_url ~releases () =
<p>
"Here is a list of the "
(JSX.int (List.length releases))
" latest releases of the Dune Developer Preview."
" latest builds of the Dune nightly."
</p>
<div class_="w-full flex flex-col gap-4">
(
Expand Down
2 changes: 1 addition & 1 deletion static/install
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ esac

tar_target_name="dune-$target"
tar_target="$tar_target_name.tar.gz"
dune_tar_uri="https://preview.dune.build/latest/$target"
dune_tar_uri="https://nightly.dune.build/latest/$target"

install_dir="$HOME/.local"
bin_dir="${install_dir}/bin"
Expand Down