Skip to content

Commit e0fa858

Browse files
TeofilCulysses4ever
andcommitted
Improve preview release documentation
Co-authored-by: Artem Pelenitsyn <[email protected]>
1 parent 2984135 commit e0fa858

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

CONTRIBUTING.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,25 @@ Currently, [@emilypi](https://github.com/emilypi), [@fgaz](https://github.com/fg
337337
`haskell.org/cabal`, and [@Mikolaj](https://github.com/Mikolaj) is the point of contact for getting
338338
permissions.
339339

340+
Preview Releases
341+
----------------
342+
343+
We make preview releases available to facilitate testing of development builds.
344+
345+
Artifacts can be found on the [`cabal-head` release page](https://github.com/haskell/cabal/releases/tag/cabal-head).
346+
The Validate CI pipeline generates tarballs with a `cabal` executable. The executable gets uploaded to this release by the pipelines that run on `master`.
347+
348+
We currently make available builds for:
349+
- Linux, dynamically linked (requiring `zlib`, `gmp`, `glibc`)
350+
- Linux, statically linked
351+
- MacOS
352+
- Windows
353+
354+
The statically linked Linux executables are built using Alpine.
355+
To reproduce these locally, set up an Alpine build environment using GHCup,
356+
and then build by calling `cabal build cabal-install --enable-executable-static`.
357+
358+
340359
API Documentation
341360
-----------------
342361

README.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,37 @@ Ways to get the `cabal-install` binary
3333
_Getting unreleased versions of `cabal-install`_: gives you a chance to try out yet-unreleased features.
3434
Currently, we only provide binaries for `x86_64` platforms.
3535
36+
#### Preview Releases
37+
3638
1. _GitHub preview release built from the tip of the `master` branch_: [download from GitHub](https://github.com/haskell/cabal/releases/tag/cabal-head) or use this GHCup command to install:
3739
3840
```
3941
ghcup install cabal -u https://github.com/haskell/cabal/releases/download/cabal-head/cabal-head-Linux-x86_64.tar.gz head
4042
```
4143
4244
Replace "Linux" with "Windows" or "macOS" as appropriate.
45+
46+
The default Linux build is dynamically linked against `zlib`, `gmp` and `glibc`.
47+
You will need to have appropriate versions of these libraries installed to use it.
48+
Alternatively a statically linked "Linux-static" binary is also provided.
49+
50+
You might need to add the following to your `cabal.project` file
51+
if your build fails because of an out-of-date `Cabal` library:
52+
```
53+
allow-newer:
54+
*:Cabal,
55+
*:Cabal-syntax
56+
57+
source-repository-package
58+
type: git
59+
location: https://github.com/haskell/cabal.git
60+
subdir: Cabal Cabal-syntax
61+
```
4362
4463
4564
2. Even more cutting-edge binaries built from pull requests are always available
46-
from the `Validate` worklow page on GitHub, at the very bottom of the page.
65+
from the `Validate` worklow page on GitHub, at the very bottom of the page,
66+
or from the `build-alpine` workflow for statically linked Linux builds.
4767
4868
Ways to build `cabal-install` for everyday use
4969
--------------------------------------------

0 commit comments

Comments
 (0)