Skip to content

gentoo-audio/audio-overlay

Repository files navigation

Audio overlay

Gentoo overlay containing audio production applications

We're looking for maintainers!

This overlay is looking for maintainers. If you use this overlay and would like to (help) maintain it, please post a message in this issue.

How to use this overlay

[audio-overlay]
location = /<path>/<to>/<your>/<overlays>/audio-overlay
sync-type = git
sync-uri = https://github.com/gentoo-audio/audio-overlay.git
auto-sync = yes
eselect repository enable audio-overlay

Contact

Join us at the #audio-overlay channel at irc.libera.chat or create an issue.

Quality control

  • GitHub's branch protection is enabled for the master branch.
  • Changes can only be done using pull requests and need at least one approval.
  • Pull requests can only be merged if they pass the automated tests, which are run by CircleCI.
    Only changes that have no failures and warnings are merged.

Automated tests

All tests that are meant to be executed by the user or by CI can be found in the ./tests directory.

All tests need app-emulation/docker to be installed.

The emerge and repoman tests will create and use a binary package cache at ${HOME}/.portage-pkgdir.

Pull Requests

Every pull request must pass the following tests before it can be merged:

  • Validation if the ebuild(s), metadata and other overlay files are correct. This is done using repoman.
    Run this test using ./tests/repoman.sh.
  • Validation if the ebuilds that are new or changed in the Pull Request can be emerged. This is done in a clean amd64 stage3.
    Run this test using ./tests/emerge-new-or-changed-ebuilds.sh from the branch which contains the new or changed ebuild(s).

Daily checks

Every day the following tests are run:

  • A random ebuild is picked and emerged to validate that it can still be emerged correctly. This is done in a clean amd64 stage3.
    Run this test using ./tests/emerge-random-ebuild.sh.
  • A random live ebuild is picked and emerged to validate that it can still be emerged correctly. This is done in a clean amd64 stage3.
    Run this test using ./tests/emerge-random-live-ebuild.sh.
  • A check if a new version of any of the packages in the overlay is released. This is done using newversionchecker. If a new version has been released an issue requesting a version bump will be created.
    Run this test using ./tests/newversioncheck.sh.

Development

To check if an ebuild you're working on can be emerged without issue use ./tests/emerge-ebuild.sh <path>/<to>/<ebuild>.ebuild. This script will emerge the chosen ebuild in a clean amd64 stage3.
For example to emerge the ebuild media-sound/somesynth/somesynth-1.2.3.ebuild run ./tests/emerge-ebuild.sh media-sound/somesynth/somesynth-1.2.3.ebuild.

Test configuration

All test configuration can be found in ./tests/resources.

Emerge tests

To enable configuring packages for the emerge tests a .conf file matching the package is sourced before the package is emerged. These .conf files should be placed in the ./tests/resources/packages directory using the same package category structure as the overlay itself.
For example to configure the package media-sound/somesynth-1.2.3 the .conf file should be called ./tests/resources/packages/media-sound/somesynth-1.2.3.conf.

New version check

The new version check uses ./test/resources/newversionchecker.toml as it's configuration.