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.

250 lines
9.1 KiB

4 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
4 years ago
3 years ago
3 years ago
  1. name: DNS
  2. on:
  3. push:
  4. paths:
  5. - 'dnsapi/*.sh'
  6. - '.github/workflows/DNS.yml'
  7. pull_request:
  8. branches:
  9. - 'dev'
  10. paths:
  11. - 'dnsapi/*.sh'
  12. - '.github/workflows/DNS.yml'
  13. jobs:
  14. CheckToken:
  15. runs-on: ubuntu-latest
  16. outputs:
  17. hasToken: ${{ steps.step_one.outputs.hasToken }}
  18. steps:
  19. - name: Set the value
  20. id: step_one
  21. run: |
  22. if [ "${{secrets.TokenName1}}" ] ; then
  23. echo "::set-output name=hasToken::true"
  24. else
  25. echo "::set-output name=hasToken::false"
  26. fi
  27. - name: Check the value
  28. run: echo ${{ steps.step_one.outputs.hasToken }}
  29. Fail:
  30. runs-on: ubuntu-latest
  31. needs: CheckToken
  32. if: "contains(needs.CheckToken.outputs.hasToken, 'false')"
  33. steps:
  34. - name: "Read this: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Test"
  35. run: |
  36. echo "Read this: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Test"
  37. if [ "${{github.actor}}" != "Neilpang" ]; then
  38. false
  39. fi
  40. Docker:
  41. runs-on: ubuntu-latest
  42. needs: CheckToken
  43. if: "contains(needs.CheckToken.outputs.hasToken, 'true')"
  44. env:
  45. TEST_DNS : ${{ secrets.TEST_DNS }}
  46. TestingDomain: ${{ secrets.TestingDomain }}
  47. TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
  48. TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
  49. TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
  50. CASE: le_test_dnsapi
  51. TEST_LOCAL: 1
  52. DEBUG: 1
  53. steps:
  54. - uses: actions/checkout@v2
  55. - name: Clone acmetest
  56. run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
  57. - name: Set env file
  58. run: |
  59. cd ../acmetest
  60. if [ "${{ secrets.TokenName1}}" ] ; then
  61. echo "${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}" >> docker.env
  62. fi
  63. if [ "${{ secrets.TokenName2}}" ] ; then
  64. echo "${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}" >> docker.env
  65. fi
  66. if [ "${{ secrets.TokenName3}}" ] ; then
  67. echo "${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}" >> docker.env
  68. fi
  69. if [ "${{ secrets.TokenName4}}" ] ; then
  70. echo "${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}" >> docker.env
  71. fi
  72. if [ "${{ secrets.TokenName5}}" ] ; then
  73. echo "${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}" >> docker.env
  74. fi
  75. echo "TEST_DNS_NO_WILDCARD" >> docker.env
  76. echo "TEST_DNS_SLEEP" >> docker.env
  77. - name: Run acmetest
  78. run: cd ../acmetest && ./rundocker.sh testall
  79. MacOS:
  80. runs-on: macos-latest
  81. needs: Docker
  82. env:
  83. TEST_DNS : ${{ secrets.TEST_DNS }}
  84. TestingDomain: ${{ secrets.TestingDomain }}
  85. TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
  86. TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
  87. CASE: le_test_dnsapi
  88. TEST_LOCAL: 1
  89. DEBUG: 1
  90. steps:
  91. - uses: actions/checkout@v2
  92. - name: Install tools
  93. run: brew install socat
  94. - name: Clone acmetest
  95. run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
  96. - name: Run acmetest
  97. run: |
  98. if [ "${{ secrets.TokenName1}}" ] ; then
  99. export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
  100. fi
  101. if [ "${{ secrets.TokenName2}}" ] ; then
  102. export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
  103. fi
  104. if [ "${{ secrets.TokenName3}}" ] ; then
  105. export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
  106. fi
  107. if [ "${{ secrets.TokenName4}}" ] ; then
  108. export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
  109. fi
  110. if [ "${{ secrets.TokenName5}}" ] ; then
  111. export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
  112. fi
  113. cd ../acmetest
  114. ./letest.sh
  115. Windows:
  116. runs-on: windows-latest
  117. needs: MacOS
  118. env:
  119. TEST_DNS : ${{ secrets.TEST_DNS }}
  120. TestingDomain: ${{ secrets.TestingDomain }}
  121. TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
  122. TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
  123. CASE: le_test_dnsapi
  124. TEST_LOCAL: 1
  125. DEBUG: 1
  126. steps:
  127. - name: Set git to use LF
  128. run: |
  129. git config --global core.autocrlf false
  130. - uses: actions/checkout@v2
  131. - name: Install cygwin base packages with chocolatey
  132. run: |
  133. choco config get cacheLocation
  134. choco install --no-progress cygwin
  135. shell: cmd
  136. - name: Install cygwin additional packages
  137. run: |
  138. C:\tools\cygwin\cygwinsetup.exe -qgnNdO -R C:/tools/cygwin -s http://mirrors.kernel.org/sourceware/cygwin/ -P socat,curl,cron,unzip,git
  139. shell: cmd
  140. - name: Set ENV
  141. shell: cmd
  142. run: |
  143. echo PATH=C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin >> %GITHUB_ENV%
  144. - name: Clone acmetest
  145. run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
  146. - name: Run acmetest
  147. shell: bash
  148. run: |
  149. if [ "${{ secrets.TokenName1}}" ] ; then
  150. export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
  151. fi
  152. if [ "${{ secrets.TokenName2}}" ] ; then
  153. export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
  154. fi
  155. if [ "${{ secrets.TokenName3}}" ] ; then
  156. export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
  157. fi
  158. if [ "${{ secrets.TokenName4}}" ] ; then
  159. export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
  160. fi
  161. if [ "${{ secrets.TokenName5}}" ] ; then
  162. export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
  163. fi
  164. cd ../acmetest
  165. ./letest.sh
  166. FreeBSD:
  167. runs-on: macos-10.15
  168. needs: Windows
  169. env:
  170. TEST_DNS : ${{ secrets.TEST_DNS }}
  171. TestingDomain: ${{ secrets.TestingDomain }}
  172. TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
  173. TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
  174. CASE: le_test_dnsapi
  175. TEST_LOCAL: 1
  176. DEBUG: 1
  177. steps:
  178. - uses: actions/checkout@v2
  179. - name: Clone acmetest
  180. run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
  181. - uses: vmactions/freebsd-vm@v0.1.4
  182. with:
  183. envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
  184. prepare: pkg install -y socat curl
  185. usesh: true
  186. run: |
  187. if [ "${{ secrets.TokenName1}}" ] ; then
  188. export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
  189. fi
  190. if [ "${{ secrets.TokenName2}}" ] ; then
  191. export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
  192. fi
  193. if [ "${{ secrets.TokenName3}}" ] ; then
  194. export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
  195. fi
  196. if [ "${{ secrets.TokenName4}}" ] ; then
  197. export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
  198. fi
  199. if [ "${{ secrets.TokenName5}}" ] ; then
  200. export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
  201. fi
  202. cd ../acmetest
  203. ./letest.sh
  204. Solaris:
  205. runs-on: macos-10.15
  206. needs: FreeBSD
  207. env:
  208. TEST_DNS : ${{ secrets.TEST_DNS }}
  209. TestingDomain: ${{ secrets.TestingDomain }}
  210. TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
  211. TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
  212. CASE: le_test_dnsapi
  213. TEST_LOCAL: 1
  214. DEBUG: 1
  215. steps:
  216. - uses: actions/checkout@v2
  217. - name: Clone acmetest
  218. run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
  219. - uses: vmactions/solaris-vm@v0.0.4
  220. with:
  221. envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
  222. prepare: pkgutil -y -i socat
  223. run: |
  224. pkg set-mediator -v -I default@1.1 openssl
  225. export PATH=/usr/gnu/bin:$PATH
  226. if [ "${{ secrets.TokenName1}}" ] ; then
  227. export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
  228. fi
  229. if [ "${{ secrets.TokenName2}}" ] ; then
  230. export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
  231. fi
  232. if [ "${{ secrets.TokenName3}}" ] ; then
  233. export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
  234. fi
  235. if [ "${{ secrets.TokenName4}}" ] ; then
  236. export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
  237. fi
  238. if [ "${{ secrets.TokenName5}}" ] ; then
  239. export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
  240. fi
  241. cd ../acmetest
  242. ./letest.sh