summaryrefslogblamecommitdiff
path: root/tools/ci/branches/ci_gcc8_tests/.gitlab-ci.yml
blob: 65c5b8be5770f446024ccec5d6ea2a8ee090d246 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

















                        

                                             

              
                                   












                                                                                                             

                                             

              
                                   












                                                                                                                                 


                         
                                   
                                                                                                    
                             













                                                                                                            
                                   













                                                                                                            
                                   














                                                                                                            
                                   














                                                                                                            
                                   














                                                                                                            
                                   

                                                                         
                             












                                                                                                            
                                   
                                                                         
                             









                                                                                                            
                  

              
                                   











                                                                                                            


              
                                   










                                                                                                            



                                                                                     
                             









                                                                                                              
                      

              
                                   













                                                                                                                                                                                                                                 
                           

              
                                   



                                                                                                                                                                                                                                 
                             












                                                                                                            
                                   












                                                                                                            
                                   

















































                                                                                                                    
                                   


                                                                                                        
                             














                                                                                                                    
                             











                                                                                                 
                                   












                                                                                                           
                                   














                                                                                                            
                                   














                                                                                                            
                                   

























                                                                                                              
.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: []

# disabled due asan bug or doctest corruption
.gcc-8_sanitize_doctest_tests:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_sanitize_tests.sh --enable-unittests=doctest --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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 valgrind
    JOBS: 1
  tags:
    - docker

# disabled due asan bug or doctest corruption
.gcc-8_sanitize_glibcdebug_doctest_tests:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_sanitize_tests.sh --enable-glibcdebug --enable-unittests=doctest --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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 valgrind
    JOBS: 1
  tags:
    - docker

gcc-8_doctest_tests_i386:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests.sh --enable-unittests=doctest --without-dyecmd --without-manaplusgame
  image: i386/debian:unstable
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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 valgrind
    JOBS: 1
  tags:
    - docker

gcc-8_tests_simd:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests_simd.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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 valgrind
  tags:
    - docker

gcc-8_tests_O0:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests_simd.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    POST_CXXFLAGS: "-O0"
    PACKAGES: gcc-8 g++-8 
              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 valgrind
  tags:
    - docker

gcc-8_tests_O1:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests_simd.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    POST_CXXFLAGS: "-O1"
    PACKAGES: gcc-8 g++-8 
              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 valgrind
  tags:
    - docker

gcc-8_tests_lto:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    POST_CXXFLAGS: "-ffast-math -O9 -flto -fwhole-program -funswitch-loops"
    PACKAGES: gcc-8 g++-8 
              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 valgrind
  tags:
    - docker

gcc-8_tests_lto_i386:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  image: i386/debian:unstable
  variables:
    POST_CXXFLAGS: "-ffast-math -O9 -flto -fwhole-program -funswitch-loops"
    PACKAGES: gcc-8 g++-8 
              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 valgrind
  tags:
    - docker

gcc-8_tests_i386:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests.sh --without-dyecmd --without-manaplusgame
  image: i386/debian:unstable
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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 valgrind
  tags:
    - docker

gcc-8_tests_flags:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests.sh --without-dyecmd --without-manaplusgame --enable-glibcdebug
  - ./tools/ci/jobs/gcc8_tests.sh --without-dyecmd --without-manaplusgame --enable-stldebug
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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 valgrind
  tags:
    - docker

gcc-8_tests:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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 valgrind
  tags:
    - docker

gcc-8_sdl2_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc8_tests.sh --with-sdl2 --without-dyecmd --without-manaplusgame
  image: i386/debian:unstable
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev 
              git valgrind
  tags:
    - docker

.gcc-8_tests_valgrind:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests.sh --without-dyecmd --without-manaplusgame || true
  - echo test valgrind
  - valgrind -q --read-var-info=yes --track-origins=yes --malloc-fill=11 --free-fill=55 --show-reachable=yes --leak-check=full --leak-resolution=high --partial-loads-ok=yes --error-limit=no ./src/manaplustests 2>logs/valg.log
  - grep "invalid" logs/valg.log && exit 1 || true
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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 valgrind
  tags:
    - docker

.gcc-8_tests_valgrind_i386:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests.sh --without-dyecmd --without-manaplusgame || true
  - echo test valgrind
  - valgrind -q --read-var-info=yes --track-origins=yes --malloc-fill=11 --free-fill=55 --show-reachable=yes --leak-check=full --leak-resolution=high --partial-loads-ok=yes --error-limit=no ./src/manaplustests 2>logs/valg.log
  - grep "invalid" logs/valg.log && exit 1 || true
  image: i386/debian:unstable
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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 valgrind
  tags:
    - docker

gcc-8_separate_doctest:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd
  - ./tools/ci/scripts/separateunittests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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 python

gcc-8_separate_doctest_sanitize:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd
  - ./tools/ci/scripts/separateunittests.sh
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    LSAN_OPTIONS: "suppressions=./tools/ci/scripts/lsansuppression_tests.txt"
    POST_CXXFLAGS: "-D_GLIBCXX_SANITIZE_VECTOR
                    -fsanitize=address -fsanitize=undefined
                    -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
                    -fsanitize=vla-bound -fsanitize=null -fsanitize=return
                    -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
                    -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
                    -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
                    -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict"
    PACKAGES: gcc-8 g++-8 
              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 python
  tags:
    - docker

gcc-8_separate_doctest_sanitize_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc8_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd --with-sdl2
  - ./tools/ci/scripts/separateunittests.sh
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    LSAN_OPTIONS: "suppressions=./tools/ci/scripts/lsansuppression_tests.txt"
    POST_CXXFLAGS: "-D_GLIBCXX_SANITIZE_VECTOR
                    -fsanitize=address -fsanitize=undefined
                    -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
                    -fsanitize=vla-bound -fsanitize=null -fsanitize=return
                    -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
                    -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
                    -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
                    -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict"
    PACKAGES: gcc-8 g++-8 
              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 python
  tags:
    - docker

gcc-8_separate_doctest_i386:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd
  - ./tools/ci/scripts/separateunittests.sh
  <<: *job-push
  image: i386/debian:unstable
  variables:
    PACKAGES: gcc-8 g++-8 
              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 python
  tags:
    - docker

gcc-8_separate_doctest_sdl2_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc8_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd --with-sdl2
  - ./tools/ci/scripts/separateunittests.sh
  <<: *job-push
  image: i386/debian:unstable
  variables:
    PACKAGES: gcc-8 g++-8 
              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 python
  tags:
    - docker

gcc-8_all_and_unittestsbin:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_silent.sh --enable-unittestsbin
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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-8_systemcatch_tests:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests.sh --enable-unittests=systemcatch --without-dyecmd --without-manaplusgame 
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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 valgrind
              catch
  tags:
    - docker

gcc-8_systemdoctest_tests:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests.sh --enable-unittests=systemdoctest --without-dyecmd --without-manaplusgame 
  <<: *job-push
  variables:
    PACKAGES: gcc-8 g++-8 
              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 valgrind
              doctest-dev
  tags:
    - docker

gcc-8_unsigned_char_tests:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc8_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    POST_CXXFLAGS: "-funsigned-char"
    PACKAGES: gcc-8 g++-8 
              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 valgrind
  tags:
    - docker

gcc-8_sdl2_unsigned_char_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc8_tests.sh --with-sdl2 --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    POST_CXXFLAGS: "-funsigned-char"
    PACKAGES: gcc-8 g++-8 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev 
              git valgrind
  tags:
    - docker