Note that at the moment, this is building and testing a "test" repo. This test repo is not the same one that you use by following our docs. Once this new code is better tested, we'll switch over (existing users will not have to do anything to use this new repo).
489 lines
14 KiB
YAML
489 lines
14 KiB
YAML
stages:
|
|
- build
|
|
- test
|
|
- package
|
|
- verify
|
|
- deploy
|
|
- testrepo
|
|
|
|
variables:
|
|
EXMAPLE_REPO: "https://github.com/overviewer/Minecraft-Overviewer-Addons"
|
|
MC_VERSION: "1.11"
|
|
|
|
build:linux:
|
|
image: code.em32.net:14567/overviewer/minecraft-overviewer:base
|
|
stage: build
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
cache:
|
|
key: "$CI_BUILD_REF_NAME/$CI_PIPELINE_ID/linuxbuild"
|
|
paths:
|
|
- overviewer_core/c_overviewer.so
|
|
- overviewer_core/overviewer_version.py
|
|
- overviewer_core/src/primitives.h
|
|
- build/
|
|
script:
|
|
- python2 setup.py build
|
|
- python2 overviewer.py --verbose --version
|
|
|
|
build:windows:
|
|
stage: build
|
|
dependencies: []
|
|
tags:
|
|
- windows
|
|
script:
|
|
- call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
|
|
- set DISTUTILS_USE_SDK=1
|
|
- set MSSdk=1
|
|
- set PIL_INCLUDE_DIR=c:\devel\pillow\libImaging
|
|
- c:\Python27\python.exe c:\devel\virtualenv\virtualenv.py ci_env
|
|
- ci_env\scripts\pip.exe install numpy Pillow
|
|
- ci_env\Scripts\python.exe setup.py build
|
|
- ci_env\Scripts\python.exe overviewer.py --verbose --version
|
|
|
|
|
|
build:docs:
|
|
image: code.em32.net:14567/overviewer/minecraft-overviewer:base
|
|
stage: build
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
script:
|
|
- cd docs
|
|
- make
|
|
artifacts:
|
|
name: "overviewer-docs"
|
|
expire_in: 2 weeks
|
|
paths:
|
|
- docs/_build/html/
|
|
|
|
test:
|
|
image: code.em32.net:14567/overviewer/minecraft-overviewer:base
|
|
stage: test
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
cache:
|
|
key: "$CI_BUILD_REF_NAME/$CI_PIPELINE_ID/linuxbuild"
|
|
paths:
|
|
- overviewer_core/c_overviewer.so
|
|
- overviewer_core/overviewer_version.py
|
|
- overviewer_core/src/primitives.h
|
|
- build/
|
|
script:
|
|
- python2 setup.py build
|
|
- python2 test/test_all.py
|
|
|
|
|
|
render:
|
|
image: code.em32.net:14567/overviewer/minecraft-overviewer:base
|
|
stage: test
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
only:
|
|
- branches
|
|
except:
|
|
- master
|
|
cache:
|
|
key: "$CI_BUILD_REF_NAME/$CI_PIPELINE_ID/linuxbuild"
|
|
paths:
|
|
- overviewer_core/c_overviewer.so
|
|
- overviewer_core/overviewer_version.py
|
|
- overviewer_core/src/primitives.h
|
|
- build/
|
|
script:
|
|
- python2 setup.py build
|
|
- wget -N https://s3.amazonaws.com/Minecraft.Download/versions/${MC_VERSION}/${MC_VERSION}.jar -P ~/.minecraft/versions/${MC_VERSION}/
|
|
- git clone --depth=1 ${EXMAPLE_REPO} maprepo
|
|
- export RENDER_DIR=render/
|
|
- mkdir -p $RENDER_DIR
|
|
- python2 overviewer.py -p2 --rendermode=smooth_lighting maprepo/exmaple $RENDER_DIR
|
|
- zip -r render.zip $RENDER_DIR
|
|
artifacts:
|
|
expire_in: 2 days
|
|
paths:
|
|
- render.zip
|
|
|
|
|
|
# Builds a source package
|
|
package:src:
|
|
image: code.em32.net:14567/overviewer/minecraft-overviewer:base
|
|
stage: package
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
script:
|
|
- python2 setup.py sdist
|
|
- ls -lh dist
|
|
- mv dist/*.tar.gz .
|
|
artifacts:
|
|
expire_in: 2 weeks
|
|
paths:
|
|
- Minecraft-Overviewer*.tar.gz
|
|
|
|
package:centos7rpm:
|
|
image: code.em32.net:14567/overviewer/minecraft-overviewer:centos7
|
|
stage: package
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
script:
|
|
- export MCO_VERSION=`python2 setup.py --version`
|
|
- echo "Building Minecraft version ${MCO_VERSION}"
|
|
- mkdir -p ${HOME}/rpmbuild/SOURCES
|
|
- tar --transform 's,^,Minecraft-Overviewer/,S' -czf ${HOME}/rpmbuild/SOURCES/Minecraft-Overviewer-${MCO_VERSION}.tar.gz *
|
|
- sed s/{VERSION}/$MCO_VERSION/g build-tools/dockerfiles/centos7/Minecraft-Overviewer.spec > Minecraft-Overviewer.spec
|
|
- pwd
|
|
- rpmbuild -bs --define 'dist .centos7' Minecraft-Overviewer.spec
|
|
- /usr/bin/mock -r centos-7-x86_64 ${HOME}/rpmbuild/SRPMS/Minecraft-Overviewer-${MCO_VERSION}-1.centos7.src.rpm
|
|
- cp /var/lib/mock/centos-7-x86_64/result/Minecraft-Overviewer*.x86_64.rpm .
|
|
- ls -l *.rpm
|
|
artifacts:
|
|
expire_in: 2 weeks
|
|
paths:
|
|
- Minecraft-Overviewer*.x86_64.rpm
|
|
|
|
package:centos7-32rpm:
|
|
image: code.em32.net:14567/overviewer/minecraft-overviewer:centos7
|
|
stage: package
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
only:
|
|
- master
|
|
- triggers
|
|
script:
|
|
- export MCO_VERSION=`python2 setup.py --version`
|
|
- echo "Building Minecraft version ${MCO_VERSION}"
|
|
- mkdir -p ${HOME}/rpmbuild/SOURCES
|
|
- tar --transform 's,^,Minecraft-Overviewer/,S' -czf ${HOME}/rpmbuild/SOURCES/Minecraft-Overviewer-${MCO_VERSION}.tar.gz *
|
|
- sed s/{VERSION}/$MCO_VERSION/g build-tools/dockerfiles/centos7/Minecraft-Overviewer.spec > Minecraft-Overviewer.spec
|
|
- pwd
|
|
- rpmbuild -bs --define 'dist .centos7' Minecraft-Overviewer.spec
|
|
- /usr/bin/mock -r centos-7-i386 ${HOME}/rpmbuild/SRPMS/Minecraft-Overviewer-${MCO_VERSION}-1.centos7.src.rpm
|
|
- cp /var/lib/mock/centos-7-i386/result/Minecraft-Overviewer*.i*86.rpm .
|
|
- ls -l *.rpm
|
|
artifacts:
|
|
expire_in: 2 weeks
|
|
paths:
|
|
- Minecraft-Overviewer*.i*86.rpm
|
|
|
|
# Note that even though we are building a centos6 rpm, we can still use the centos7 docker image
|
|
package:centos6rpm:
|
|
image: code.em32.net:14567/overviewer/minecraft-overviewer:centos7
|
|
stage: package
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
only:
|
|
- master
|
|
- triggers
|
|
script:
|
|
- export MCO_VERSION=`python2 setup.py --version`
|
|
- echo "Building Minecraft version ${MCO_VERSION}"
|
|
- mkdir -p ${HOME}/rpmbuild/SOURCES
|
|
- tar --transform 's,^,Minecraft-Overviewer/,S' -czf ${HOME}/rpmbuild/SOURCES/Minecraft-Overviewer-${MCO_VERSION}.tar.gz *
|
|
- sed s/{VERSION}/$MCO_VERSION/g build-tools/dockerfiles/centos6/Minecraft-Overviewer.spec > Minecraft-Overviewer.spec
|
|
- pwd
|
|
- rpmbuild -bs --define 'dist .centos6' Minecraft-Overviewer.spec
|
|
- /usr/bin/mock -r centos-6-x86_64 ${HOME}/rpmbuild/SRPMS/Minecraft-Overviewer-${MCO_VERSION}-1.centos6.src.rpm
|
|
- cp /var/lib/mock/centos-6-x86_64/result/Minecraft-Overviewer*.x86_64.rpm .
|
|
- ls -l *.rpm
|
|
artifacts:
|
|
expire_in: 2 weeks
|
|
paths:
|
|
- Minecraft-Overviewer*.x86_64.rpm
|
|
|
|
package:debian64:
|
|
image: code.em32.net:14567/overviewer/minecraft-overviewer:debian64
|
|
stage: package
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
script:
|
|
- export MCO_VERSION=`python2 setup.py --version`
|
|
- echo "Building Minecraft version ${MCO_VERSION}"
|
|
- python setup.py build
|
|
- cp -r build-tools/dockerfiles/debian64 debian
|
|
- sh debian/generate_changelog.sh > debian/changelog
|
|
- cat debian/changelog
|
|
- debuild -i -us -uc -b
|
|
- mv ../*.deb .
|
|
- ls -l *.deb
|
|
artifacts:
|
|
expire_in: 2 weeks
|
|
paths:
|
|
- minecraft-overviewer*.deb
|
|
|
|
|
|
package:win64:
|
|
stage: package
|
|
dependencies: []
|
|
tags:
|
|
- windows
|
|
script:
|
|
- call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
|
|
- set DISTUTILS_USE_SDK=1
|
|
- set MSSdk=1
|
|
- set PIL_INCLUDE_DIR=c:\devel\pillow\libImaging
|
|
- c:\Python27\python.exe c:\devel\virtualenv\virtualenv.py ci_env
|
|
- ci_env\scripts\pip.exe install numpy Pillow pyinstaller sphinx
|
|
- ci_env\Scripts\python.exe setup.py build
|
|
- copy build-tools\overviewer.spec .
|
|
- ci_env\Scripts\pyinstaller.exe overviewer.spec
|
|
- for /f "delims=" %%a in ('ci_env\Scripts\python.exe setup.py --version') do @set OVR_VERSION=%%a
|
|
- ci_env\Scripts\sphinx-build.exe docs dist\overviewer-%OVR_VERSION%\docs
|
|
- rename dist dist-win64
|
|
- ci_env\Scripts\python.exe -m zipfile -c overviewer-win64-%OVR_VERSION%.zip dist-win64\overviewer-%OVR_VERSION%\
|
|
artifacts:
|
|
expire_in: 2 weeks
|
|
paths:
|
|
- overviewer-win64-*.zip
|
|
|
|
package:win32:
|
|
stage: package
|
|
dependencies: []
|
|
tags:
|
|
- windows
|
|
script:
|
|
- call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
|
|
- set DISTUTILS_USE_SDK=1
|
|
- set MSSdk=1
|
|
- set PIL_INCLUDE_DIR=c:\devel\pillow\libImaging
|
|
- "\"c:\\Python27 (x86)\\python.exe\" c:\\devel\\virtualenv\\virtualenv.py ci_env"
|
|
- ci_env\scripts\pip.exe install numpy Pillow pyinstaller sphinx
|
|
- ci_env\Scripts\python.exe setup.py build
|
|
- copy build-tools\overviewer.spec .
|
|
- ci_env\Scripts\pyinstaller.exe overviewer.spec
|
|
- for /f "delims=" %%a in ('ci_env\Scripts\python.exe setup.py --version') do @set OVR_VERSION=%%a
|
|
- ci_env\Scripts\sphinx-build.exe docs dist\overviewer-%OVR_VERSION%\docs
|
|
- rename dist dist-win32
|
|
- ci_env\Scripts\python.exe -m zipfile -c overviewer-win32-%OVR_VERSION%.zip dist-win32\overviewer-%OVR_VERSION%\
|
|
artifacts:
|
|
expire_in: 2 weeks
|
|
paths:
|
|
- overviewer-win32-*.zip
|
|
|
|
verify:centos7:
|
|
image: code.em32.net:14567/overviewer/minecraft-overviewer:centos7-verify
|
|
stage: verify
|
|
tags:
|
|
- docker
|
|
dependencies:
|
|
- package:centos7rpm
|
|
script:
|
|
- ls -l *.rpm
|
|
- ls -l
|
|
- echo yum -y install ./Minecraft-Overviewer-0*.rpm
|
|
- yum -y install ./Minecraft-Overviewer-0*.rpm
|
|
- which overviewer.py
|
|
- overviewer.py --verbose --version
|
|
- wget -N https://s3.amazonaws.com/Minecraft.Download/versions/${MC_VERSION}/${MC_VERSION}.jar -P ~/.minecraft/versions/${MC_VERSION}/
|
|
- git clone --depth=1 ${EXMAPLE_REPO} maprepo
|
|
- overviewer.py --check-terrain --verbose
|
|
|
|
|
|
verify:debian64:
|
|
image: debian:jessie
|
|
stage: verify
|
|
tags:
|
|
- docker
|
|
dependencies:
|
|
- package:debian64
|
|
script:
|
|
- apt-get -y update
|
|
- apt-get -y install wget git
|
|
- dpkg -i ./minecraft-overviewer*.deb || echo ""
|
|
- apt-get -y -f install
|
|
- which overviewer.py
|
|
- overviewer.py --verbose --version
|
|
- wget -N https://s3.amazonaws.com/Minecraft.Download/versions/${MC_VERSION}/${MC_VERSION}.jar -P ~/.minecraft/versions/${MC_VERSION}/
|
|
- git clone --depth=1 ${EXMAPLE_REPO} maprepo
|
|
- overviewer.py --check-terrain --verbose
|
|
|
|
|
|
|
|
deploy:
|
|
stage: deploy
|
|
tags:
|
|
- diax
|
|
- deploy
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
dependencies:
|
|
- render
|
|
script:
|
|
- rm -rf render
|
|
- unzip render.zip
|
|
- mkdir -p /renders/$CI_BUILD_REF_SLUG/$CI_BUILD_ID/
|
|
- cp -r render/* /renders/$CI_BUILD_REF_SLUG/$CI_BUILD_ID/
|
|
- echo View render at http://static-backend.overviewer.org/renders/ci/$CI_BUILD_REF_SLUG/$CI_BUILD_ID/
|
|
|
|
deploy:builds:
|
|
stage: deploy
|
|
tags:
|
|
- diax
|
|
- deploy
|
|
dependencies:
|
|
- build:docs
|
|
- package:src
|
|
- package:centos7rpm
|
|
- package:centos7-32rpm
|
|
- package:centos6rpm
|
|
- package:debian64
|
|
- package:win64
|
|
- package:win32
|
|
script:
|
|
- ls -ltr
|
|
- mkdir -p /builds/$CI_BUILD_REF_SLUG/$CI_BUILD_ID/
|
|
- cp *.deb /builds/$CI_BUILD_REF_SLUG/$CI_BUILD_ID/
|
|
- cp *.rpm /builds/$CI_BUILD_REF_SLUG/$CI_BUILD_ID/
|
|
- cp overviewer*.zip /builds/$CI_BUILD_REF_SLUG/$CI_BUILD_ID/
|
|
- echo Artifacts copied to http://static-backend.overviewer.org/builds/$CI_BUILD_REF_SLUG/$CI_BUILD_ID/
|
|
|
|
deploy:repos:
|
|
stage: deploy
|
|
tags:
|
|
- diax
|
|
- deploy
|
|
only:
|
|
- master
|
|
dependencies:
|
|
- package:centos7rpm
|
|
- package:centos7-32rpm
|
|
- package:centos6rpm
|
|
- package:debian64
|
|
script:
|
|
- ls -ltr
|
|
- dpkg-sig -g '--use-agent --batch --no-tty' --sign builder *.deb
|
|
- cp *.deb /repos/debian/files/
|
|
- make -C /repos/debian/ -f /gitlab_runner/debian/Makefile
|
|
- /gitlab_runner/rpmsign.sh *.rpm
|
|
- cp *.rpm /repos/rpm/7/x86_64/packages/
|
|
- make -C /repos/rpm/ -f /gitlab_runner/rpm/Makefile
|
|
|
|
|
|
|
|
repo:centos7:
|
|
image: centos:7
|
|
stage: testrepo
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
only:
|
|
- master
|
|
script:
|
|
- yum -y install wget
|
|
- wget -O /etc/yum.repos.d/overviewer.repo http://overviewer.org/rpms_new/overviewer.repo
|
|
- yum -y install Minecraft-Overviewer
|
|
- overviewer.py --verbose --version
|
|
|
|
repo:centos6:
|
|
image: centos:6
|
|
stage: testrepo
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
only:
|
|
- master
|
|
script:
|
|
- yum -y install wget
|
|
- wget -O /etc/yum.repos.d/overviewer.repo http://overviewer.org/rpms_new/overviewer.repo
|
|
- yum -y install Minecraft-Overviewer
|
|
- overviewer.py --verbose --version
|
|
|
|
repo:fc25:
|
|
image: fedora:25
|
|
stage: testrepo
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
only:
|
|
- master
|
|
script:
|
|
- yum -y install wget
|
|
- wget -O /etc/yum.repos.d/overviewer.repo http://overviewer.org/rpms_new/overviewer.repo
|
|
- yum -y install Minecraft-Overviewer
|
|
- overviewer.py --verbose --version
|
|
|
|
repo:fc24:
|
|
image: fedora:24
|
|
stage: testrepo
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
only:
|
|
- master
|
|
script:
|
|
- yum -y install wget
|
|
- wget -O /etc/yum.repos.d/overviewer.repo http://overviewer.org/rpms_new/overviewer.repo
|
|
- yum -y install Minecraft-Overviewer
|
|
- overviewer.py --verbose --version
|
|
|
|
repo:fc23:
|
|
image: fedora:23
|
|
stage: testrepo
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
only:
|
|
- master
|
|
script:
|
|
- yum -y install wget
|
|
- wget -O /etc/yum.repos.d/overviewer.repo http://overviewer.org/rpms_new/overviewer.repo
|
|
- yum -y install Minecraft-Overviewer
|
|
- overviewer.py --verbose --version
|
|
|
|
repo:jessie:
|
|
image: debian:jessie
|
|
stage: testrepo
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
only:
|
|
- master
|
|
script:
|
|
- apt-get -y update
|
|
- apt-get -y install wget
|
|
- wget -O - http://overviewer.org/debian_new/overviewer.gpg.asc | apt-key add -
|
|
- echo 'deb http://overviewer.org/debian_new ./' >> /etc/apt/sources.list
|
|
- apt-get -y update
|
|
- apt-get -y install minecraft-overviewer
|
|
- overviewer.py --verbose --version
|
|
|
|
repo:stretch:
|
|
image: debian:stretch
|
|
stage: testrepo
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
only:
|
|
- master
|
|
script:
|
|
- apt-get -y update
|
|
- apt-get -y install wget gnupg
|
|
- wget -O - http://overviewer.org/debian_new/overviewer.gpg.asc | apt-key add -
|
|
- echo 'deb http://overviewer.org/debian_new ./' >> /etc/apt/sources.list
|
|
- apt-get -y update
|
|
- apt-get -y install minecraft-overviewer
|
|
- overviewer.py --verbose --version
|
|
|
|
repo:wheezy:
|
|
image: debian:wheezy
|
|
stage: testrepo
|
|
dependencies: []
|
|
tags:
|
|
- docker
|
|
only:
|
|
- master
|
|
script:
|
|
- apt-get -y update
|
|
- apt-get -y install wget
|
|
- wget -O - http://overviewer.org/debian_new/overviewer.gpg.asc | apt-key add -
|
|
- echo 'deb http://overviewer.org/debian_new ./' >> /etc/apt/sources.list
|
|
- apt-get -y update
|
|
- apt-get -y install minecraft-overviewer
|
|
- overviewer.py --verbose --version
|