You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
script: Add reproducible build script for Ubuntu v24.04
This PR will help in publishing CLN reproducible binaries for Ubuntu v24.04 (noble).
Please note that I adjusted Dockerfiles for focal and jammy also to keep the base image creation script same for all three images. The step update was required because `noble` only runs with ubuntu:noble setup.
Changelog-None.
Copy file name to clipboardExpand all lines: doc/getting-started/advanced-setup/repro.md
+14-9Lines changed: 14 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,13 +44,16 @@ The following table lists the codenames of distributions that we currently suppo
44
44
- Ubuntu 22.04:
45
45
- Distribution Version: 22.04
46
46
- Codename: jammy
47
+
- Ubuntu 24.04:
48
+
- Distribution Version: 24.04
49
+
- Codename: noble
47
50
48
51
Depending on your host OS release you might not have `debootstrap` manifests for versions newer than your host OS. Due to this we run the `debootstrap` commands in a container of the latest version itself:
49
52
50
53
```shell
51
-
forvin focal jammy;do
54
+
forvin focal jammy noble;do
52
55
echo"Building base image for $v"
53
-
sudo docker run --rm -v $(pwd):/build ubuntu:22.04 \
Since we pass the `Dockerfile` through `stdin` the build command will not create a context, i.e., the current directory is not passed to `docker` and it'll be independent of the currently checked out version. This also means that you will be able to reuse the docker image for future builds, and don't have to repeat this dance every time. Verifying the `Dockerfile` therefore is
@@ -97,6 +101,7 @@ We'll need the release directory available for this, so create it now if it does
97
101
```bash
98
102
sudo docker run --rm -v $(pwd):/repo -ti cl-repro-focal
99
103
sudo docker run --rm -v $(pwd):/repo -ti cl-repro-jammy
104
+
sudo docker run --rm -v $(pwd):/repo -ti cl-repro-noble
100
105
```
101
106
102
107
The last few lines of output also contain the `sha256sum` hashes of all artifacts, so if you're just verifying the build those are the lines that are of interest to you:
@@ -115,7 +120,7 @@ The release captain is in charge of creating the manifest, whereas contributors
115
120
## Script build-release
116
121
1: Pull latest code from master
117
122
118
-
2: Run `tools/build-release.sh bin-Fedora-28-amd64 bin-Ubuntu sign` script. It will create release directory, build bineries for Fedora, build bineries for Ubuntu (Focal & Jammy), sign zip, fedora & ubuntu builds.
123
+
2: Run `tools/build-release.sh bin-Fedora-28-amd64 bin-Ubuntu sign` script. It will create release directory, build bineries for Fedora, build bineries for Ubuntu (Focal, Jammy & Noble), sign zip, fedora & ubuntu builds.
119
124
120
125
## Manual
121
126
The release captain creates the manifest as follows:
@@ -135,7 +140,7 @@ gpg -sb --armor SHA256SUMS
135
140
136
141
2: Copy above files in the lightning directory.
137
142
138
-
3: Run `tools/build-release.sh --verify` script. It will build bineries for Ubuntu (Focal & Jammy), verify zip & ubuntu builds while copying Fedora checksums from the release captain's file.
143
+
3: Run `tools/build-release.sh --verify` script. It will build bineries for Ubuntu (Focal, Jammy & Noble), verify zip & ubuntu builds while copying Fedora checksums from the release captain's file.
139
144
140
145
4. Then send the resulting `release/SHA256SUMS.asc` file to the release captain so it can be merged with the other signatures into `SHASUMS.asc`.
0 commit comments