[Git][qa/jenkins.debian.net][master] amd64.reproduce.debian.net: turn osuosl4 into a rebuilderd-worker
Holger Levsen (@holger)
gitlab at salsa.debian.org
Tue Jan 28 23:20:40 GMT 2025
Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net
Commits:
e2ab2a60 by Holger Levsen at 2025-01-29T00:18:36+01:00
amd64.reproduce.debian.net: turn osuosl4 into a rebuilderd-worker
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
5 changed files:
- − hosts/osuosl4-amd64/etc/nginx/nginx.conf
- − hosts/osuosl4-amd64/opt/etc/rebuilderd-sync.conf
- hosts/osuosl4-amd64/opt/etc/rebuilderd-worker.conf
- − hosts/osuosl4-amd64/var/www/html/index.html
- update_jdn.sh
Changes:
=====================================
hosts/osuosl4-amd64/etc/nginx/nginx.conf deleted
=====================================
@@ -1,71 +0,0 @@
-user www-data;
-worker_processes auto;
-error_log /var/log/nginx/error.log;
-pid /run/nginx.pid;
-
-events {
- worker_connections 1024;
-}
-
-http {
- include mime.types;
- sendfile on;
- server_tokens off;
-
- server {
- server_name osuosl4-amd64.debian.net;
- index index.html;
- root /var/www/html;
-
- listen 443 ssl;
- ssl_certificate /var/lib/dehydrated/certs/osuosl4-amd64.debian.net/fullchain.pem;
- ssl_certificate_key /var/lib/dehydrated/certs/osuosl4-amd64.debian.net/privkey.pem;
-
- ssl_session_cache shared:le_nginx_SSL:10m;
- ssl_session_timeout 1440m;
- ssl_session_tickets off;
- ssl_protocols TLSv1.2 TLSv1.3;
- ssl_prefer_server_ciphers off;
- ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-C
- HACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
-
-
- location /.well-known/acme-challenge/ {
- alias /var/lib/dehydrated/acme-challenges/;
- disable_symlinks off;
- autoindex off;
- }
-
- location / {
- # First attempt to serve request as file, then
- # as directory, then fall back to displaying a 404.
- try_files $uri $uri/ =404;
- }
-
-
- location /api/ {
- proxy_pass http://127.0.0.1:8484;
- }
-
- }
-
-
- server {
- listen 80;
- server_name osuosl4-amd64.debian.net;
-
- location /.well-known/acme-challenge/ {
- alias /var/lib/dehydrated/acme-challenges/;
- disable_symlinks off;
- autoindex off;
- }
-
- location / {
- return 301 https://$host$request_uri;
- }
-
- return 404;
- }
-
-
-}
=====================================
hosts/osuosl4-amd64/opt/etc/rebuilderd-sync.conf deleted
=====================================
@@ -1,53 +0,0 @@
-## rebuild all of archlinux core
-[profile."archlinux-core"]
-distro = "archlinux"
-suite = "core"
-architectures = ["x86_64"]
-source = "https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch"
-
-## rebuild community packages of specific maintainers, or allow-list packages by name.
-## If no filter is set, all packages are imported, if both filters are set the package only
-## has to match one of them to be included.
-#[profile."archlinux-community"]
-#distro = "archlinux"
-#suite = "community"
-#architectures = ["x86_64"]
-#source = "https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch"
-#maintainers = ["somebody"]
-#pkgs = ["some-pkg", "python-*"]
-#excludes = ["tensorflow*"]
-
-[profile."debian-main"]
-distro = "debian"
-suite = "main"
-architectures = ["amd64"]
-#releases = ["buster", "sid"]
-releases = ["trixie"]
-source = "http://deb.debian.org/debian"
-
-[profile."debian-anarchism"]
-distro = "debian"
-suite = "main"
-architectures = ["amd64"]
-releases = ["sid"]
-pkgs = ["anarchism"]
-source = "http://deb.debian.org/debian"
-
-# a set of packages to test certain edge-cases
-[profile."debian-misc"]
-distro = "debian"
-suite = "main"
-architectures = ["amd64"]
-releases = ["sid"]
-pkgs = ["anarchism", "binutils-arm-none-eabi", "libglib2.0-bin", "libglib2.0-dev", "sniffglue", "librust-sniffglue-dev", "dfrs", "librust-dfrs-dev"]
-source = "http://deb.debian.org/debian"
-
-[profile."tails"]
-distro = "tails"
-suite = "stable"
-source = "https://mirrors.wikimedia.org/tails/"
-
-[profile."tails-alpha"]
-distro = "tails"
-suite = "alpha"
-source = "https://mirrors.wikimedia.org/tails/"
=====================================
hosts/osuosl4-amd64/opt/etc/rebuilderd-worker.conf
=====================================
@@ -1,7 +1,7 @@
## The rebuilderd to connect to
-endpoint = "http://127.0.0.1:8484"
+endpoint = "https://amd64.reproduce.debian.net"
## The server would either allowlist our key or require a signup secret
-#signup_secret = "your_signup_key"
+signup_secret = "INSECURE"
[build]
#timeout = 86400 # 24 hours
=====================================
hosts/osuosl4-amd64/var/www/html/index.html deleted
=====================================
@@ -1,201 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>
- osuosl4-amd64.debian.net - trixie/amd64
- </title>
- <style>
- body {
- font-family: sans-serif;
- }
- h1 {
- font-size: 24px;
- }
-
- #search-results {
- margin: 20px 0;
- }
-
- pre {
- margin: 0;
- }
-
- #search-results pre {
- margin: 12px 0;
- }
-
- .status {
- font-weight: bold;
- }
-
- .good {
- color: green;
- }
-
- .bad {
- color: red;
- }
-
- .unknown {
- color: #957fff;
- }
-
- footer {
- font-size: small;
- margin: 30px 0;
- }
- </style>
- <script>
- document.addEventListener('DOMContentLoaded', function() {
- // package search
- function spanWith(text) {
- let s = document.createElement('span');
- s.textContent = text;
- return s;
- }
-
- function linkTo(href, text) {
- let a = document.createElement('a');
- a.href = href;
- a.textContent = text;
- return a;
- }
-
- function searchPkgs(query) {
- let div = document.getElementById('search-results');
- let url = '/api/v0/pkgs/list?' + new URLSearchParams({
- name: query,
- distro: 'debian',
- });
- fetch(url)
- .then(response => response.json())
- .then(data => {
- // clear children
- div.innerHTML = '';
-
- data.map(pkg => {
- let build_id = pkg.build_id;
- let r = document.createElement('pre');
-
- r.appendChild(spanWith('['));
- let status = pkg['status'];
- let statusSpan = spanWith(status);
- statusSpan.className += ' status';
- if (status == 'GOOD') {
- statusSpan.className += ' good';
- } else if (status == 'BAD') {
- statusSpan.className += ' bad';
- } else {
- statusSpan.className += ' unknown';
- }
- r.appendChild(statusSpan);
- r.appendChild(spanWith(`] ${pkg['name']} ${pkg['version']}\t\t`));
-
- if (build_id) {
- r.appendChild(spanWith(' ['));
- r.appendChild(linkTo(`/api/v0/builds/${build_id}/log`, 'log'));
- r.appendChild(spanWith(']'));
- }
-
- if (pkg.has_attestation) {
- r.appendChild(spanWith(' ['));
- r.appendChild(linkTo(`/api/v0/builds/${build_id}/attestation`, 'attestation'));
- r.appendChild(spanWith(']'));
- }
-
- if (pkg.has_diffoscope) {
- r.appendChild(spanWith(' ['));
- r.appendChild(linkTo(`/api/v0/builds/${build_id}/diffoscope`, 'diffoscope'));
- r.appendChild(spanWith(']'));
- }
-
- div.appendChild(r);
- });
- });
- }
-
- if (location.hash) {
- searchPkgs(location.hash.substr(1));
- }
-
- document.getElementById('search').addEventListener('submit', function(e) {
- e.preventDefault();
- let query = document.getElementById('search-query').value;
- location.href = `#${query}`;
- searchPkgs(query);
- });
-
- // display stats
- function updateStats(data) {
- let div = document.getElementById('stats');
- // clear children
- div.innerHTML = '';
- // add rows
- data.map(row => {
- let r = document.createElement('pre');
- let key = row[0] + ': ';
- r.textContent = key.padEnd(20) + row[1];
- div.appendChild(r);
- });
- }
-
- function fetchStats() {
- fetch('/api/v0/dashboard')
- .then(response => response.json())
- .then(data => {
- let div = document.getElementById('stats');
- let main = data['suites']['main'];
-
- let good = main['good'];
- let bad = main['bad'];
- let unknown = main['unknown'];
-
- updateStats([
- ['good', good],
- ['bad', bad],
- ['unknown', unknown],
- ['build progress', (100 / (good + unknown + bad) * (good + bad)).toFixed(2) + '%'],
- ['repro', (100 / (good + bad) * good).toFixed(2) + '%'],
- ]);
- });
- }
-
- setInterval(fetchStats, 60 * 1000);
- fetchStats();
- });
- </script>
- </head>
- <body>
- <h1>
- osuosl4-amd64.debian.net
- </h1>
- <h3>
- trixie/amd64
- </h3>
-
- <div id="stats">Loading stats...</div>
-
- <div>
- <h3>Search</h3>
- <form id="search">
- <input type="text" id="search-query" placeholder="2ping">
- <input type="submit" value="Search">
- </form>
- </div>
- <div id="search-results">
- </div>
-
- <footer>
- pew pew, <a href="https://github.com/kpcyrd/rebuilderd">rebuilderd</a> using <a href="https://tracker.debian.org/pkg/devscripts">debrebuild</a> (with <a href="https://tracker.debian.org/pkg/sbuild">sbuild+unshare</a> as backend) to reproduce what Debian distributes via <code><a href="https://deb.debian.org/debian/dists/">deb.debian.org</a></code>. ♥️
- </br>
- <!-- a href="/stats/">Statistics about BAD packages.</a> -->
- </br>
- <a href="https://reproduce.debian.net/">https://reproduce.debian.net/</a> has more information about this setup.
- </br>
- <small>
- This setup is in it's infancy. Don't consider any URLs as stable here, and more to the point, especially don't take any numbers here seriously, unless...!?!
- </small>
- </footer>
- </body>
-</html>
=====================================
update_jdn.sh
=====================================
@@ -551,7 +551,7 @@ if [ -f /etc/debian_version ] ; then
esac
# packages needed for rebuilderd-worker for https://reproduce.debian.net
case $HOSTNAME in
- infom07*|infom08*|codethink01*|codethink02*) DEBS="$DEBS
+ infom07*|infom08*|codethink01*|codethink02*|osuosl4*) DEBS="$DEBS
diffoscope
python3-rpy2
rebuilderd-worker
@@ -562,7 +562,7 @@ if [ -f /etc/debian_version ] ; then
esac
# packages needed for rebuilderd on https://reproduce.debian.net
case $HOSTNAME in
- osuosl4*|osuosl5*) DEBS="$DEBS
+ osuosl5*) DEBS="$DEBS
nginx-full dehydrated
diffoscope
python3-rpy2
@@ -739,7 +739,7 @@ if [ "$HOSTNAME" = "jenkins" ] || [ "$HOSTNAME" = "ionos7-amd64" ] || [ "$HOSTNA
fi
# set secret for remote rebuilderd-workers
case $HOSTNAME in
- osuosl5*) for a in i386 arm64 armhf riscv64 ; do
+ osuosl5*) for a in amd64 arm64 armhf i386 riscv64 ; do
SIGNUPSECRET="$(sudo cat /opt/etc/rebuilderd-${a}.secret)"
f=rebuilderd-${a}.conf
if [ -f /opt/etc/$f ] ; then
@@ -749,7 +749,7 @@ case $HOSTNAME in
fi
done
;;
- infom07*|infom08*|codethink01*|codethink02*)
+ infom07*|infom08*|codethink01*|codethink02*|osuosl4*)
SIGNUPSECRET="$(sudo cat /opt/etc/rebuilderd.secret)"
f=rebuilderd-worker.conf
if [ -f /opt/etc/$f ] ; then
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/e2ab2a608cd4bc82f0e28899be2839075bea415a
--
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/e2ab2a608cd4bc82f0e28899be2839075bea415a
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/qa-jenkins-scm/attachments/20250128/62e51099/attachment-0001.htm>
More information about the Qa-jenkins-scm
mailing list