arch-travis provides a docker based Arch Linux build environment for
Travis-CI builds. It supports a very simple (and limited)
configuration based on
os: linux services: - docker archlinux: repos: - papyros=http://dash.papyros.io/repos/$repo/$arch packages: # pacman packages - python - perl # aur packages - go-git # packages from papyros repo - papyros-shell mount: - ~/.pkg-cache:/var/cache/pacman/pkg before_install: - "sudo ln -s /dev/null /etc/pacman.d/hooks/package-cleanup.hook" script: - "./build_script.sh" script: - "curl -s https://raw.githubusercontent.com/mikkeloscar/arch-travis/master/arch-travis.sh | bash"
arch.repos defines a list of custom repositories.
arch.packages defines a list of packages (from official repos or AUR) to be
installed before running the build.
arch.mount defines a list of shared folders (docker volumes) from travis host to build container.
host_src:container_dst (relative path and environment variables are supported)
arch.before_install defines a list of scripts to run after system boots.
It's purpose is to alter build environment before system update and packages
installation. Anything defined in the
arch.before_install list will run from
the base of the repository as a normal user called
sudo is available.
arch.script defines a list of scripts to run as part of the build. Anything
defined in the
arch.script list will run from the base of the repository as a
normal user called
sudo is available as well as any packages
installed in the setup.
script defines the scripts to be run by travis, this is where arch-travis is
Default packages and repositories
By default the following packages are installed and usable from within the build environment.
The following repositories are enabled by default.
It is possible to use custom respositories by adding them to the
.travis.yml using the following format:
archlinux: repos: - repo-name=http://repo.com/path
The first repository in the list will be added first in
pacman.conf and all
custom repositories will be added before the default repositories.
- Increases build time with about 1-3 min.
- Limited configuration.
- Doesn't include
basegroup packages. If you need anything from
basejust add it to the
The default compiler available in the environment is
gcc, if you want to use
clang instead just add the following to
.travis.yml and arch-travis will
CC=clang in your build:
language: c compiler: clang
Projects using arch-travis
Copyright (C) 2016-2018 Mikkel Oscar Lyderik Larsen
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.