+
+
+##
+## Mingw for Windows
+##
+
+.generic_win_template: &generic_win_template
+ image: ubuntu:xenial
+ before_script:
+ - apt-get update -y
+ - apt-get install -y p7zip-full wget unzip git cmake gettext
+ - wget http://minetest.kitsunemimi.pw/mingw-w64-${WIN_ARCH}_7.1.1_ubuntu14.04.7z -O mingw.7z > /dev/null
+ - sed -e "s|%PREFIX%|${WIN_ARCH}-w64-mingw32|" -e "s|%ROOTPATH%|/usr/${WIN_ARCH}-w64-mingw32|" < util/travis/toolchain_mingw.cmake.in > ${TOOLCHAIN_OUTPUT}
+ - 7z x -y -o/usr mingw.7z > /dev/null
+
+.build_win_template: &build_win_template
+ <<: *generic_win_template
+ stage: build
+ artifacts:
+ when: on_success
+ expire_in: 2h
+ paths:
+ - build/*
+
+.package_win_template: &package_win_template
+ <<: *generic_win_template
+ stage: package
+ script:
+ - cd build/minetest/_build
+ - make package
+ - cd ../../../
+ - mkdir minetest-win-${WIN_ARCH}
+ - unzip build/minetest/_build/minetest-*-win*.zip -d minetest-win-${WIN_ARCH}
+ - cp /usr/${WIN_ARCH}-w64-mingw32/bin/libgcc*.dll minetest-win-${WIN_ARCH}/minetest-*-win*/bin
+ - cp /usr/${WIN_ARCH}-w64-mingw32/bin/libstdc++*.dll minetest-win-${WIN_ARCH}/minetest-*-win*/bin
+ - cp /usr/${WIN_ARCH}-w64-mingw32/bin/libwinpthread*.dll minetest-win-${WIN_ARCH}/minetest-*-win*/bin
+ artifacts:
+ when: on_success
+ expire_in: 90 day
+ paths:
+ - minetest-win-*/*
+
+build:win32:
+ <<: *build_win_template
+ script:
+ - ./util/buildbot/buildwin32.sh build
+ variables:
+ NO_PACKAGE: "1"
+ WIN_ARCH: "i686"
+ TOOLCHAIN_OUTPUT: "util/buildbot/toolchain_mingw.cmake"
+
+package:win32:
+ <<: *package_win_template
+ dependencies:
+ - build:win32
+ variables:
+ NO_PACKAGE: "1"
+ WIN_ARCH: "i686"
+ TOOLCHAIN_OUTPUT: "util/buildbot/toolchain_mingw.cmake"
+
+build:win64:
+ <<: *build_win_template
+ script:
+ - ./util/buildbot/buildwin64.sh build
+ variables:
+ NO_PACKAGE: "1"
+ WIN_ARCH: "x86_64"
+ TOOLCHAIN_OUTPUT: "util/buildbot/toolchain_mingw64.cmake"
+
+package:win64:
+ <<: *package_win_template
+ dependencies:
+ - build:win64
+ variables:
+ NO_PACKAGE: "1"
+ WIN_ARCH: "x86_64"
+ TOOLCHAIN_OUTPUT: "util/buildbot/toolchain_mingw64.cmake"
+
+package:docker:
+ stage: package
+ image: docker:stable
+ services:
+ - docker:dind
+ before_script:
+ - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
+ script:
+ - docker build . -t ${CONTAINER_IMAGE}/server:$CI_COMMIT_SHA -t ${CONTAINER_IMAGE}/server:$CI_COMMIT_REF_NAME -t ${CONTAINER_IMAGE}/server:latest
+ - docker push ${CONTAINER_IMAGE}/server:$CI_COMMIT_SHA
+ - docker push ${CONTAINER_IMAGE}/server:$CI_COMMIT_REF_NAME
+ - docker push ${CONTAINER_IMAGE}/server:latest