about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2022-09-03 02:44:02 +0300
committerAzat Bahawi <azat@bahawi.net>2022-09-03 02:44:02 +0300
commit1e54121c6415ce22e853ed0c8b6cf05400cd1c61 (patch)
treed39cd85ab88bf0d903d87b68d1475804211a7745
parentb0e9b6d3014be35d010e42659d7cad95a8f77dd1 (diff)
boulder: 2022-07-11 -> 2022-08-29
-rw-r--r--pkgs/tools/admin/boulder/default.nix59
-rw-r--r--pkgs/tools/admin/boulder/no-build-id-test.patch15
2 files changed, 62 insertions, 12 deletions
diff --git a/pkgs/tools/admin/boulder/default.nix b/pkgs/tools/admin/boulder/default.nix
index b22e3559a8c5f..7629cafec1872 100644
--- a/pkgs/tools/admin/boulder/default.nix
+++ b/pkgs/tools/admin/boulder/default.nix
@@ -1,30 +1,33 @@
 { lib
 , fetchFromGitHub
 , buildGoModule
-, gitUpdater
+, testers
+, boulder
 }:
 
 buildGoModule rec {
   pname = "boulder";
-  version = "2022-07-11";
+  version = "2022-08-29";
 
   src = fetchFromGitHub {
     owner = "letsencrypt";
     repo = "boulder";
     rev = "release-${version}";
-    sha256 = "sha256-fDKB7q2e+qdHt+t/BQWX7LkpyiZQtZSHp/x5uv0/c7c=";
     leaveDotGit = true;
     postFetch = ''
       cd $out
-      git rev-parse HEAD > $out/COMMIT
+      git rev-parse --short=8 HEAD 2>/dev/null >$out/COMMIT
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
+    hash = "sha256-DiO7sOcTd8aOld4Pqd0D7yTPrRh/Mhg25I63Vb/gHhM=";
   };
 
-  vendorSha256 = null;
+  vendorHash = null;
 
   subPackages = [ "cmd/boulder" ];
 
+  patches = [ ./no-build-id-test.patch ];
+
   ldflags = [
     "-s"
     "-w"
@@ -32,22 +35,54 @@ buildGoModule rec {
   ];
 
   preBuild = ''
-    ldflags+=" -X \"github.com/letsencrypt/boulder/core.BuildID=$(cat COMMIT)\""
+    ldflags+=" -X \"github.com/letsencrypt/boulder/core.BuildID=${src.rev} +$(cat COMMIT)\""
     ldflags+=" -X \"github.com/letsencrypt/boulder/core.BuildTime=$(date -u -d @0)\""
   '';
 
+  preCheck = ''
+    # Test all targets.
+    unset subPackages
+
+    # Disable tests that require additional services.
+    rm -rf \
+      cmd/admin-revoker/main_test.go \
+      cmd/bad-key-revoker/main_test.go \
+      cmd/cert-checker/main_test.go \
+      cmd/contact-auditor/main_test.go \
+      cmd/expiration-mailer/main_test.go \
+      cmd/expiration-mailer/send_test.go \
+      cmd/id-exporter/main_test.go \
+      cmd/rocsp-tool/client_test.go \
+      db/map_test.go \
+      db/multi_test.go \
+      db/rollback_test.go \
+      log/log_test.go \
+      ocsp/updater/updater_test.go \
+      ra/ra_test.go \
+      rocsp/rocsp_test.go \
+      sa/database_test.go \
+      sa/model_test.go \
+      sa/precertificates_test.go \
+      sa/rate_limits_test.go \
+      sa/sa_test.go \
+      test/load-generator/acme/directory_test.go \
+      va/caa_test.go \
+      va/dns_test.go \
+      va/http_test.go \
+      va/tlsalpn_test.go \
+      va/va_test.go
+  '';
+
   postInstall = ''
     for i in $($out/bin/boulder --list); do
       ln -s $out/bin/boulder $out/bin/$i
     done
   '';
 
-  # There are no tests for cmd/boulder.
-  doCheck = false;
-
-  passthru.updateScript = gitUpdater {
-    inherit pname version;
-    rev-prefix = "release-";
+  passthru.tests.version = testers.testVersion {
+    package = boulder;
+    command = "boulder --version";
+    inherit version;
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/admin/boulder/no-build-id-test.patch b/pkgs/tools/admin/boulder/no-build-id-test.patch
new file mode 100644
index 0000000000000..661ed2b4a5f2b
--- /dev/null
+++ b/pkgs/tools/admin/boulder/no-build-id-test.patch
@@ -0,0 +1,15 @@
+diff --git i/core/util_test.go w/core/util_test.go
+index 8979edff..cfae13a4 100644
+--- i/core/util_test.go
++++ w/core/util_test.go
+@@ -56,10 +56,6 @@ func TestSerialUtils(t *testing.T) {
+ 	fmt.Println(badSerial)
+ }
+ 
+-func TestBuildID(t *testing.T) {
+-	test.AssertEquals(t, "Unspecified", GetBuildID())
+-}
+-
+ const JWK1JSON = `{
+   "kty": "RSA",
+   "n": "vuc785P8lBj3fUxyZchF_uZw6WtbxcorqgTyq-qapF5lrO1U82Tp93rpXlmctj6fyFHBVVB5aXnUHJ7LZeVPod7Wnfl8p5OyhlHQHC8BnzdzCqCMKmWZNX5DtETDId0qzU7dPzh0LP0idt5buU7L9QNaabChw3nnaL47iu_1Di5Wp264p2TwACeedv2hfRDjDlJmaQXuS8Rtv9GnRWyC9JBu7XmGvGDziumnJH7Hyzh3VNu-kSPQD3vuAFgMZS6uUzOztCkT0fpOalZI6hqxtWLvXUMj-crXrn-Maavz8qRhpAyp5kcYk3jiHGgQIi7QSK2JIdRJ8APyX9HlmTN5AQ",