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.
 
 
 
 
 
 

114 lines
2.7 KiB

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