-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
62 lines (62 loc) · 4 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
sudo: required
language: bash
services:
- docker
install: true
before_install:
- openssl aes-256-cbc -K $encrypted_b189c781eb6a_key -iv $encrypted_b189c781eb6a_iv -in .stuff.tar.gz.enc -out stuff.tar.gz -d
- file stuff.tar.gz
- tar xzvf stuff.tar.gz -C /tmp/
- eval "$(ssh-agent -s)"
- chmod 600 /tmp/stuff/.deploy
- ssh-add /tmp/stuff/.deploy
- mv /tmp/stuff/.host ~/.ssh/config
- gem install travis
- sh /tmp/stuff/.travis_login
env:
- TASK_RPM="mklivecd-x86_64"
- TASK_RPM="mklivecd-i586"
script:
- export ARCH=$(echo $TASK_RPM|cut -d- -f2)
- docker pull jmiahman/mageia-rpmbuilder-${ARCH}
- export DID=$(docker images -a | grep -m1 mageia-rpmbuilder-${ARCH} | awk '{print $3}')
- echo $DID
- docker run --hostname=unity-linux --privileged=true -d -v "$(pwd):/rpmbuild" -v "/dev:/dev" -v "/sys/fs/cgroup:/sys/fs/cgroup:ro" $DID tail -f /dev/null
- export CID=$(docker ps -l | awk '{print $1}' | grep -v -m1 'CONTAINER')
- echo $CID
- docker exec $CID /bin/sh -c "setarch ${ARCH} dnf config-manager --dump-variables &>> /rpmbuild/iso_build.log"
- docker exec $CID /bin/sh -c "cd /rpmbuild && setarch ${ARCH} make rpm &>> /rpmbuild/iso_build.log"
- docker exec $CID /bin/sh -c 'rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-Unity &>> /rpmbuild/iso_build.log'
- docker exec $CID /bin/sh -c 'sed -i "s%gpgcheck=1%gpgcheck=0%g" /etc/yum.repos.d/*.repo &>> /rpmbuild/iso_build.log'
- docker exec $CID /bin/sh -c 'dnf install --setopt=install_weak_deps=False /rpmbuild/RPMS/*/*.rpm grub2-mageia-theme -y &>> /rpmbuild/iso_build.log'
- docker exec $CID /bin/sh -c 'rm -rf /etc/systemd &>> /rpmbuild/iso_build.log'
- docker exec $CID /bin/sh -c 'dnf update --setopt=install_weak_deps=False -y --best &>> /rpmbuild/iso_build.log'
- docker exec $CID /bin/sh -c 'dnf clean all &>> /rpmbuild/iso_build.log'
- docker exec $CID /bin/sh -c 'systemctl enable getty@tty1 &>> /rpmbuild/iso_build.log'
- docker exec $CID /bin/sh -c 'systemctl set-default -f multi-user.target &>> /rpmbuild/iso_build.log'
- export TASK_NAME=$(echo $TASK_RPM)
- mkdir $TASK_NAME
- export LIVE_LOG=$(readlink -f ./*.log)
- if [ "$TRAVIS_TEST_RESULT" == "1" ]; then mv $LIVE_LOG ./$TASK_NAME/ && rsync -arz --progress --rsh=ssh -e "ssh -o StrictHostKeyChecking=no" ./$TASK_NAME foobar2:public_html/pub/isos/; exit 1; fi
- docker exec -d $CID /bin/sh -c 'mklivecd --tmp /rpmbuild --xz /rpmbuild/live.iso --nodir ^/rpmbuild --boottheme=maggy &>> /rpmbuild/iso_build.log'
- docker exec $CID /bin/sh -c 'while ps ax | grep mklivecd | grep -v grep > /dev/null ; do sleep 60 ; export x="$(($x+1))" ; echo "--==|mklivecd has been running for $x minute(s)|==--" ; done'
- docker exec $CID /bin/sh -c 'rpm -qa &> /rpmbuild/rpm.list'
- ls -l
- export LIVE_ISO=$(readlink -f ./*.iso)
- export RPM_LIST=$(readlink -f ./rpm.list)
- mv $LIVE_ISO ./$TASK_NAME/${TASK_NAME}-$(date +%Y%m%d%H).iso
- mv $LIVE_LOG ./$TASK_NAME/${TASK_NAME}-$(date +%Y%m%d%H).log
- mv $RPM_LIST ./$TASK_NAME/${TASK_NAME}-$(date +%Y%m%d%H).rpmlist
- export NEW_ISO=$(readlink -f ./$TASK_NAME/*.iso)
- echo "$NEW_ISO"
- md5sum "$NEW_ISO" > ./$TASK_NAME/$(basename "$NEW_ISO").md5
- if [ "$TRAVIS_TEST_RESULT" == "1" ]; then rsync -arz --progress --rsh=ssh -e "ssh -o StrictHostKeyChecking=no" ./$TASK_NAME foobar2:public_html/pub/isos/;travis restart -r unity-linux/mklivecd; fi
after_success:
- sudo -H pip install --upgrade pyOpenSSL ndg-httpsclient pyasn1 jinja2 requests[security] marshmallow copr-cli simplejson
- if [ -f ./SRPMS/*.src.rpm ]; then copr-cli --config /tmp/stuff/.copr build jmiahman/mklivecd ./SRPMS/*.src.rpm; fi &
- if [ "$TRAVIS_BRANCH" == "master" ] && [ -f ./SRPMS/*.src.rpm ]; then copr-cli --config /tmp/stuff/.copr build jmiahman/Unity-Linux ./SRPMS/*.src.rpm; fi &
- rsync -arz --progress --delete --rsh=ssh -e "ssh -o StrictHostKeyChecking=no" ./$TASK_NAME foobar2:public_html/pub/isos/ &
- rsync -arz --progress --delete --rsh=ssh -e "ssh -o StrictHostKeyChecking=no" ./$TASK_NAME foobar:/var/www/html/isos/ &
- wait %1 %2 %3 %4
- ssh -o StrictHostKeyChecking=no foobar2 "sh ~/bin/down_copr ${ARCH}"
- travis restart -r unity-linux/buildunity