summaryrefslogblamecommitdiff
path: root/tools/ci/branches/ci_main1/.gitlab-ci.yml
blob: 4c8bfec4a68235320af4694b142fd221c3dd2894 (plain) (tree)
























































































































































































































































































                                                                                                           
stages:
  - build

# with :; prevent from run it on windows
before_script:
  - ":; uname -a"
  - ":; cat /etc/os-release"
  - ":; pwd"
  - ":; cat /proc/sys/kernel/core_pattern"
  - ":; mkdir logs || true"
  - ":; ${UPDATEREPOS}"
  - ":; ${DOCKERRETRY} ${PMUPDATE} >logs/apt.log"
  - ":; ${DOCKERRETRY} ${PMINSTALL} ${PACKAGES} >>logs/apt.log"
  - ":; ./tools/ci/scripts/clonesrc.sh"
  - ":; cd manaplus"

image: debian:unstable
variables:
  GET_SOURCES_ATTEMPTS: "5"
  ARTIFACT_DOWNLOAD_ATTEMPTS: "5"
  UPDATEREPOS: "tools/ci/scripts/updaterepos.sh"
  PMUPDATE: "apt-get update"
  PMINSTALL: "apt-get install -y -qq"
  DOCKERRETRY: "./tools/ci/scripts/dockerretry.sh"
  GIT_DEPTH: "1"

.job-push: &job-push
  artifacts:
    paths:
    - logs
    - manaplus/logs
    when: always
    expire_in: 3 week
  dependencies: []

.job-always: &job-always
  artifacts:
    paths:
    - logs
    - manaplus/logs
    when: always
    expire_in: 3 week
  dependencies: []

# too slow for one thread, with two threads rundom out of memory issue
gcc-7_sanitize_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_sanitize.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
    JOBS: 1
  tags:
    - docker

gcc-7_sanitize:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_sanitize.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-7_lto:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_lto.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
    POST_CXXFLAGS: "-Wno-null-dereference"

gcc-7_lto_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_lto.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
    POST_CXXFLAGS: "-Wno-null-dereference"
  tags:
    - docker

gcc-gentoo_sdl1:
  stage: build
  script:
  - ./tools/ci/jobs/any_compiler.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  image: registry.gitlab.com/manaplus/images:gentoo_gcc_sdl1
  <<: *job-push
  variables:
    LOGFILE: gcc.log
    CC: gcc
    CXX: g++
    CXXFLAGS: "-Wall -Wextra"
    PMUPDATE: "echo"
    PMINSTALL: "echo"
  tags:
    - docker

gcc-gentoo_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/any_compiler.sh --with-sdl2 --enable-werror
  - ./tools/ci/scripts/runtests.sh
  image: registry.gitlab.com/manaplus/images:gentoo_gcc_sdl2
  <<: *job-push
  variables:
    LOGFILE: gcc.log
    CC: gcc
    CXX: g++
    CXXFLAGS: "-Wall -Wextra"
    PMUPDATE: "echo"
    PMINSTALL: "echo"
  tags:
    - docker

gcc7_without_mumble_sdl1:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --without-mumble --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps

gcc7_without_mumble_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-sdl2 --without-mumble --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              git gdb valgrind netcat-openbsd procps

gcc-7_cilkplus:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-cilkplus
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps

gcc_portable:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-opengl --enable-tmwa --enable-portable=yes
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps

gcc-7_no_asserts:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --disable-asserts
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps

gcc-7_default_i386:
  stage: build
  script:
  - ./tools/ci/jobs/any_compiler.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    LOGFILE: gcc7.log
    CC: gcc-7
    CXX: g++-7
    CXXFLAGS: "-Wall -Wextra"
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-7_openglerrors_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-openglerrors
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps

gcc-7_openglerrors:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-openglerrors
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps

gcc-7_unsigned_char:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
    POST_CXXFLAGS: "-funsigned-char"

gcc7_unsigned_char_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-sdl2
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              git gdb valgrind netcat-openbsd procps
    POST_CXXFLAGS: "-funsigned-char"