Buildroot:IT Infrastructure

From eLinux.org
Revision as of 02:57, 13 August 2020 by ThomasPetazzoni (talk | contribs) (Gitlab project)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Domain names

  • buildroot.org
    • Sponsored by Earl Levine, Owner: Peter Korsgaard
  • buildroot.net
    • Owner: Peter Korsgaard

Web site

  • Source in the main Buildroot Git repository, in docs/website/
  • Automatically pulled on the server by ???
  • Hosted by osuosl.org, VM shared with busybox/uclibc

Autobuilder

  • http://autobuild.buildroot.org points to a machine hosted by User:ThomasPetazzoni, a dedicated server he is renting
  • This infrastructure tests random configurations
  • The site runs the code at https://git.buildroot.net/buildroot-test, in the web/ subdirectory. It is made of very ugly PHP code, backed by a MySQL database.
  • The autobuild.buildroot.org machine doesn't do any builds itself, it only collects build results that are HTTP POSTed by other machines, called build slaves
  • The build slaves run the Python script at https://git.buildroot.net/buildroot-test/tree/scripts/autobuild-run
  • Currently used build slaves:
    • Free Electrons build server, managed by ThomasPetazzoni
    • gcc10, gcc20 from the GCC compile farm, managed by Peter Korsgaard
    • ...
  • People having account to HTTP POST build results:
    • tpetazzoni
    • pkorsgaard
    • rbraun
    • nroach
    • mweber
    • mhadjinlian
    • jboibessot
    • vriera
    • gustavo
    • ymorin
    • ahentschel

Mailing list

Bug tracker

  • https://bugs.buildroot.net/
  • Bugzilla, hosted on buildroot/busybox/uclibc VM (osuosl.org)
  • Maintained by Mike Frysinger
  • Instance shared with busybox/uclibc

Git repository

  • The main Git repository is at https://git.buildroot.net/buildroot, hosted by osuosl.org
    • E-mail notification messages are sent to the mailing list using /git/hooks/send-email hosted by osuosl.org
    • IRC notification messages are posted using irkerbot (/git/hooks/post-receive) hosted by osuosl.org
  • A secondary Git repository is on Github at https://github.com/buildroot/buildroot
    • Mainly to have an official Github mirror, rather than only unofficial forks of Buildroot
    • Kept in sync with the main Git repository by a cronjob run every 10 minutes on ThomasPetazzoni dedicated server.
  • Another mirror on Gitlab at https://gitlab.com/buildroot.org/buildroot - details below

Gitlab project

  • Gitlab group buildroot.org, with project https://gitlab.com/buildroot.org/buildroot
    • Administrators are Peter, Thomas and Arnout
  • Main purpose is to run automatic tests
    • controlled by .gitlab-ci.yml in the repository itself
    • https://gitlab.com/buildroot.org/buildroot/pipelines
    • basic tests (check-package, flake8, defconfig-check sanity) are triggered on every push to the repository
    • full tests (build of all defconfigs and runtime tests) are explicitly triggered once a week by a cronjob on Thomas server, for the master branch
    • results are reported over e-mail by the daily-mail script from the buildroot-test repository, executed on Thomas server
    • for convenience, CI runs in a custom docker image, https://hub.docker.com/r/buildroot/base/
      • generated from support/docker/Dockerfile
      • not generated automatically, since this can't be done from Gitlab-CI itself
  • Repository is synced from git.buildroot.org
    • In principle once per day, but sometimes pull fails
    • Better approach: push to the repo from a cron job - TBD
  • Irker and commit emails could be run from here as well, but currently aren't.

Sources.buildroot.net

  • Mirror of (nearly?) all Buildroot tarballs/patches.
  • Runs on a dedicated VM hosted by osuosl.org
  • Cronjob updating mirror every 2 hours doing make randconfig +
 make -k BR2_BACKUP_SITE= $(find -name \*.mk|sed 's|.*/\([^/]*\)\.mk|\1-source host-\1-source|')
  • Also generates nightly documentation for nightly.buildroot.net every 6 hours:
 make manual-html manual-pdf manual-text

Patchwork