.travis.yml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. language: cpp
  2. os: linux
  3. stages:
  4. - name: deploy
  5. if: branch = master
  6. - name: before_script
  7. if: branch = master
  8. jobs:
  9. include:
  10. - name: "macOS Build"
  11. os: osx
  12. compiler: clang
  13. osx_image: xcode11.3
  14. script:
  15. - bash scripts/build.macos.release.sh
  16. before_deploy:
  17. - tar czf subconverter_darwin64.tar.gz subconverter
  18. deploy:
  19. provider: releases
  20. token: "$GITHUB_OAUTH_TOKEN"
  21. file: "subconverter_darwin64.tar.gz"
  22. skip_cleanup: true
  23. draft: true
  24. on:
  25. tags: true
  26. - name: "Linux x86 Build"
  27. services: docker
  28. script:
  29. - docker run --rm -v $TRAVIS_BUILD_DIR:/root/workdir multiarch/alpine:x86-latest-stable /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
  30. before_deploy:
  31. - tar czf subconverter_linux32.tar.gz subconverter/
  32. deploy:
  33. provider: releases
  34. token: "$GITHUB_OAUTH_TOKEN"
  35. file: "subconverter_linux32.tar.gz"
  36. skip_cleanup: true
  37. draft: true
  38. on:
  39. tags: true
  40. - name: "Linux x86_64 Build"
  41. services: docker
  42. script:
  43. - docker run -v $TRAVIS_BUILD_DIR:/root/workdir multiarch/alpine:amd64-latest-stable /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
  44. before_deploy:
  45. - tar czf subconverter_linux64.tar.gz subconverter/
  46. deploy:
  47. provider: releases
  48. token: "$GITHUB_OAUTH_TOKEN"
  49. file: "subconverter_linux64.tar.gz"
  50. skip_cleanup: true
  51. draft: true
  52. on:
  53. tags: true
  54. - name: "Linux ARMHF Build"
  55. services: docker
  56. arch: arm64
  57. script:
  58. - docker run --rm -v $TRAVIS_BUILD_DIR:/root/workdir multiarch/alpine:armhf-latest-stable /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
  59. before_deploy:
  60. - tar czf subconverter_armhf.tar.gz subconverter/
  61. deploy:
  62. provider: releases
  63. token: "$GITHUB_OAUTH_TOKEN"
  64. file: "subconverter_armhf.tar.gz"
  65. skip_cleanup: true
  66. draft: true
  67. on:
  68. tags: true
  69. - name: "Linux ARM64 Build"
  70. services: docker
  71. arch: arm64
  72. script:
  73. - docker run -v $TRAVIS_BUILD_DIR:/root/workdir multiarch/alpine:aarch64-latest-stable /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
  74. before_deploy:
  75. - tar czf subconverter_aarch64.tar.gz subconverter/
  76. deploy:
  77. provider: releases
  78. token: "$GITHUB_OAUTH_TOKEN"
  79. file: "subconverter_aarch64.tar.gz"
  80. skip_cleanup: true
  81. draft: true
  82. on:
  83. tags: true
  84. - name: "Windows x86_64 Build"
  85. os: windows
  86. before_install:
  87. - |-
  88. [[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64
  89. choco uninstall -y mingw
  90. choco upgrade --no-progress -y msys2 nodejs
  91. export msys2='cmd //C RefreshEnv.cmd '
  92. export msys2+='& set MSYS=winsymlinks:nativestrict '
  93. export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start'
  94. export mingw64="$msys2 -mingw64 -full-path -here -c "\"\$@"\" --"
  95. export msys2+=" -msys2 -c "\"\$@"\" --"
  96. $msys2 pacman --sync --noconfirm --needed base-devel git mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-libevent mingw-w64-x86_64-pcre2 patch
  97. taskkill //IM gpg-agent.exe //F
  98. export PATH=/C/tools/msys64/mingw64/bin:$PATH
  99. export MAKE=make
  100. before_cache:
  101. - |-
  102. $msys2 pacman --sync --clean --noconfirm
  103. cache:
  104. directories:
  105. - $HOME/AppData/Local/Temp/chocolatey
  106. script:
  107. - $mingw64 bash scripts/build.windows.release.sh
  108. before_deploy:
  109. - 7z a subconverter_win64.7z subconverter/
  110. deploy:
  111. provider: releases
  112. token: "$GITHUB_OAUTH_TOKEN"
  113. file: "subconverter_win64.7z"
  114. skip_cleanup: true
  115. draft: true
  116. on:
  117. tags: true
  118. - name: "Windows x86 Build"
  119. os: windows
  120. before_install:
  121. - |-
  122. [[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64
  123. choco uninstall -y mingw
  124. choco upgrade --no-progress -y msys2 nodejs
  125. export msys2='cmd //C RefreshEnv.cmd '
  126. export msys2+='& set MSYS=winsymlinks:nativestrict '
  127. export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start'
  128. export mingw32="$msys2 -mingw32 -full-path -here -c "\"\$@"\" --"
  129. export msys2+=" -msys2 -c "\"\$@"\" --"
  130. $msys2 pacman --sync --noconfirm --needed base-devel git mingw-w64-i686-gcc mingw-w64-i686-cmake mingw-w64-i686-libevent mingw-w64-i686-pcre2 patch
  131. taskkill //IM gpg-agent.exe //F
  132. export PATH=/C/tools/msys64/mingw64/bin:$PATH
  133. export MAKE=make
  134. before_cache:
  135. - |-
  136. $msys2 pacman --sync --clean --noconfirm
  137. cache:
  138. directories:
  139. - $HOME/AppData/Local/Temp/chocolatey
  140. script:
  141. - $mingw32 bash scripts/build.windows.release.sh
  142. before_deploy:
  143. - 7z a subconverter_win32.7z subconverter/
  144. deploy:
  145. provider: releases
  146. token: "$GITHUB_OAUTH_TOKEN"
  147. file: "subconverter_win32.7z"
  148. skip_cleanup: true
  149. draft: true
  150. on:
  151. tags: true