treewide: more github runners + naive concurrency

This commit is contained in:
Nikodem Rabuliński 2024-02-10 23:36:06 +01:00
parent 2954a3f535
commit d36e9ba0f9
18 changed files with 101 additions and 63 deletions

View file

@ -27,5 +27,12 @@
}; };
common.hercules.enable = true; common.hercules.enable = true;
common.github-runner = {
enable = true;
runners.settei = {
url = "https://github.com/nrabulinski/settei";
instances = 2;
};
};
}; };
} }

View file

@ -14,5 +14,9 @@
environment.systemPackages = with pkgs; [teams]; environment.systemPackages = with pkgs; [teams];
common.hercules.enable = true; common.hercules.enable = true;
common.github-runner = {
enable = true;
runners.settei.url = "https://github.com/nrabulinski/settei";
};
}; };
} }

View file

@ -38,5 +38,12 @@
users.users.${username}.hashedPasswordFile = config.age.secrets.niko-pass.path; users.users.${username}.hashedPasswordFile = config.age.secrets.niko-pass.path;
common.hercules.enable = true; common.hercules.enable = true;
common.github-runner = {
enable = true;
runners.settei = {
url = "https://github.com/nrabulinski/settei";
instances = 4;
};
};
}; };
} }

View file

@ -22,7 +22,10 @@
services.hercules-ci-agent.settings.concurrentTasks = 6; services.hercules-ci-agent.settings.concurrentTasks = 6;
common.github-runner = { common.github-runner = {
enable = true; enable = true;
runners.settei.url = "https://github.com/nrabulinski/settei"; runners.settei = {
url = "https://github.com/nrabulinski/settei";
instances = 6;
};
}; };
services.nginx = { services.nginx = {

View file

@ -17,19 +17,28 @@
}; };
linuxConfig = lib.optionalAttrs isLinux { linuxConfig = lib.optionalAttrs isLinux {
services.github-runners = services.github-runners = lib.pipe cfg.runners [
lib.mapAttrs (name: cfg: { (lib.mapAttrsToList (
name: cfg:
lib.genList (i:
lib.nameValuePair
"${name}-${toString i}"
{
enable = true; enable = true;
tokenFile = config.age.secrets.github-token.path; tokenFile = config.age.secrets.github-token.path;
inherit (cfg) name url; inherit (cfg) url;
ephemeral = true; name = "${cfg.name}-${toString i}";
user = github-runner-user; user = github-runner-user;
serviceOverrides = { serviceOverrides = {
DynamicUser = false; DynamicUser = false;
}; };
extraLabels = ["nix"]; extraLabels = ["nix"];
}) })
cfg.runners; cfg.instances
))
lib.flatten
lib.listToAttrs
];
users = { users = {
users.${github-runner-user} = { users.${github-runner-user} = {
@ -59,6 +68,10 @@ in {
url = mkOption { url = mkOption {
type = types.str; type = types.str;
}; };
instances = mkOption {
type = types.int;
default = 1;
};
}; };
})); }));
}; };

View file

@ -1,7 +1,7 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 84j9mw mwmdWJGJ/XJNFdlu3rfdwPZwArc4k0jCyg0IOt7Woms -> ssh-ed25519 84j9mw tfUR84yYxwWvNBmxvhsZHGtaIruTij97ZI50cJSL/Qg
mR9gZHcrQpfIBahm1F4Mi8peBjMqRtcqvKiNat15mE0 O4l3r8XdWzLZuxp5BolTS7XOfbDvwj1Ybbl1TPSrtSY
-> ssh-ed25519 GKhvwg 56FsOXlgqk60VEJCbw6MxVm7rdNLTHhZLec+B3uiXyI -> ssh-ed25519 GKhvwg DItnbkoSp8LfS6MZsKZ8njOnbtiqYufdEHr+dbb8i0M
Tr5+EuPuCOUEH3+snhq/Pt7RRzT0N5GTi8+kBL5W+JE NYOrpEIWujBGLdBWyHJmtTTdvlhVlpDaI1r3RM8K9zg
--- GsG8dZ4Pm4fmdeTAB3FK9hpeuoLK3vBDgNZtGCWULj8 --- Lyzm1dKlnSIdBYB2tQuDEbGy9Gf/KlHfOAPw3NT15Xs
M‡å-fë5Þ7Il³üÌÝò ÔóºµäzŸì×s<C397>¦ÌÉõæ|Ä uˆÂÌKqy_c<>ÌPÁ¶zy2eë0êbœ 4ºäSðƧ2ëgb^ˆ=uüZdÐ<64>) ‰ïšá69ùü…@#JQËçÂ#;)?Ø äêÀÿ¾8ý/0ç¹8ö¸ÆêZ û{÷ጶSìä°[·N¥…<C2A5>{rJb©¦—¿S~™¾<12>zk˜O'4„

View file

@ -1,7 +1,7 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 ioPMHA 4EqxwfHCz9VJQPMfULLbAr9eaesivV9BE1ERyrH91xY -> ssh-ed25519 ioPMHA ataMxkoppMnkRaCScXAtEohUU3WE8fEYxBeaZYOQoXE
M2l3meRzStyjlG9enK3ObCeglXP6cOfiYzrqcw0in2U WcBLxLGjV1uawwi5C70+XMEo7Z+UfWspPbWW+mQDqhc
-> ssh-ed25519 GKhvwg 2CjaggQgGYNEfP/IBME/T0cueM5KY94nK5VbbXw4Tj8 -> ssh-ed25519 GKhvwg 01u8Pl4uXUryHlKVkgywl0glUBEtVjdNxXCPexoqvFE
Mi0Sig6qtnBtKVEiw7uBQqyLdqxw6OuJzAbu7USrR40 mVlJz6NKCto+Re1Ps64+yg1Ztf6sWWPX91TKyerIXa0
--- OfhXRbqvSTxx9Sv/Ke7IHMSZrkVF/dmCqabmt5fbhP8 --- b/8Zb9zbaU7zLm0OXMsWrIx0Iahq/oKkxcQLhkDsutA
ëHŠržm-iB̳ޥ.Ú{2»]PÔ¾d!eæô¥² m1ø{dŒÈ Å"¦¦>¤Yk˜lR¢iëó}="‡-uì:•†¶8":¾Ï(DíøâWƒ†µ½þªp

View file

@ -1,8 +1,8 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 84j9mw L1Lee3U0LWtn6zx0M5pA+VpiRtx903AYyVPmeaciumA -> ssh-ed25519 84j9mw v0YsgTbyCuVI0uAXTeCR6XSORbwJxVpegx+adh15aw8
dfEtGwEhEtBGnltkRFT2KMUl/tC1b8bYCLKtut0S75g HvNFhJmh8MEybRtG92IlsQZXYeDyvh0vsiu0f08CXy0
-> ssh-ed25519 GKhvwg Ybp7LvImp228BXqj9IfahYkdCZdO5NgPGol+GacnfQM -> ssh-ed25519 GKhvwg MrFFxPlJ7JBvUhl2QByLvRIigGmBT2J/123O90srXx0
hSU9nhgpeOgRDQHDpO9mFPdu52R6y2/lfYCI01/3ypA f8dGUqoJbQjH1epgvTte161wRn/sas6AayOvqgEcfc0
--- YnhUF2kfu+Va5YyMjZcySvd4dSbvz5CMIAkbX+2iUQ4 --- s1v3ZB9lVmLob/xQ48C/xa3DnXZhoJr0zVk/X5VfdJU
'ÁÝQìþß ~ ʲ"#Ñ…~,ýT¹6!™G~×Ö7Sô}Èê¿ñ˜-¹E +Ì\ Рέ+ÄëO <4F>PUâºuÎM“<4D><E2809C>´ãÛxÒ¯æVG')´Ë´ÎnS¬.>•4Ù<34>Éô±]<5D>YÔ:pPT4UBò€œ?J“<<3C>&dZS—<53>™2_<32>(ÿÒå
)¶˜,2Žf¨. ¼|M9 zs'³ žJ"'6_º[.rqÝ<71>8¤Ý|yü>æ]c"º„wÍH<C38D> ÙöÏ›E´ùËî„Îc®†NiÓýž×þ—ú7ã 0 <>ñ IÖâ«Mšû?ޝB³éI‰VP:œ•¼ó%O<>ýr¾[â&0½Aˆ©?[J ò<AƒŸÐF»CfãfÀü[ÑàHj+:³Œwö¼E

View file

@ -1,7 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 IFuY+w UcPjVl8nIr6sgfsxOrYmgi46rAsfdCRy9iTGkQAOaSE -> ssh-ed25519 IFuY+w O/FQauaFhUwbinIrTM7/cRbolpvUWXNKJBxrMoUVJF0
vKislIP2yoQahKTpAE0d8P3ZdyyCHThy4u6vshtOQAI GKPP4rmiC2YQs/ythlp+UwPEchVg5PMQ4zr1Kapukmw
-> ssh-ed25519 GKhvwg 2ZS+VXjZFBj3n9RoJD8Ynn6Rur6Abs5loOtebFIang0 -> ssh-ed25519 84j9mw 4R3KhL7n/7/bLOwipVLST25sjANznNtdPCOUDS8Ztmg
/47vHgkd8KPnM1sPWjqFDSdTk3LiUQNmO9X0HodHjS8 JjrQ/BWgrBly4SyEskM0I4Q1tnyVytOA6TmwFAKilr8
--- MBuCzebM317ShOJsMaGMdUR83avwx/Ig84l1q2Fv6Ng -> ssh-ed25519 GKhvwg Fi1Ji7ohIublP7bzYWhHZeWVg6dB9SJClTZx9iGIxk4
Îå0“ÅË€©C¥;¨d-ŽûÒ”1 À"%?<02>WèÝÞb®Q%ޤkàœWU3}º‚-µyM,ƒ‡_¡â\ QU§oPmJ FH8JIjI+oPJTcQARh50PhegayJw6Bm71QglpB40Y5VE
--- Vzb2XFEK08ENArloqCy6gAU4laVkKo+0kKAJ8d/uzgo
 IÊvVX´O+ê,nØn3\{'SØ9ÆÏ/ε>I;q£Ü¸ÛÈðè‡dW9Tˆnðl *ì=èå†R)1Cç©èˆýÃRì

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,7 +1,7 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 ioPMHA BCoFRArzhiWzaXVtF1qkiPxL+M5WuLsrUqH9T8hh7D0 -> ssh-ed25519 ioPMHA kdyCpSDZA4wsaPClpGwicXN3bLytnBT2RmRD14tjdDs
3be6hdQ8hjRLCuN91pB8X/WhvwfpvPifsICFOxAUxlY vRNd1HuCBYTD2Co9G+Edb3T5ecTLzjTBWWn/J26y8gA
-> ssh-ed25519 GKhvwg 0L+oViZLW+pKKDmP2H4uv1PDAE423vqAHpPltN+euhU -> ssh-ed25519 GKhvwg 5MZxra/oc5lMPmx7Y2mPJ0axSQrZm+Vc9ep8vWu3Mm4
zDVev9k/LRuqUWvSjFxCE0H+yt8xniV/Au0Z+49zY9M vGC56lhi+uwLBx4Khne+YoHkNi6pH6srRFDyNKqr/8s
--- 1UkToOyXP7ljQ+KTcSfNydUd8J1rm3QeyabusJiZqAM --- NfSPAUies7aRBOwFmVUbcBzkPxfTnonEqP/Iot6Mc/M
J)2<><32><EFBFBD>a ^6<><36><EFBFBD><01><EFBFBD>AJ<41><13><12>͜5<CD9C><35><EFBFBD>1i<31> <09><><EFBFBD>ғ<EFBFBD>c<EFBFBD><63><EFBFBD><EFBFBD>Z<EFBFBD><5A>P<L<>V<EFBFBD><0F>l<EFBFBD><6C><15>3<05>0\<5C>2\/oc<><63><18>rdl<64><6C><EFBFBD>#<23>͌5<CD8C>=<3D>,'9<><39> {¾^iúl4m*Î(ïý¦ÂO¸×Œ‡î‰r¡^êún<<3C>j47Ëh[Kd¢,„#Ö³ï.æ^s½þҽȀbà˜þüjÄw¸[LöQÉõ''Oè^'­Òc?~DMZóh'q«V

View file

@ -1,7 +1,7 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 84j9mw QEsw7uvxEdZ/2Bab/bGd9/Ap5psN7p5RudFZJFZQ3kM -> ssh-ed25519 84j9mw Ao9xAby1hDTHybu6IkkpSYj2+fIrp7RyPtD4UhDcllU
UZCthc92ptbwxxe8nFnhvdedkpt6Y/nJf8GI0qdQRcc JagJ33GdoNif6fv4x679IkFUVKIB5s+q8p/86pYWG/k
-> ssh-ed25519 GKhvwg BIAW4Jad+tcsVXR6ibhWvvuvXCNQ1seZR1HGym11Mz8 -> ssh-ed25519 GKhvwg wWBJKWZBeHz19y6/YHooVoeNtyS45+ff3zwZ+uTLTBo
9NHhqlljWYoH8t1s4vvgzUjfL5lxVPVEY/pDiDP9h1I NjgD+eZzt6lYZlN+TgpYQxTJ+JhjHY56vktCoLpvGLE
--- dyefPpAwwsQ4xLsUBr3L5VYBhhdVKOYaCrabI042cCk --- ebDqhUoYKbGEfLWElIgwD8nPei/6dWKTRyLuT3AgG0w
_ÁèŽóofVžÅ!Ë€v^Çå>'˜`šëqW'C§êEØ{jÅñ³7ªñ_ç)|t6{»}ÑpÐûœÃÒ»úÌ#ްŸG—óS·ÑîØíÉ>QÏ£"C •OœÇlkýnéÒÏLЗv<E28094>Éáiö%(žÛâ3ð2µ6d¾óWN$i)ãÉzz^cÉè :@‰˜l|VÑßkdÅâ¿Æ[¾X_¯)üh?ôÝUaC}

View file

@ -57,6 +57,7 @@ in {
]; ];
"github-token.age".publicKeys = [ "github-token.age".publicKeys = [
keys.system.ude keys.system.ude
keys.system.kazuki
keys.other.bootstrap keys.other.bootstrap
]; ];
} }

View file

@ -1,7 +1,7 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 84j9mw Ne+o6QDh4zL7sYize81+CsErRJqFPVPvqgKof1NaGXE -> ssh-ed25519 84j9mw flAGDRU7ONCpOxgQvudxjl2H8U4LB3ATxOF6/Q04QnA
cxgH4T1TL1QNebEpJjbhtNzsruScnfiJmooyu1H1hqA KTudGd6ePDARxgM3pxNbcFvmHKOsrr1+5pMhoBOOn8c
-> ssh-ed25519 GKhvwg D7vjyGI59njgGefZ0siA84egRuXDBJKHMykAfejvbiE -> ssh-ed25519 GKhvwg xyDU0Bfmt/ib35pF8PcZAi4mBwbsMlyacUqNnBlAyG0
F6g9/HZYUGvH8fwXvn0jUbBpouloFbyD6cSYyj6efcY fjyIGDjOaLgb1qzejoxDEUZiMGuXwRKc1p9Az0qy20I
--- 6wPtAFTNJYMqW26PpAHohjNjryx/XL7UIo7+91CFjZY --- rLpJ72c+QSvu+8LMOJp1XRrtlNmH6xU8ObnvilPzl4I
ÖO··ô>ŕeNęŤ×2ŹË—]˘C4»lÖ#ómoź ’›â‚ő `™%0X X)C:ó[č[Ť<>ü ŠůĎʵč+äČ*tčm 0¶=v´ž2äU篱×RÒuÞž<C39E><C5BE> ¬¸.¸,ö&Êæä“ßþÎÄ9![A`$Ɖ ݰq‡Ö{ïD]ÈW!ÓBk

View file

@ -1,7 +1,8 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 84j9mw eje98xFWmQ76FVbbuu1fIJSN26sxalB3hQeCZe86tGw -> ssh-ed25519 84j9mw hvZRPX7KPlenU4WVrYxW9LrmjGuJyUv3L8Vf07QvIDA
2hIPVSC1oLwY/AtEhKa0qUenw8nBBOY5uC74B0O4ohs 1r+hIxsH22OlbqmPnhBO+8IYAgF+MyzYIslzfyKYkHQ
-> ssh-ed25519 GKhvwg e4D3PZQrTW3DHV9YLD9d9wvirIhCNJCBVqI/BKC6CWA -> ssh-ed25519 GKhvwg WvQ3d2G+R3vLmBmz5P7zEP/0/xNgmg09sMEzbVGy11c
jpQnjh4yhLJdjeBcjlyP+aRZfSI++7j8PxlIwbQ00Qw joIgz1+t5czRm3Mz7H+aggPJCU3EsfLunRc3T0CTZOM
--- eU8hHBZ0+PiVjH1SetgWVronyegyAZclWnIdxHmeO8Q --- 8Vd7XSFbf48XVttovVQcS4eVwn3tf6eTEUN5HHn+r14
í)b³#pBJxÖ<78>¼Í%¶—<C2B6>ù…<txsdJŽƒ‡º`jÞ_FÅd€n2gåMO Ožó«\?~6ç>êa«§q(ÿlP¨«{ƒ+j¼¿>é#Ó<13> Î-›ã£P³¨pÜ>9RS:d³Sô7ÆFÎ_D‰-&ÁÀÐ<C380>Yz¥W•5dâ¹Ü0ãpd$÷äióe:
š<EFBFBD>üu:£®2N]Þ#W*sÜø)Æ{cy ûYt.