Skip to content

Commit 10a4948

Browse files
committed
Merge #88: Add Cirrus rbm builds
2a98623 Cirrus: Allow rsync to fail (Jeremy Rand) 050d0e4 Cirrus: Run "make clean" dry-run (Jeremy Rand) 1dda171 Cirrus: Make output cache a bit more robust (Jeremy Rand) 25ccedf Cirrus: Split off macosx-toolchain output cache (Jeremy Rand) aa27f98 Cirrus: Factor out compiler project into its own tasks (Jeremy Rand) bb777f9 Cirrus: Expose checkpoint cache to download task (Jeremy Rand) a5596fd Cirrus: clear checkpoint on download task (Jeremy Rand) 2a83d0a Patch macosx-toolchain for checkpoints (Jeremy Rand) e6713ec Cirrus: add ncp11 and ncprop279 to download task (Jeremy Rand) ef3d6a1 Make checkpoint cache upload/download more robust (Jeremy Rand) e18caa0 Fix interrupted cache dir for projects without a version (Jeremy Rand) 05fb0e2 Cirrus: fix empty checkpoint directory detection (Jeremy Rand) f0a34d6 Cirrus: Enable builds for macOS (Jeremy Rand) 3f89128 Cirrus: Add 2nd iteration for goeasyconfig (Jeremy Rand) e0b4802 Cirrus: cache checkpoints (Jeremy Rand) 2c78220 Cirrus: Don't fail a task if it saved a checkpoint (Jeremy Rand) 07b6abb Cirrus: Add checkpoint background script (Jeremy Rand) 1e533e5 Add echos to interrupt script (Jeremy Rand) 0796ce6 Cirrus: Apply checkpoint patch to tor-browser-build (Jeremy Rand) ea1b2ed Add tor-browser-build checkpoint patch (Jeremy Rand) 0c1c248 rbm.conf: Handle SIGINT case (Jeremy Rand) a72f41b Add container-interrupt script (Jeremy Rand) 180eeb4 Add container-pids tool (Jeremy Rand) ad526b5 Fix build script for release project (Jeremy Rand) 0113996 Cirrus: Add download task for macOS (Jeremy Rand) 9175e0d Cirrus: Print logs from rbm containers (Jeremy Rand) 1c02460 Add rbm.local.conf.example (Jeremy Rand) 4243f16 Cirrus: Don't try to cache release project (Jeremy Rand) eab6460 Cirrus: Try apt-get twice (Jeremy Rand) 4140483 Add libtapi project (Jeremy Rand) 7c8ab70 Add release project (Jeremy Rand) e296c02 Add clang-source and ninja (Jeremy Rand) 8a14198 Add plain-binaries project (Jeremy Rand) 3244cf7 Cirrus: Add Windows targets (Jeremy Rand) 05cc382 Cirrus: Add linux-i686 target (Jeremy Rand) 32b4c55 Bump tor-browser-build (Jeremy Rand) 4a4a50d Add Cirrus task for goeasyconfig (Jeremy Rand) d364bf8 Bump ncdns version (Jeremy Rand) cd60bab Bump tor-browser-build (Jeremy Rand) 4aaf6bf Bump rbm.conf (Jeremy Rand) 430dda3 Bump tor-browser-build (Jeremy Rand) d62b523 Cirrus: Namecoin doesn't have a Nightly channel (Jeremy Rand) 79c575a Add skeleton of Cirrus rbm builds (Jeremy Rand) Pull request description: This PR enables building our rbm projects on Cirrus CI. This code is intended to be submitted upstream to Tor Browser in the future, but for now Namecoin will incubate it until I'm convinced it's stable.
2 parents 08f75ee + 2a98623 commit 10a4948

23 files changed

+2995
-48
lines changed

.cirrus.yml

Lines changed: 2045 additions & 0 deletions
Large diffs are not rendered by default.

Makefile

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,61 +2,50 @@ rbm=./rbm/rbm
22

33
all: release
44

5-
# TODO: Replace the Makefile-based metatarget with an rbm-based one.
6-
release: submodule-update release-linux-x86_64 release-linux-i686 release-windows-x86_64 release-windows-i686 release-osx-x86_64
7-
#$(rbm) build ncdns --target release --target ncdns-all
5+
release: submodule-update
6+
$(rbm) build release --target release --target ncdns-all
87

98
release-android-armv7: submodule-update
10-
$(rbm) build ncdns --target release --target ncdns-android-armv7
9+
$(rbm) build release --target release --target ncdns-android-armv7
1110

1211
release-android-x86: submodule-update
13-
$(rbm) build ncdns --target release --target ncdns-android-x86
12+
$(rbm) build release --target release --target ncdns-android-x86
1413

1514
release-android-x86_64: submodule-update
16-
$(rbm) build ncdns --target release --target ncdns-android-x86_64
15+
$(rbm) build release --target release --target ncdns-android-x86_64
1716

1817
release-android-aarch64: submodule-update
19-
$(rbm) build ncdns --target release --target ncdns-android-aarch64
18+
$(rbm) build release --target release --target ncdns-android-aarch64
2019

2120
release-linux-x86_64: submodule-update
2221
$(rbm) build certdehydrate-dane-rest-api --target release --target ncdns-linux-x86_64
2322
$(rbm) build dnssec-hsts --target release --target ncdns-linux-x86_64
2423
$(rbm) build dnssec-hsts-native --target release --target ncdns-linux-x86_64
25-
$(rbm) build ncdns --target release --target ncdns-linux-x86_64
26-
$(rbm) build ncp11 --target release --target ncdns-linux-x86_64
27-
$(rbm) build ncprop279 --target release --target ncdns-linux-x86_64
24+
$(rbm) build release --target release --target ncdns-linux-x86_64
2825

2926
release-linux-i686: submodule-update
3027
$(rbm) build certdehydrate-dane-rest-api --target release --target ncdns-linux-i686
3128
$(rbm) build dnssec-hsts --target release --target ncdns-linux-i686
3229
$(rbm) build dnssec-hsts-native --target release --target ncdns-linux-i686
33-
$(rbm) build ncdns --target release --target ncdns-linux-i686
34-
$(rbm) build ncp11 --target release --target ncdns-linux-i686
35-
$(rbm) build ncprop279 --target release --target ncdns-linux-i686
30+
$(rbm) build release --target release --target ncdns-linux-i686
3631

3732
release-windows-i686: submodule-update
3833
$(rbm) build certdehydrate-dane-rest-api --target release --target ncdns-windows-i686
3934
$(rbm) build dnssec-hsts --target release --target ncdns-windows-i686
4035
$(rbm) build dnssec-hsts-native --target release --target ncdns-windows-i686
41-
$(rbm) build ncdns --target release --target ncdns-windows-i686
42-
$(rbm) build ncp11 --target release --target ncdns-windows-i686
43-
$(rbm) build ncprop279 --target release --target ncdns-windows-i686
36+
$(rbm) build release --target release --target ncdns-windows-i686
4437

4538
release-windows-x86_64: submodule-update
4639
$(rbm) build certdehydrate-dane-rest-api --target release --target ncdns-windows-x86_64
4740
$(rbm) build dnssec-hsts --target release --target ncdns-windows-x86_64
4841
$(rbm) build dnssec-hsts-native --target release --target ncdns-windows-x86_64
49-
$(rbm) build ncdns --target release --target ncdns-windows-x86_64
50-
$(rbm) build ncp11 --target release --target ncdns-windows-x86_64
51-
$(rbm) build ncprop279 --target release --target ncdns-windows-x86_64
42+
$(rbm) build release --target release --target ncdns-windows-x86_64
5243

5344
release-osx-x86_64: submodule-update
5445
$(rbm) build certdehydrate-dane-rest-api --target release --target ncdns-osx-x86_64
5546
$(rbm) build dnssec-hsts --target release --target ncdns-osx-x86_64
5647
$(rbm) build dnssec-hsts-native --target release --target ncdns-osx-x86_64
57-
$(rbm) build ncdns --target release --target ncdns-osx-x86_64
58-
$(rbm) build ncp11 --target release --target ncdns-osx-x86_64
59-
$(rbm) build ncprop279 --target release --target ncdns-osx-x86_64
48+
$(rbm) build release --target release --target ncdns-osx-x86_64
6049

6150
submodule-update:
6251
./setup-submodule-symlinks

projects/clang-source

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../tor-browser-build/projects/clang-source

projects/gosplicesign/config

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
version: '[% c("abbrev") %]'
2+
git_url: https://github.com/namecoin/splicesign.git
3+
git_hash: 38bb6fb3ec66c72ecb3a14e1e714768cc6e56ed7
4+
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
5+
6+
build: '[% c("projects/go/var/build_go_lib") %]'
7+
8+
var:
9+
container:
10+
use_container: 1
11+
go_lib: github.com/namecoin/splicesign
12+
13+
input_files:
14+
- project: container-image
15+
- name: go
16+
project: go

projects/libtapi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../tor-browser-build/projects/libtapi

projects/ncdns/config

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
version: 0.0.10.3
1+
version: '[% c("abbrev") %]'
22
git_url: https://github.com/namecoin/ncdns.git
3-
git_hash: 'ca0fe5552806a4275f38468c4d3fbcb2cba1cb79'
3+
git_hash: 'c947efb679dd55796e1b2ae405f6ce7d6a5d6b6e'
44
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
55

66
var:
@@ -34,8 +34,8 @@ var:
3434
enable_namecoin_tlsa: 1
3535
os_go_lib_deps: []
3636
optional_go_lib_deps:
37+
- gosplicesign
3738
- gotlsrestrictnss
38-
- gox509signaturesplice
3939
optional_go_lib_install:
4040
- github.com/namecoin/ncdns/certdehydrate
4141
- github.com/namecoin/ncdns/certinject
@@ -104,8 +104,8 @@ input_files:
104104
- name: gotlsrestrictnss
105105
project: gotlsrestrictnss
106106
enable: '[% c("var/enable_namecoin_tlsa") %]'
107-
- name: gox509signaturesplice
108-
project: gox509signaturesplice
107+
- name: gosplicesign
108+
project: gosplicesign
109109
enable: '[% c("var/enable_namecoin_tlsa") %]'
110110
- name: gomadns
111111
project: gomadns

projects/ninja

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../tor-browser-build/projects/ninja

projects/plain-binaries/build

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
[% c("var/set_default_env") -%]
3+
4+
distdir=/var/tmp/dist/[% project %]
5+
mkdir -p $distdir
6+
7+
tar -C /var/tmp/dist/[% project %] -xf [% c('input_files_by_name/ncdns') %]
8+
tar -C /var/tmp/dist/[% project %] -xf [% c('input_files_by_name/ncp11') %]
9+
tar -C /var/tmp/dist/[% project %] -xf [% c('input_files_by_name/ncprop279') %]
10+
11+
cd $distdir
12+
[% c('tar', {
13+
tar_src => [ '.' ],
14+
tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
15+
}) %]

projects/plain-binaries/config

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
version: '[% c("var/ncdns_version") %]'
2+
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
3+
4+
var:
5+
container:
6+
use_container: 1
7+
8+
input_files:
9+
- project: container-image
10+
- name: ncdns
11+
project: ncdns
12+
- name: ncp11
13+
project: ncp11
14+
- name: ncprop279
15+
project: ncprop279

projects/release/build

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/bin/sh
2+
[% c("var/set_default_env") -%]
3+
# reset HOME which was changed by var/set_default_env, for gpg
4+
[% IF ENV.HOME %]export HOME="[% ENV.HOME %]"[% END %]
5+
destdir="[% dest_dir _ '/' _ c("var/publish_dir") %]"
6+
mkdir -p "$destdir"
7+
[% IF c("var/ncdns-android-armv7") -%]
8+
mv [% c('input_files_by_name/android-armv7') %] "$destdir"/
9+
[% END -%]
10+
[% IF c("var/ncdns-android-x86") -%]
11+
mv [% c('input_files_by_name/android-x86') %] "$destdir"/
12+
[% END -%]
13+
[% IF c("var/ncdns-android-x86_64") -%]
14+
mv [% c('input_files_by_name/android-x86_64') %] "$destdir"/
15+
[% END -%]
16+
[% IF c("var/ncdns-android-aarch64") -%]
17+
mv [% c('input_files_by_name/android-aarch64') %] "$destdir"/
18+
[% END -%]
19+
[% IF c("var/ncdns-windows-i686") -%]
20+
mv [% c('input_files_by_name/windows-i686') %] "$destdir"/
21+
[% END -%]
22+
[% IF c("var/ncdns-windows-x86_64") -%]
23+
mv [% c('input_files_by_name/windows-x86_64') %] "$destdir"/
24+
[% END -%]
25+
[% IF c("var/ncdns-osx-x86_64") -%]
26+
mv [% c('input_files_by_name/osx-x86_64') %] "$destdir"/
27+
[% END -%]
28+
[% IF c("var/ncdns-linux-i686") -%]
29+
mv [% c('input_files_by_name/linux-i686') %] "$destdir"/
30+
[% END -%]
31+
[% IF c("var/ncdns-linux-x86_64") -%]
32+
mv [% c('input_files_by_name/linux-x86_64') %] "$destdir"/
33+
[% END -%]
34+
cd "$destdir"
35+
cat > .htaccess <<EOF
36+
RewriteEngine On
37+
RewriteRule ^sha256sums.txt$ sha256sums-unsigned-build.txt
38+
RewriteRule ^sha256sums.txt.asc$ sha256sums-unsigned-build.txt.asc
39+
RewriteRule ^sha256sums.incrementals.txt$ sha256sums-unsigned-build.incrementals.txt
40+
RewriteRule ^sha256sums.incrementals.txt.asc$ sha256sums-unsigned-build.incrementals.txt.asc
41+
EOF
42+
sha256sum $(ls -1 *.exe *.tar.xz *.dmg *.mar *.zip *.tar.gz *.apk *.json | grep -v '\.incremental\.mar$' | sort) > sha256sums-unsigned-build.txt
43+
[% IF c("var/sign_build") -%]
44+
gpg -abs [% c("var/sign_build_gpg_opts") %] sha256sums-unsigned-build.txt
45+
[% END -%]
46+
cat sha256sums-unsigned-build.txt

0 commit comments

Comments
 (0)