Skip to content

Workflow file for this run

#copied from https://github.com/gentoo-haskell/gentoo-haskell/blob/fb0ac412f913333acce5136cc1b6b2f0ed1e5c29/.github/workflows/repoman.yml
name: repoman
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
# All "stable" profiles are listed here, but only amd64 and x86 profiles
# are actually used, since these are the only two architectures
# currently supported by ghc.
#
# Some of the profiles are "doubled up" - in other words, we run two
# profiles for some of the "jobs". The reason for this is to keep the
# total number of jobs for the `repoman` "github action" at 19.
#
# Since github allows us 20 concurrent "actions" at once, this maximizes
# the number of parallel jobs while still allowing one job for the
# `pkgcheck` action.
#
# Feel free to double up more of these if needed, or uncomment
# architectures.
profile:
# - default/linux/alpha/17.0
# - default/linux/alpha/17.0/desktop
# - default/linux/alpha/17.0/desktop/gnome
# - default/linux/alpha/17.0/desktop/gnome/systemd
# - default/linux/alpha/17.0/developer
- default/linux/amd64/17.1 default/linux/amd64/17.1/selinux
- default/linux/amd64/17.1/hardened default/linux/amd64/17.1/hardened/selinux
- default/linux/amd64/17.1/desktop
# - default/linux/amd64/17.1/desktop/gnome
# - default/linux/amd64/17.1/desktop/gnome/systemd
# - default/linux/amd64/17.1/desktop/plasma
# - default/linux/amd64/17.1/desktop/plasma/systemd
# - default/linux/amd64/17.1/developer
# - default/linux/amd64/17.1/no-multilib
# - default/linux/amd64/17.1/no-multilib/hardened
# - default/linux/amd64/17.1/no-multilib/hardened/selinux
# - default/linux/amd64/17.1/systemd
# - default/linux/arm/17.0
# - default/linux/arm64/17.0
# - default/linux/arm64/17.0/desktop
# - default/linux/arm64/17.0/desktop/gnome
# - default/linux/arm64/17.0/desktop/gnome/systemd
# - default/linux/arm64/17.0/desktop/plasma
# - default/linux/arm64/17.0/desktop/plasma/systemd
# - default/linux/arm64/17.0/desktop/systemd
# - default/linux/arm64/17.0/developer
# - default/linux/arm64/17.0/systemd
# - default/linux/hppa/17.0
# - default/linux/hppa/17.0/desktop
# - default/linux/hppa/17.0/developer
# - default/linux/ia64/17.0
# - default/linux/ia64/17.0/desktop
# - default/linux/ia64/17.0/desktop/gnome
# - default/linux/ia64/17.0/desktop/gnome/systemd
# - default/linux/ia64/17.0/developer
# - default/linux/powerpc/ppc32/17.0
# - default/linux/powerpc/ppc32/17.0/desktop
# - default/linux/powerpc/ppc32/17.0/desktop/gnome
# - default/linux/powerpc/ppc32/17.0/desktop/gnome/systemd
# - default/linux/powerpc/ppc32/17.0/developer
# - default/linux/powerpc/ppc64/17.0/32bit-userland
# - default/linux/powerpc/ppc64/17.0/32bit-userland/desktop
# - default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome
# - default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd
# - default/linux/powerpc/ppc64/17.0/32bit-userland/developer
# - default/linux/powerpc/ppc64/17.0/64bit-userland
# - default/linux/powerpc/ppc64/17.0/64bit-userland/desktop
# - default/linux/powerpc/ppc64/17.0/64bit-userland/desktop/gnome
# - default/linux/powerpc/ppc64/17.0/64bit-userland/desktop/gnome/systemd
# - default/linux/powerpc/ppc64/17.0/64bit-userland/developer
# - default/linux/powerpc/ppc64/17.0/64bit-userland/little-endian
# - default/linux/powerpc/ppc64/17.0/64bit-userland/little-endian/systemd
# - default/linux/ppc64le/17.0
# - default/linux/ppc64le/17.0/desktop
# - default/linux/ppc64le/17.0/systemd
# - default/linux/ppc64le/17.0/developer
# - default/linux/riscv/17.0/rv64gc/lp64d
# - default/linux/riscv/17.0/rv64gc/lp64d/systemd
# - default/linux/riscv/17.0/rv64gc/lp64
# - default/linux/riscv/17.0/rv64gc/lp64/systemd
# - default/linux/sparc/17.0
# - default/linux/sparc/17.0/desktop
# - default/linux/sparc/17.0/developer
# - default/linux/sparc/17.0/systemd
# - default/linux/sparc/17.0/64ul
# - default/linux/sparc/17.0/64ul/desktop
# - default/linux/sparc/17.0/64ul/developer
# - default/linux/sparc/17.0/64ul/systemd
# - default/linux/x86/17.0
# - default/linux/x86/17.0/selinux default/linux/x86/17.0/hardened
# - default/linux/x86/17.0/hardened/selinux default/linux/x86/17.0/desktop
# - default/linux/x86/17.0/desktop/gnome default/linux/x86/17.0/desktop/gnome/systemd
# - default/linux/x86/17.0/desktop/plasma default/linux/x86/17.0/desktop/plasma/systemd
# - default/linux/x86/17.0/developer default/linux/x86/17.0/systemd
env:
PROFILE: ${{ matrix.profile }}
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Setup repoman
run: |
python -m pip install --upgrade pip
pip install lxml pyyaml
wget -qO - "https://github.com/gentoo/portage/archive/portage-3.0.23.tar.gz" | tar xz
sudo groupadd -g 250 portage
sudo useradd -g portage -d /var/tmp/portage -s /bin/false -u 250 portage
- name: Setup master gentoo repository
run: |
sudo mkdir -p /var/db/repos/gentoo /etc/portage /var/cache/distfiles
wget -qO - "https://github.com/gentoo-mirror/gentoo/archive/master.tar.gz" | sudo tar xz -C /var/db/repos/gentoo --strip-components=1
sudo wget "https://www.gentoo.org/dtd/metadata.dtd" -O /var/cache/distfiles/metadata.dtd
sudo wget "https://gitweb.gentoo.org/proj/portage.git/plain/cnf/repos.conf" -O /etc/portage/repos.conf
sudo ln -s /var/db/repos/gentoo/profiles/default/linux/amd64/17.0 /etc/portage/make.profile
- name: Test with repoman
run: |
python3 portage-portage-3.0.23/repoman/bin/repoman full -dx --jobs=$(nproc) --include-profiles="${PROFILE}"