0
This repository has been archived on 2025-04-25. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Minecraft-Overviewer/.gitlab-ci.yml
Andrew Chin c621795fa9 Rename package to pkg in gitlab ci steps
This just reduces size of the step names, making it easier to see on the
gitlab web page
2018-04-21 15:31:46 -04:00

503 lines
14 KiB
YAML

stages:
- build
- test
- package
- verify
- deploy
- testrepo
variables:
EXMAPLE_REPO: "https://github.com/overviewer/Minecraft-Overviewer-Addons"
MC_VERSION: "1.12"
build:linux:
image: registry.code.em32.net/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\src\libImaging
- c:\Python27\python.exe c:\devel\virtualenv\virtualenv.py ci_env
- ci_env\scripts\pip.exe install numpy Pillow==5.1.0
- ci_env\Scripts\python.exe setup.py build
- ci_env\Scripts\python.exe overviewer.py --verbose --version
build:docs:
image: registry.code.em32.net/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: registry.code.em32.net/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: registry.code.em32.net/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
- 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
pkg:src:
image: registry.code.em32.net/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
pkg:centos7rpm:
image: registry.code.em32.net/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
pkg:centos7-32rpm:
image: registry.code.em32.net/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
pkg:centos6rpm:
image: registry.code.em32.net/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
pkg:debian64:
image: registry.code.em32.net/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
pkg: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\src\libImaging
- c:\Python27\python.exe c:\devel\virtualenv\virtualenv.py ci_env
- ci_env\scripts\pip.exe install numpy Pillow==5.10 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
pkg: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\src\libImaging
- "\"c:\\Python27 (x86)\\python.exe\" c:\\devel\\virtualenv\\virtualenv.py ci_env"
- ci_env\scripts\pip.exe install numpy Pillow==5.1.0 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: registry.code.em32.net/overviewer/minecraft-overviewer:centos7-verify
stage: verify
tags:
- docker
dependencies:
- pkg: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:
- pkg: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
- pkg:src
- pkg:centos7rpm
- pkg:centos7-32rpm
- pkg:centos6rpm
- pkg:debian64
- pkg:win64
- pkg: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:
- pkg:centos7rpm
- pkg:centos7-32rpm
- pkg:centos6rpm
- pkg: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 *.el7.*.rpm /repos/rpm/7/x86_64/packages/
- cp *.el6.*.rpm /repos/rpm/6/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
repo:artful:
image: ubuntu:artful
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