My build of nnn with minor changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
преди 5 години
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. version: 2
  2. jobs:
  3. compile:
  4. docker:
  5. - image: ubuntu:18.04
  6. working_directory: ~/nnn
  7. environment:
  8. CI_FORCE_TEST: 1
  9. steps:
  10. - run:
  11. command: |
  12. apt update -qq
  13. apt install -y --no-install-recommends software-properties-common wget gpg-agent
  14. apt-add-repository -y ppa:jonathonf/gcc-9.1
  15. wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|apt-key add -
  16. apt-add-repository -y "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main"
  17. apt update -qq
  18. apt install -y --no-install-recommends git gcc gcc-8 gcc-9 clang clang-8 clang-tidy-8 make pkg-config libncursesw5-dev libreadline-dev
  19. - checkout
  20. - run:
  21. command: |
  22. export CFLAGS=-Werror
  23. make clean
  24. echo
  25. echo "########## gcc ##########"
  26. CC=gcc make strip
  27. ls -l nnn
  28. make clean
  29. echo
  30. echo "########## gcc-8 ##########"
  31. CC=gcc-8 make strip
  32. ls -l nnn
  33. make clean
  34. echo
  35. echo "########## gcc-9 ##########"
  36. CC=gcc-9 make strip
  37. ls -l nnn
  38. make clean
  39. echo
  40. echo "########## clang ##########"
  41. CC=clang make strip
  42. ls -l nnn
  43. make clean
  44. echo
  45. echo "########## clang-8 ##########"
  46. CC=clang-8 make strip
  47. ls -l nnn
  48. make clean
  49. echo
  50. echo "########## clang-tidy-8 ##########"
  51. clang-tidy-8 src/* -- -I/usr/include -I/usr/include/ncursesw
  52. package-and-publish:
  53. machine: true
  54. working_directory: ~/nnn
  55. steps:
  56. - checkout
  57. - run:
  58. name: "package with packagecore"
  59. command: |
  60. # Clean up
  61. rm -rf ./.git
  62. rm -rf ./dist/*
  63. # Pack source
  64. cd ..
  65. tar -czf ${CIRCLE_PROJECT_REPONAME}-${CIRCLE_TAG}.tar.gz ${CIRCLE_PROJECT_REPONAME}
  66. cd ${CIRCLE_PROJECT_REPONAME}
  67. # Use latest installed python3 from pyenv
  68. export PYENV_VERSION="$(pyenv versions | grep -Po '\b3\.\d+\.\d+' | tail -1)"
  69. pip install packagecore
  70. packagecore -c misc/packagecore/packagecore.yaml -o ./dist/ ${CIRCLE_TAG#v}
  71. # Move source pack to dist
  72. mv ../${CIRCLE_PROJECT_REPONAME}-${CIRCLE_TAG}.tar.gz dist/
  73. - run:
  74. name: "publish to GitHub"
  75. command: |
  76. go get github.com/tcnksm/ghr
  77. ghr -t ${GITHUB_API_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -replace ${CIRCLE_TAG} ./dist/
  78. workflows:
  79. version: 2
  80. test:
  81. jobs: &all-tests
  82. - compile
  83. nightly:
  84. triggers:
  85. - schedule:
  86. cron: "0 0 * * 6"
  87. filters:
  88. branches:
  89. only:
  90. - master
  91. jobs: *all-tests
  92. publish-github-release:
  93. jobs:
  94. - package-and-publish:
  95. filters:
  96. tags:
  97. only: /^v.*/
  98. branches:
  99. ignore: /.*/