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.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-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