.gitlab-ci.yml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. # SExp - A S-Expression Parser for C++
  2. # Copyright (C) 2018 Ingo Ruhnke <grumbel@gmail.com>
  3. #
  4. # This program is free software: you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation, either version 3 of the License, or
  7. # (at your option) any later version.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. # GNU General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU General Public License
  15. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. image: ubuntu:latest
  17. variables:
  18. GIT_SUBMODULE_STRATEGY: recursive
  19. before_script:
  20. - apt-get -qq update
  21. - apt-get -qq -y install lsb-release
  22. - lsb_release -a
  23. - apt-get -qq -y install
  24. clang-6.0
  25. g++-8
  26. language-pack-en
  27. language-pack-de
  28. cmake
  29. build-essential
  30. libc++-dev
  31. .build_sexpr_template: &build_sexpr
  32. stage: build
  33. script:
  34. - mkdir build
  35. - cd build
  36. - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DWARNINGS=ON -DWERROR=ON -DBUILD_TESTS=ON -DBUILD_BENCHMARKS=ON
  37. - make VERBOSE=1
  38. - make test VERBOSE=1 ARGS="-V"
  39. build:gcc:release:
  40. <<: *build_sexpr
  41. variables:
  42. CXX: g++-8
  43. BUILD_TYPE: Release
  44. build:clang:release:
  45. <<: *build_sexpr
  46. variables:
  47. CXX: clang++-6.0
  48. BUILD_TYPE: Release
  49. build:gcc:debug:
  50. <<: *build_sexpr
  51. variables:
  52. CXX: g++-8
  53. BUILD_TYPE: Debug
  54. build:clang:debug:
  55. <<: *build_sexpr
  56. variables:
  57. CXX: clang++-6.0
  58. BUILD_TYPE: Debug
  59. # EOF #