@@ -0,0 +1,70 @@
4+ pkgs = import ./nixpkgs {};
5+ mkFetchGithub = value: {
8+ emailresponsible = false;
14+ inherit (jobs) description;
18+ schedulingshares = 100;
22+ nixexprinput = "reflex";
23+ nixexprpath = "release.nix";
24+ inputs = jobs.inputs // {
27+ value = "https://github.com/NixOS/nixpkgs-channels nixos-unstable";
28+ emailresponsible = false;
32+ value = "{ android_sdk.accept_license = true; }";
33+ emailresponsible = false;
37+ branchJobset = branch: defaults {
38+ description = "reflex-${branch}";
41+ value = "https://github.com/reflex-frp/reflex ${branch}";
43+ emailresponsible = false;
47+ makePr = num: info: {
48+ name = "reflex-pr-${num}";
50+ description = "#${num}: ${info.title}";
53+ #NOTE: This should really use "pull/${num}/merge"; however, GitHub's
54+ #status checks only operate on PR heads. This creates a race
55+ #condition, which can currently only be solved by requiring PRs to be
56+ #up to date before they're merged. See
57+ #https://github.com/isaacs/github/issues/1002
58+ value = "https://github.com/reflex-frp/reflex pull/${num}/head";
60+ emailresponsible = false;
65+ processedPrs = mapAttrs' makePr (builtins.fromJSON (builtins.readFile prs));
66+ jobsetsAttrs = processedPrs //
67+ genAttrs ["develop"] branchJobset;
69+ jobsets = pkgs.writeText "spec.json" (builtins.toJSON jobsetsAttrs);