Skip to content

Automatically build & distribute Debian packages

License

Notifications You must be signed in to change notification settings

rail5/autobuild

Repository files navigation

autobuild

Automatically build & distribute Debian packages

AGPL

What does it do?

This program can automatically:

  • Retrieve Debian package sources from a git repo or .tar.gz archive

  • Launch a virtual QEMU build-farm & build those packages for various architectures

  • Create GitHub/Forgejo release pages for those packages

  • Create a Debian Repository to distribute packages (which can be hosted either via GitHub Pages or local web server)

  • Push those packages to said Debian Repository

Autobuild is also used to build & distribute itself.

How do I use it?

Installation

Autobuild can be easily installed via the deb.rail5.org repository:

sudo curl -s -o /etc/apt/trusted.gpg.d/rail5-signing-key.gpg "https://deb.rail5.org/rail5-signing-key.gpg"
sudo curl -s -o /etc/apt/sources.list.d/rail5.list "https://deb.rail5.org/rail5.list"
sudo apt update
sudo apt install autobuild

Set-up

After installing, run sudo autobuild -s to complete set-up.

Your CONFIG file can be found at /var/autobuild/config.toml

Command-line usage

autobuild --amd64 --i386 --arm64 --package my-debian-package --package my-other-debian-package --github-page
autobuild -123 -p https://github.com/user/my-debian-package -p /path/to/my-other-debian-package.tar.gz -g

The above examples will build your packages "my-debian-package" and "my-other-debian-package" and then publish them to GitHub Release pages.

autobuild --local -p my-debian-package -o /home/user/

The above example will build your package locally (without using the virtual build farm) and save the resulting build in /home/user

See autobuild --help, autobuild -h, or man autobuild for a list of options and how to use them.

Autobuild-web

A web interface is provided by the autobuild-web package:

sudo apt install autobuild-web

After installing, it will be available on your web-server at http://your-domain-or.ip/autobuild

Desktop Mobile
build-menu build-menu
log-success log-success
repo-menu repo-menu