forked from gentoo-haskell/gentoo-haskell
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
123 lines (120 loc) · 9.25 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#
# Run repoman via travis
# See https://github.com/mrueg/repoman-travis
#
language: python
cache:
directories:
- metadata/md5-cache
# shard repoman call by profile. Generated as:
# $ cat $(portageq get_repo_path / gentoo)/profiles/profiles.desc | egrep -v '^#|^$' | awk '$3 == "stable" {print " - TOOL=repoman REPOMAN_FLAGS=--include-profiles="$2}'
env:
- TOOL=pkgcheck
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/alpha/17.0
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/alpha/17.0/desktop
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/alpha/17.0/desktop/gnome
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/alpha/17.0/desktop/gnome/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/alpha/17.0/developer
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/selinux
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/hardened
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/hardened/selinux
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/desktop
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/desktop/gnome
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/desktop/gnome/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/desktop/plasma
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/desktop/plasma/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/developer
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/no-multilib
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/no-multilib/hardened
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/no-multilib/hardened/selinux
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/selinux
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/hardened
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/hardened/selinux
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/desktop
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/desktop/gnome
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/desktop/gnome/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/desktop/plasma
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/desktop/plasma/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/developer
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/no-multilib
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/no-multilib/hardened
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/no-multilib/hardened/selinux
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/arm/17.0
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/arm64/17.0
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/arm64/17.0/desktop
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/arm64/17.0/desktop/gnome
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/arm64/17.0/desktop/gnome/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/arm64/17.0/desktop/plasma
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/arm64/17.0/desktop/plasma/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/arm64/17.0/desktop/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/arm64/17.0/developer
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/arm64/17.0/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/ia64/17.0
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/ia64/17.0/desktop
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/ia64/17.0/desktop/gnome
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/ia64/17.0/desktop/gnome/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/ia64/17.0/developer
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc32/17.0
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc32/17.0/desktop
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc32/17.0/desktop/gnome
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc32/17.0/desktop/gnome/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc32/17.0/developer
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc64/17.0/32bit-userland
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc64/17.0/32bit-userland/desktop
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc64/17.0/32bit-userland/developer
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc64/17.0/64bit-userland
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc64/17.0/64bit-userland/desktop
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc64/17.0/64bit-userland/desktop/gnome
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc64/17.0/64bit-userland/desktop/gnome/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc64/17.0/64bit-userland/developer
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc64/17.0/64bit-userland/little-endian
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/powerpc/ppc64/17.0/64bit-userland/little-endian/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/riscv/17.0/rv64gc
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/selinux
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/hardened
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/hardened/selinux
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/desktop
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/desktop/gnome
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/desktop/gnome/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/desktop/plasma
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/desktop/plasma/systemd
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/developer
- TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/systemd
before_install:
- pip install lxml pyyaml
- pip install pkgcheck
before_script:
- THIS_REPO=haskell
- PORTAGE_VER='2.3.80'
- SPINNER=/tmp/spinner.sh
- PORTAGE_DIR="/tmp/portage-portage-${PORTAGE_VER}"
- echo "Setting up basic directories:"
- sudo chmod a+rwX /etc/passwd /etc/group /etc /var /var/cache
- mkdir -p /etc/portage/repos.conf /var/cache/distfiles /var/db/repos/gentoo
- printf "[${THIS_REPO}]\nlocation = $TRAVIS_BUILD_DIR" > /etc/portage/repos.conf/haskell
- echo "Installing portage:"
- wget -qO - "https://github.com/gentoo/portage/archive/portage-${PORTAGE_VER}.tar.gz" | tar xz -C /tmp
- echo "portage:x:250:250:portage:/var/tmp/portage:/bin/false" >> /etc/passwd
- echo "portage::250:portage,travis" >> /etc/group
- printf "[gentoo]\nlocation = /var/db/repos/gentoo" > /etc/portage/repos.conf/gentoo
- printf "[DEFAULT]\nmain-repo = gentoo" > /etc/portage/repos.conf/default
- echo "Unpacking ::gentoo:"
- wget -qO - "https://github.com/gentoo-mirror/gentoo/archive/master.tar.gz" | tar xz -C /var/db/repos/gentoo --strip-components=1
- ln -s /var/db/repos/gentoo/profiles/default/linux/amd64/17.0 /etc/portage/make.profile
- wget "https://www.gentoo.org/dtd/metadata.dtd" -O /var/cache/distfiles/metadata.dtd
- echo "Grabbing fidget spinner:"
- wget "https://raw.githubusercontent.com/mrueg/repoman-travis/master/spinner.sh" -O "${SPINNER}"
- chmod a+rwx "${SPINNER}"
- "${PORTAGE_DIR}/bin/emerge --info"
script:
- echo "Refreshing metadata cache:"
- '"${SPINNER}" "${PORTAGE_DIR}/bin/egencache --repo=${THIS_REPO} --update --jobs=$(nproc)"'
- if test "${TOOL}" = pkgcheck; then "${SPINNER}" "pkgcheck scan --repo=${THIS_REPO} --jobs=$(nproc)"; else true; fi
- if test "${TOOL}" = repoman; then "${SPINNER}" "${PORTAGE_DIR}/repoman/bin/repoman full ${REPOMAN_FLAGS}"; else true; fi