ci.yml 70 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493
  1. # DO NOT EDIT THIS FILE DIRECTLY!
  2. # To generate this file, run, 'nox -e invoke -- gha.generate'
  3. name: ci
  4. on: [
  5. push,
  6. pull_request
  7. ]
  8. jobs:
  9. pre-commit:
  10. name: Pre-Commit
  11. runs-on: ubuntu-latest
  12. steps:
  13. - uses: actions/checkout@v2
  14. - name: Set up Python
  15. uses: actions/setup-python@v1
  16. with:
  17. python-version: 3.7
  18. - name: Set Cache Key
  19. run: echo "::set-env name=PY::$(python --version --version | sha256sum | cut -d' ' -f1)"
  20. - uses: actions/cache@v1
  21. with:
  22. path: ~/.cache/pre-commit
  23. key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }}
  24. - uses: pre-commit/action@v1.0.1
  25. lint:
  26. runs-on: ubuntu-latest
  27. needs: pre-commit
  28. timeout-minutes: 120
  29. steps:
  30. - uses: actions/checkout@v2
  31. - name: Set up Python 3.7 For Nox
  32. uses: actions/setup-python@v1
  33. with:
  34. python-version: 3.7
  35. - name: Install Nox
  36. run: |
  37. python -m pip install --upgrade pip
  38. pip install nox-py2
  39. - name: Set up Python ${{ matrix.python-version }}
  40. uses: actions/setup-python@v1
  41. with:
  42. python-version: ${{ matrix.python-version }}
  43. - name: Install Lint Requirements
  44. run: |
  45. nox --force-color -e lint --install-only
  46. - name: Run Lint
  47. env:
  48. SKIP_REQUIREMENTS_INSTALL: YES
  49. run: |
  50. nox --force-color -e lint
  51. docs:
  52. runs-on: ubuntu-latest
  53. needs: pre-commit
  54. timeout-minutes: 120
  55. steps:
  56. - uses: actions/checkout@v2
  57. - name: Set up Python 3.7 For Nox
  58. uses: actions/setup-python@v1
  59. with:
  60. python-version: 3.7
  61. - name: Install Nox
  62. run: |
  63. python -m pip install --upgrade pip
  64. pip install nox-py2
  65. - name: Set up Python ${{ matrix.python-version }}
  66. uses: actions/setup-python@v1
  67. with:
  68. python-version: ${{ matrix.python-version }}
  69. - name: Install Doc Requirements
  70. run: |
  71. nox --force-color -e 'docs(compress=True, update=False)' --install-only
  72. - name: Build Docs
  73. env:
  74. SKIP_REQUIREMENTS_INSTALL: YES
  75. run: |
  76. nox --force-color -e 'docs(compress=True, update=False)'
  77. - uses: actions/upload-artifact@v1
  78. with:
  79. name: docs-html
  80. path: doc/html-archive.tar.xz
  81. - uses: actions/upload-artifact@v1
  82. with:
  83. name: docs-man
  84. path: doc/man-archive.tar.xz
  85. amazon-2:
  86. name: Amazon Linux 2
  87. runs-on: ubuntu-latest
  88. #needs: pre-commit
  89. timeout-minutes: 480
  90. steps:
  91. - uses: actions/checkout@v2
  92. - uses: ruby/setup-ruby@v1
  93. with:
  94. ruby-version: 2.6
  95. - name: Set Env Keys
  96. run: |
  97. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  98. echo "::set-env name=BUNDLE_WITH::docker"
  99. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  100. - name: Set Cache Key
  101. run: |
  102. echo "RUBY=${{ env.RUBY }}"
  103. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  104. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  105. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  106. - uses: actions/cache@v1
  107. with:
  108. path: vendor/bundle
  109. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  110. restore-keys: |
  111. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  112. - name: bundle install
  113. run: |
  114. set -e
  115. set -x
  116. bundle config path vendor/bundle
  117. bundle config set with ${{ env.BUNDLE_WITH }}
  118. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  119. bundle install --jobs 4 --retry 3
  120. - name: Generate SSH Key
  121. run: |
  122. set -e
  123. set -x
  124. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  125. - name: Converge Test Container
  126. env:
  127. SALT_DOCKER_IMAGE: 'saltstack/ci-amazon-2'
  128. run: |
  129. set -e
  130. set -x
  131. eval "$(ssh-agent -s)"
  132. ssh-add ~/.ssh/id_rsa
  133. bundle exec kitchen converge --debug py3-amazon-2
  134. - name: Run Tests
  135. env:
  136. NOX_ENV_NAME: 'runtests-zeromq'
  137. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  138. SALT_DOCKER_IMAGE: 'saltstack/ci-amazon-2'
  139. run: |
  140. set -e
  141. set -x
  142. eval "$(ssh-agent -s)"
  143. ssh-add ~/.ssh/id_rsa
  144. bundle exec kitchen verify --debug py3-amazon-2
  145. - name: Destroy Test Container
  146. if: always()
  147. run: |
  148. set -e
  149. set -x
  150. eval "$(ssh-agent -s)"
  151. ssh-add ~/.ssh/id_rsa
  152. bundle exec kitchen destroy py3-amazon-2
  153. - uses: actions/upload-artifact@v1
  154. with:
  155. name: artifacts
  156. path: artifacts/
  157. - name: Upload Test Results
  158. if: always()
  159. shell: bash
  160. env:
  161. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  162. run: |
  163. if [ ! -f report.py ]; then
  164. curl https://report.ci/report.py > report.py
  165. fi
  166. python report.py \
  167. --token ${REPORT_CI_TOKEN} \
  168. --include 'artifacts/xml-unittests-output/*.xml' \
  169. --merge ".*" \
  170. --name="Amazon Linux 2" || echo "Failed to upload test results"
  171. - name: Upload Logs
  172. if: always()
  173. shell: bash
  174. env:
  175. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  176. run: |
  177. if [ ! -f report.py ]; then
  178. curl https://report.ci/report.py > report.py
  179. fi
  180. python report.py \
  181. --token ${REPORT_CI_TOKEN} \
  182. --log-as-python 'artifacts/logs/*.log' \
  183. --name="Amazon Linux 2" || echo "Failed to upload logs"
  184. arch-lts:
  185. name: Arch Linux LTS
  186. runs-on: ubuntu-latest
  187. #needs: pre-commit
  188. timeout-minutes: 480
  189. steps:
  190. - uses: actions/checkout@v2
  191. - uses: ruby/setup-ruby@v1
  192. with:
  193. ruby-version: 2.6
  194. - name: Set Env Keys
  195. run: |
  196. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  197. echo "::set-env name=BUNDLE_WITH::docker"
  198. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  199. - name: Set Cache Key
  200. run: |
  201. echo "RUBY=${{ env.RUBY }}"
  202. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  203. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  204. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  205. - uses: actions/cache@v1
  206. with:
  207. path: vendor/bundle
  208. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  209. restore-keys: |
  210. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  211. - name: bundle install
  212. run: |
  213. set -e
  214. set -x
  215. bundle config path vendor/bundle
  216. bundle config set with ${{ env.BUNDLE_WITH }}
  217. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  218. bundle install --jobs 4 --retry 3
  219. - name: Generate SSH Key
  220. run: |
  221. set -e
  222. set -x
  223. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  224. - name: Converge Test Container
  225. env:
  226. SALT_DOCKER_IMAGE: 'saltstack/ci-arch-lts'
  227. run: |
  228. set -e
  229. set -x
  230. eval "$(ssh-agent -s)"
  231. ssh-add ~/.ssh/id_rsa
  232. bundle exec kitchen converge --debug py3-arch-lts
  233. - name: Run Tests
  234. env:
  235. NOX_ENV_NAME: 'runtests-zeromq'
  236. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  237. SALT_DOCKER_IMAGE: 'saltstack/ci-arch-lts'
  238. run: |
  239. set -e
  240. set -x
  241. eval "$(ssh-agent -s)"
  242. ssh-add ~/.ssh/id_rsa
  243. bundle exec kitchen verify --debug py3-arch-lts
  244. - name: Destroy Test Container
  245. if: always()
  246. run: |
  247. set -e
  248. set -x
  249. eval "$(ssh-agent -s)"
  250. ssh-add ~/.ssh/id_rsa
  251. bundle exec kitchen destroy py3-arch-lts
  252. - uses: actions/upload-artifact@v1
  253. with:
  254. name: artifacts
  255. path: artifacts/
  256. - name: Upload Test Results
  257. if: always()
  258. shell: bash
  259. env:
  260. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  261. run: |
  262. if [ ! -f report.py ]; then
  263. curl https://report.ci/report.py > report.py
  264. fi
  265. python report.py \
  266. --token ${REPORT_CI_TOKEN} \
  267. --include 'artifacts/xml-unittests-output/*.xml' \
  268. --merge ".*" \
  269. --name="Arch Linux LTS" || echo "Failed to upload test results"
  270. - name: Upload Logs
  271. if: always()
  272. shell: bash
  273. env:
  274. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  275. run: |
  276. if [ ! -f report.py ]; then
  277. curl https://report.ci/report.py > report.py
  278. fi
  279. python report.py \
  280. --token ${REPORT_CI_TOKEN} \
  281. --log-as-python 'artifacts/logs/*.log' \
  282. --name="Arch Linux LTS" || echo "Failed to upload logs"
  283. centos-7:
  284. name: CentOS 7
  285. runs-on: ubuntu-latest
  286. #needs: pre-commit
  287. timeout-minutes: 480
  288. steps:
  289. - uses: actions/checkout@v2
  290. - uses: ruby/setup-ruby@v1
  291. with:
  292. ruby-version: 2.6
  293. - name: Set Env Keys
  294. run: |
  295. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  296. echo "::set-env name=BUNDLE_WITH::docker"
  297. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  298. - name: Set Cache Key
  299. run: |
  300. echo "RUBY=${{ env.RUBY }}"
  301. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  302. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  303. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  304. - uses: actions/cache@v1
  305. with:
  306. path: vendor/bundle
  307. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  308. restore-keys: |
  309. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  310. - name: bundle install
  311. run: |
  312. set -e
  313. set -x
  314. bundle config path vendor/bundle
  315. bundle config set with ${{ env.BUNDLE_WITH }}
  316. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  317. bundle install --jobs 4 --retry 3
  318. - name: Generate SSH Key
  319. run: |
  320. set -e
  321. set -x
  322. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  323. - name: Converge Test Container
  324. env:
  325. SALT_DOCKER_IMAGE: 'saltstack/ci-centos-7'
  326. run: |
  327. set -e
  328. set -x
  329. eval "$(ssh-agent -s)"
  330. ssh-add ~/.ssh/id_rsa
  331. bundle exec kitchen converge --debug py3-centos-7
  332. - name: Run Tests
  333. env:
  334. NOX_ENV_NAME: 'runtests-zeromq'
  335. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  336. SALT_DOCKER_IMAGE: 'saltstack/ci-centos-7'
  337. run: |
  338. set -e
  339. set -x
  340. eval "$(ssh-agent -s)"
  341. ssh-add ~/.ssh/id_rsa
  342. bundle exec kitchen verify --debug py3-centos-7
  343. - name: Destroy Test Container
  344. if: always()
  345. run: |
  346. set -e
  347. set -x
  348. eval "$(ssh-agent -s)"
  349. ssh-add ~/.ssh/id_rsa
  350. bundle exec kitchen destroy py3-centos-7
  351. - uses: actions/upload-artifact@v1
  352. with:
  353. name: artifacts
  354. path: artifacts/
  355. - name: Upload Test Results
  356. if: always()
  357. shell: bash
  358. env:
  359. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  360. run: |
  361. if [ ! -f report.py ]; then
  362. curl https://report.ci/report.py > report.py
  363. fi
  364. python report.py \
  365. --token ${REPORT_CI_TOKEN} \
  366. --include 'artifacts/xml-unittests-output/*.xml' \
  367. --merge ".*" \
  368. --name="CentOS 7" || echo "Failed to upload test results"
  369. - name: Upload Logs
  370. if: always()
  371. shell: bash
  372. env:
  373. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  374. run: |
  375. if [ ! -f report.py ]; then
  376. curl https://report.ci/report.py > report.py
  377. fi
  378. python report.py \
  379. --token ${REPORT_CI_TOKEN} \
  380. --log-as-python 'artifacts/logs/*.log' \
  381. --name="CentOS 7" || echo "Failed to upload logs"
  382. centos-7-m2crypto:
  383. name: CentOS 7 M2Crypto
  384. runs-on: ubuntu-latest
  385. #needs: pre-commit
  386. timeout-minutes: 480
  387. steps:
  388. - uses: actions/checkout@v2
  389. - uses: ruby/setup-ruby@v1
  390. with:
  391. ruby-version: 2.6
  392. - name: Set Env Keys
  393. run: |
  394. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  395. echo "::set-env name=BUNDLE_WITH::docker"
  396. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  397. - name: Set Cache Key
  398. run: |
  399. echo "RUBY=${{ env.RUBY }}"
  400. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  401. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  402. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  403. - uses: actions/cache@v1
  404. with:
  405. path: vendor/bundle
  406. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  407. restore-keys: |
  408. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  409. - name: bundle install
  410. run: |
  411. set -e
  412. set -x
  413. bundle config path vendor/bundle
  414. bundle config set with ${{ env.BUNDLE_WITH }}
  415. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  416. bundle install --jobs 4 --retry 3
  417. - name: Generate SSH Key
  418. run: |
  419. set -e
  420. set -x
  421. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  422. - name: Converge Test Container
  423. env:
  424. SALT_DOCKER_IMAGE: 'saltstack/ci-centos-7'
  425. run: |
  426. set -e
  427. set -x
  428. eval "$(ssh-agent -s)"
  429. ssh-add ~/.ssh/id_rsa
  430. bundle exec kitchen converge --debug py3-centos-7
  431. - name: Run Tests
  432. env:
  433. NOX_ENV_NAME: 'runtests-zeromq-m2crypto'
  434. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  435. SALT_DOCKER_IMAGE: 'saltstack/ci-centos-7'
  436. run: |
  437. set -e
  438. set -x
  439. eval "$(ssh-agent -s)"
  440. ssh-add ~/.ssh/id_rsa
  441. bundle exec kitchen verify --debug py3-centos-7
  442. - name: Destroy Test Container
  443. if: always()
  444. run: |
  445. set -e
  446. set -x
  447. eval "$(ssh-agent -s)"
  448. ssh-add ~/.ssh/id_rsa
  449. bundle exec kitchen destroy py3-centos-7
  450. - uses: actions/upload-artifact@v1
  451. with:
  452. name: artifacts
  453. path: artifacts/
  454. - name: Upload Test Results
  455. if: always()
  456. shell: bash
  457. env:
  458. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  459. run: |
  460. if [ ! -f report.py ]; then
  461. curl https://report.ci/report.py > report.py
  462. fi
  463. python report.py \
  464. --token ${REPORT_CI_TOKEN} \
  465. --include 'artifacts/xml-unittests-output/*.xml' \
  466. --merge ".*" \
  467. --name="CentOS 7 M2Crypto" || echo "Failed to upload test results"
  468. - name: Upload Logs
  469. if: always()
  470. shell: bash
  471. env:
  472. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  473. run: |
  474. if [ ! -f report.py ]; then
  475. curl https://report.ci/report.py > report.py
  476. fi
  477. python report.py \
  478. --token ${REPORT_CI_TOKEN} \
  479. --log-as-python 'artifacts/logs/*.log' \
  480. --name="CentOS 7 M2Crypto" || echo "Failed to upload logs"
  481. centos-7-proxy:
  482. name: CentOS 7 Proxy
  483. runs-on: ubuntu-latest
  484. #needs: pre-commit
  485. timeout-minutes: 480
  486. steps:
  487. - uses: actions/checkout@v2
  488. - uses: ruby/setup-ruby@v1
  489. with:
  490. ruby-version: 2.6
  491. - name: Set Env Keys
  492. run: |
  493. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  494. echo "::set-env name=BUNDLE_WITH::docker"
  495. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  496. - name: Set Cache Key
  497. run: |
  498. echo "RUBY=${{ env.RUBY }}"
  499. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  500. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  501. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  502. - uses: actions/cache@v1
  503. with:
  504. path: vendor/bundle
  505. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  506. restore-keys: |
  507. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  508. - name: bundle install
  509. run: |
  510. set -e
  511. set -x
  512. bundle config path vendor/bundle
  513. bundle config set with ${{ env.BUNDLE_WITH }}
  514. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  515. bundle install --jobs 4 --retry 3
  516. - name: Generate SSH Key
  517. run: |
  518. set -e
  519. set -x
  520. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  521. - name: Converge Test Container
  522. env:
  523. SALT_DOCKER_IMAGE: 'saltstack/ci-centos-7'
  524. run: |
  525. set -e
  526. set -x
  527. eval "$(ssh-agent -s)"
  528. ssh-add ~/.ssh/id_rsa
  529. bundle exec kitchen converge --debug py3-centos-7
  530. - name: Run Tests
  531. env:
  532. NOX_ENV_NAME: 'runtests-zeromq'
  533. NOX_PASSTHROUGH_OPTS: '--proxy'
  534. SALT_DOCKER_IMAGE: 'saltstack/ci-centos-7'
  535. run: |
  536. set -e
  537. set -x
  538. eval "$(ssh-agent -s)"
  539. ssh-add ~/.ssh/id_rsa
  540. bundle exec kitchen verify --debug py3-centos-7
  541. - name: Destroy Test Container
  542. if: always()
  543. run: |
  544. set -e
  545. set -x
  546. eval "$(ssh-agent -s)"
  547. ssh-add ~/.ssh/id_rsa
  548. bundle exec kitchen destroy py3-centos-7
  549. - uses: actions/upload-artifact@v1
  550. with:
  551. name: artifacts
  552. path: artifacts/
  553. - name: Upload Test Results
  554. if: always()
  555. shell: bash
  556. env:
  557. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  558. run: |
  559. if [ ! -f report.py ]; then
  560. curl https://report.ci/report.py > report.py
  561. fi
  562. python report.py \
  563. --token ${REPORT_CI_TOKEN} \
  564. --include 'artifacts/xml-unittests-output/*.xml' \
  565. --merge ".*" \
  566. --name="CentOS 7 Proxy" || echo "Failed to upload test results"
  567. - name: Upload Logs
  568. if: always()
  569. shell: bash
  570. env:
  571. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  572. run: |
  573. if [ ! -f report.py ]; then
  574. curl https://report.ci/report.py > report.py
  575. fi
  576. python report.py \
  577. --token ${REPORT_CI_TOKEN} \
  578. --log-as-python 'artifacts/logs/*.log' \
  579. --name="CentOS 7 Proxy" || echo "Failed to upload logs"
  580. centos-7-pycryptodome:
  581. name: CentOS 7 PyCryptodome
  582. runs-on: ubuntu-latest
  583. #needs: pre-commit
  584. timeout-minutes: 480
  585. steps:
  586. - uses: actions/checkout@v2
  587. - uses: ruby/setup-ruby@v1
  588. with:
  589. ruby-version: 2.6
  590. - name: Set Env Keys
  591. run: |
  592. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  593. echo "::set-env name=BUNDLE_WITH::docker"
  594. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  595. - name: Set Cache Key
  596. run: |
  597. echo "RUBY=${{ env.RUBY }}"
  598. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  599. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  600. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  601. - uses: actions/cache@v1
  602. with:
  603. path: vendor/bundle
  604. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  605. restore-keys: |
  606. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  607. - name: bundle install
  608. run: |
  609. set -e
  610. set -x
  611. bundle config path vendor/bundle
  612. bundle config set with ${{ env.BUNDLE_WITH }}
  613. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  614. bundle install --jobs 4 --retry 3
  615. - name: Generate SSH Key
  616. run: |
  617. set -e
  618. set -x
  619. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  620. - name: Converge Test Container
  621. env:
  622. SALT_DOCKER_IMAGE: 'saltstack/ci-centos-7'
  623. run: |
  624. set -e
  625. set -x
  626. eval "$(ssh-agent -s)"
  627. ssh-add ~/.ssh/id_rsa
  628. bundle exec kitchen converge --debug py3-centos-7
  629. - name: Run Tests
  630. env:
  631. NOX_ENV_NAME: 'runtests-zeromq-pycryptodome'
  632. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  633. SALT_DOCKER_IMAGE: 'saltstack/ci-centos-7'
  634. run: |
  635. set -e
  636. set -x
  637. eval "$(ssh-agent -s)"
  638. ssh-add ~/.ssh/id_rsa
  639. bundle exec kitchen verify --debug py3-centos-7
  640. - name: Destroy Test Container
  641. if: always()
  642. run: |
  643. set -e
  644. set -x
  645. eval "$(ssh-agent -s)"
  646. ssh-add ~/.ssh/id_rsa
  647. bundle exec kitchen destroy py3-centos-7
  648. - uses: actions/upload-artifact@v1
  649. with:
  650. name: artifacts
  651. path: artifacts/
  652. - name: Upload Test Results
  653. if: always()
  654. shell: bash
  655. env:
  656. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  657. run: |
  658. if [ ! -f report.py ]; then
  659. curl https://report.ci/report.py > report.py
  660. fi
  661. python report.py \
  662. --token ${REPORT_CI_TOKEN} \
  663. --include 'artifacts/xml-unittests-output/*.xml' \
  664. --merge ".*" \
  665. --name="CentOS 7 PyCryptodome" || echo "Failed to upload test results"
  666. - name: Upload Logs
  667. if: always()
  668. shell: bash
  669. env:
  670. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  671. run: |
  672. if [ ! -f report.py ]; then
  673. curl https://report.ci/report.py > report.py
  674. fi
  675. python report.py \
  676. --token ${REPORT_CI_TOKEN} \
  677. --log-as-python 'artifacts/logs/*.log' \
  678. --name="CentOS 7 PyCryptodome" || echo "Failed to upload logs"
  679. centos-7-tcp:
  680. name: CentOS 7 TCP
  681. runs-on: ubuntu-latest
  682. #needs: pre-commit
  683. timeout-minutes: 480
  684. steps:
  685. - uses: actions/checkout@v2
  686. - uses: ruby/setup-ruby@v1
  687. with:
  688. ruby-version: 2.6
  689. - name: Set Env Keys
  690. run: |
  691. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  692. echo "::set-env name=BUNDLE_WITH::docker"
  693. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  694. - name: Set Cache Key
  695. run: |
  696. echo "RUBY=${{ env.RUBY }}"
  697. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  698. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  699. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  700. - uses: actions/cache@v1
  701. with:
  702. path: vendor/bundle
  703. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  704. restore-keys: |
  705. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  706. - name: bundle install
  707. run: |
  708. set -e
  709. set -x
  710. bundle config path vendor/bundle
  711. bundle config set with ${{ env.BUNDLE_WITH }}
  712. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  713. bundle install --jobs 4 --retry 3
  714. - name: Generate SSH Key
  715. run: |
  716. set -e
  717. set -x
  718. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  719. - name: Converge Test Container
  720. env:
  721. SALT_DOCKER_IMAGE: 'saltstack/ci-centos-7'
  722. run: |
  723. set -e
  724. set -x
  725. eval "$(ssh-agent -s)"
  726. ssh-add ~/.ssh/id_rsa
  727. bundle exec kitchen converge --debug py3-centos-7
  728. - name: Run Tests
  729. env:
  730. NOX_ENV_NAME: 'runtests-tcp'
  731. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  732. SALT_DOCKER_IMAGE: 'saltstack/ci-centos-7'
  733. run: |
  734. set -e
  735. set -x
  736. eval "$(ssh-agent -s)"
  737. ssh-add ~/.ssh/id_rsa
  738. bundle exec kitchen verify --debug py3-centos-7
  739. - name: Destroy Test Container
  740. if: always()
  741. run: |
  742. set -e
  743. set -x
  744. eval "$(ssh-agent -s)"
  745. ssh-add ~/.ssh/id_rsa
  746. bundle exec kitchen destroy py3-centos-7
  747. - uses: actions/upload-artifact@v1
  748. with:
  749. name: artifacts
  750. path: artifacts/
  751. - name: Upload Test Results
  752. if: always()
  753. shell: bash
  754. env:
  755. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  756. run: |
  757. if [ ! -f report.py ]; then
  758. curl https://report.ci/report.py > report.py
  759. fi
  760. python report.py \
  761. --token ${REPORT_CI_TOKEN} \
  762. --include 'artifacts/xml-unittests-output/*.xml' \
  763. --merge ".*" \
  764. --name="CentOS 7 TCP" || echo "Failed to upload test results"
  765. - name: Upload Logs
  766. if: always()
  767. shell: bash
  768. env:
  769. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  770. run: |
  771. if [ ! -f report.py ]; then
  772. curl https://report.ci/report.py > report.py
  773. fi
  774. python report.py \
  775. --token ${REPORT_CI_TOKEN} \
  776. --log-as-python 'artifacts/logs/*.log' \
  777. --name="CentOS 7 TCP" || echo "Failed to upload logs"
  778. centos-8:
  779. name: CentOS 8
  780. runs-on: ubuntu-latest
  781. #needs: pre-commit
  782. timeout-minutes: 480
  783. steps:
  784. - uses: actions/checkout@v2
  785. - uses: ruby/setup-ruby@v1
  786. with:
  787. ruby-version: 2.6
  788. - name: Set Env Keys
  789. run: |
  790. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  791. echo "::set-env name=BUNDLE_WITH::docker"
  792. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  793. - name: Set Cache Key
  794. run: |
  795. echo "RUBY=${{ env.RUBY }}"
  796. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  797. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  798. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  799. - uses: actions/cache@v1
  800. with:
  801. path: vendor/bundle
  802. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  803. restore-keys: |
  804. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  805. - name: bundle install
  806. run: |
  807. set -e
  808. set -x
  809. bundle config path vendor/bundle
  810. bundle config set with ${{ env.BUNDLE_WITH }}
  811. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  812. bundle install --jobs 4 --retry 3
  813. - name: Generate SSH Key
  814. run: |
  815. set -e
  816. set -x
  817. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  818. - name: Converge Test Container
  819. env:
  820. SALT_DOCKER_IMAGE: 'saltstack/ci-centos-8'
  821. run: |
  822. set -e
  823. set -x
  824. eval "$(ssh-agent -s)"
  825. ssh-add ~/.ssh/id_rsa
  826. bundle exec kitchen converge --debug py3-centos-8
  827. - name: Run Tests
  828. env:
  829. NOX_ENV_NAME: 'runtests-zeromq'
  830. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  831. SALT_DOCKER_IMAGE: 'saltstack/ci-centos-8'
  832. run: |
  833. set -e
  834. set -x
  835. eval "$(ssh-agent -s)"
  836. ssh-add ~/.ssh/id_rsa
  837. bundle exec kitchen verify --debug py3-centos-8
  838. - name: Destroy Test Container
  839. if: always()
  840. run: |
  841. set -e
  842. set -x
  843. eval "$(ssh-agent -s)"
  844. ssh-add ~/.ssh/id_rsa
  845. bundle exec kitchen destroy py3-centos-8
  846. - uses: actions/upload-artifact@v1
  847. with:
  848. name: artifacts
  849. path: artifacts/
  850. - name: Upload Test Results
  851. if: always()
  852. shell: bash
  853. env:
  854. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  855. run: |
  856. if [ ! -f report.py ]; then
  857. curl https://report.ci/report.py > report.py
  858. fi
  859. python report.py \
  860. --token ${REPORT_CI_TOKEN} \
  861. --include 'artifacts/xml-unittests-output/*.xml' \
  862. --merge ".*" \
  863. --name="CentOS 8" || echo "Failed to upload test results"
  864. - name: Upload Logs
  865. if: always()
  866. shell: bash
  867. env:
  868. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  869. run: |
  870. if [ ! -f report.py ]; then
  871. curl https://report.ci/report.py > report.py
  872. fi
  873. python report.py \
  874. --token ${REPORT_CI_TOKEN} \
  875. --log-as-python 'artifacts/logs/*.log' \
  876. --name="CentOS 8" || echo "Failed to upload logs"
  877. debian-10:
  878. name: Debian 10
  879. runs-on: ubuntu-latest
  880. #needs: pre-commit
  881. timeout-minutes: 480
  882. steps:
  883. - uses: actions/checkout@v2
  884. - uses: ruby/setup-ruby@v1
  885. with:
  886. ruby-version: 2.6
  887. - name: Set Env Keys
  888. run: |
  889. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  890. echo "::set-env name=BUNDLE_WITH::docker"
  891. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  892. - name: Set Cache Key
  893. run: |
  894. echo "RUBY=${{ env.RUBY }}"
  895. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  896. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  897. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  898. - uses: actions/cache@v1
  899. with:
  900. path: vendor/bundle
  901. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  902. restore-keys: |
  903. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  904. - name: bundle install
  905. run: |
  906. set -e
  907. set -x
  908. bundle config path vendor/bundle
  909. bundle config set with ${{ env.BUNDLE_WITH }}
  910. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  911. bundle install --jobs 4 --retry 3
  912. - name: Generate SSH Key
  913. run: |
  914. set -e
  915. set -x
  916. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  917. - name: Converge Test Container
  918. env:
  919. SALT_DOCKER_IMAGE: 'saltstack/ci-debian-10'
  920. run: |
  921. set -e
  922. set -x
  923. eval "$(ssh-agent -s)"
  924. ssh-add ~/.ssh/id_rsa
  925. bundle exec kitchen converge --debug py3-debian-10
  926. - name: Run Tests
  927. env:
  928. NOX_ENV_NAME: 'runtests-zeromq'
  929. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  930. SALT_DOCKER_IMAGE: 'saltstack/ci-debian-10'
  931. run: |
  932. set -e
  933. set -x
  934. eval "$(ssh-agent -s)"
  935. ssh-add ~/.ssh/id_rsa
  936. bundle exec kitchen verify --debug py3-debian-10
  937. - name: Destroy Test Container
  938. if: always()
  939. run: |
  940. set -e
  941. set -x
  942. eval "$(ssh-agent -s)"
  943. ssh-add ~/.ssh/id_rsa
  944. bundle exec kitchen destroy py3-debian-10
  945. - uses: actions/upload-artifact@v1
  946. with:
  947. name: artifacts
  948. path: artifacts/
  949. - name: Upload Test Results
  950. if: always()
  951. shell: bash
  952. env:
  953. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  954. run: |
  955. if [ ! -f report.py ]; then
  956. curl https://report.ci/report.py > report.py
  957. fi
  958. python report.py \
  959. --token ${REPORT_CI_TOKEN} \
  960. --include 'artifacts/xml-unittests-output/*.xml' \
  961. --merge ".*" \
  962. --name="Debian 10" || echo "Failed to upload test results"
  963. - name: Upload Logs
  964. if: always()
  965. shell: bash
  966. env:
  967. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  968. run: |
  969. if [ ! -f report.py ]; then
  970. curl https://report.ci/report.py > report.py
  971. fi
  972. python report.py \
  973. --token ${REPORT_CI_TOKEN} \
  974. --log-as-python 'artifacts/logs/*.log' \
  975. --name="Debian 10" || echo "Failed to upload logs"
  976. debian-9:
  977. name: Debian 9
  978. runs-on: ubuntu-latest
  979. #needs: pre-commit
  980. timeout-minutes: 480
  981. steps:
  982. - uses: actions/checkout@v2
  983. - uses: ruby/setup-ruby@v1
  984. with:
  985. ruby-version: 2.6
  986. - name: Set Env Keys
  987. run: |
  988. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  989. echo "::set-env name=BUNDLE_WITH::docker"
  990. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  991. - name: Set Cache Key
  992. run: |
  993. echo "RUBY=${{ env.RUBY }}"
  994. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  995. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  996. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  997. - uses: actions/cache@v1
  998. with:
  999. path: vendor/bundle
  1000. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  1001. restore-keys: |
  1002. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  1003. - name: bundle install
  1004. run: |
  1005. set -e
  1006. set -x
  1007. bundle config path vendor/bundle
  1008. bundle config set with ${{ env.BUNDLE_WITH }}
  1009. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  1010. bundle install --jobs 4 --retry 3
  1011. - name: Generate SSH Key
  1012. run: |
  1013. set -e
  1014. set -x
  1015. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  1016. - name: Converge Test Container
  1017. env:
  1018. SALT_DOCKER_IMAGE: 'saltstack/ci-debian-9'
  1019. run: |
  1020. set -e
  1021. set -x
  1022. eval "$(ssh-agent -s)"
  1023. ssh-add ~/.ssh/id_rsa
  1024. bundle exec kitchen converge --debug py3-debian-9
  1025. - name: Run Tests
  1026. env:
  1027. NOX_ENV_NAME: 'runtests-zeromq'
  1028. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  1029. SALT_DOCKER_IMAGE: 'saltstack/ci-debian-9'
  1030. run: |
  1031. set -e
  1032. set -x
  1033. eval "$(ssh-agent -s)"
  1034. ssh-add ~/.ssh/id_rsa
  1035. bundle exec kitchen verify --debug py3-debian-9
  1036. - name: Destroy Test Container
  1037. if: always()
  1038. run: |
  1039. set -e
  1040. set -x
  1041. eval "$(ssh-agent -s)"
  1042. ssh-add ~/.ssh/id_rsa
  1043. bundle exec kitchen destroy py3-debian-9
  1044. - uses: actions/upload-artifact@v1
  1045. with:
  1046. name: artifacts
  1047. path: artifacts/
  1048. - name: Upload Test Results
  1049. if: always()
  1050. shell: bash
  1051. env:
  1052. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1053. run: |
  1054. if [ ! -f report.py ]; then
  1055. curl https://report.ci/report.py > report.py
  1056. fi
  1057. python report.py \
  1058. --token ${REPORT_CI_TOKEN} \
  1059. --include 'artifacts/xml-unittests-output/*.xml' \
  1060. --merge ".*" \
  1061. --name="Debian 9" || echo "Failed to upload test results"
  1062. - name: Upload Logs
  1063. if: always()
  1064. shell: bash
  1065. env:
  1066. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1067. run: |
  1068. if [ ! -f report.py ]; then
  1069. curl https://report.ci/report.py > report.py
  1070. fi
  1071. python report.py \
  1072. --token ${REPORT_CI_TOKEN} \
  1073. --log-as-python 'artifacts/logs/*.log' \
  1074. --name="Debian 9" || echo "Failed to upload logs"
  1075. fedora-31:
  1076. name: Fedora 31
  1077. runs-on: ubuntu-latest
  1078. #needs: pre-commit
  1079. timeout-minutes: 480
  1080. steps:
  1081. - uses: actions/checkout@v2
  1082. - uses: ruby/setup-ruby@v1
  1083. with:
  1084. ruby-version: 2.6
  1085. - name: Set Env Keys
  1086. run: |
  1087. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  1088. echo "::set-env name=BUNDLE_WITH::docker"
  1089. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  1090. - name: Set Cache Key
  1091. run: |
  1092. echo "RUBY=${{ env.RUBY }}"
  1093. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  1094. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  1095. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  1096. - uses: actions/cache@v1
  1097. with:
  1098. path: vendor/bundle
  1099. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  1100. restore-keys: |
  1101. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  1102. - name: bundle install
  1103. run: |
  1104. set -e
  1105. set -x
  1106. bundle config path vendor/bundle
  1107. bundle config set with ${{ env.BUNDLE_WITH }}
  1108. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  1109. bundle install --jobs 4 --retry 3
  1110. - name: Generate SSH Key
  1111. run: |
  1112. set -e
  1113. set -x
  1114. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  1115. - name: Converge Test Container
  1116. env:
  1117. SALT_DOCKER_IMAGE: 'saltstack/ci-fedora-31'
  1118. run: |
  1119. set -e
  1120. set -x
  1121. eval "$(ssh-agent -s)"
  1122. ssh-add ~/.ssh/id_rsa
  1123. bundle exec kitchen converge --debug py3-fedora-31
  1124. - name: Run Tests
  1125. env:
  1126. NOX_ENV_NAME: 'runtests-zeromq'
  1127. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  1128. SALT_DOCKER_IMAGE: 'saltstack/ci-fedora-31'
  1129. run: |
  1130. set -e
  1131. set -x
  1132. eval "$(ssh-agent -s)"
  1133. ssh-add ~/.ssh/id_rsa
  1134. bundle exec kitchen verify --debug py3-fedora-31
  1135. - name: Destroy Test Container
  1136. if: always()
  1137. run: |
  1138. set -e
  1139. set -x
  1140. eval "$(ssh-agent -s)"
  1141. ssh-add ~/.ssh/id_rsa
  1142. bundle exec kitchen destroy py3-fedora-31
  1143. - uses: actions/upload-artifact@v1
  1144. with:
  1145. name: artifacts
  1146. path: artifacts/
  1147. - name: Upload Test Results
  1148. if: always()
  1149. shell: bash
  1150. env:
  1151. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1152. run: |
  1153. if [ ! -f report.py ]; then
  1154. curl https://report.ci/report.py > report.py
  1155. fi
  1156. python report.py \
  1157. --token ${REPORT_CI_TOKEN} \
  1158. --include 'artifacts/xml-unittests-output/*.xml' \
  1159. --merge ".*" \
  1160. --name="Fedora 31" || echo "Failed to upload test results"
  1161. - name: Upload Logs
  1162. if: always()
  1163. shell: bash
  1164. env:
  1165. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1166. run: |
  1167. if [ ! -f report.py ]; then
  1168. curl https://report.ci/report.py > report.py
  1169. fi
  1170. python report.py \
  1171. --token ${REPORT_CI_TOKEN} \
  1172. --log-as-python 'artifacts/logs/*.log' \
  1173. --name="Fedora 31" || echo "Failed to upload logs"
  1174. fedora-32:
  1175. name: Fedora 32
  1176. runs-on: ubuntu-latest
  1177. #needs: pre-commit
  1178. timeout-minutes: 480
  1179. steps:
  1180. - uses: actions/checkout@v2
  1181. - uses: ruby/setup-ruby@v1
  1182. with:
  1183. ruby-version: 2.6
  1184. - name: Set Env Keys
  1185. run: |
  1186. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  1187. echo "::set-env name=BUNDLE_WITH::docker"
  1188. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  1189. - name: Set Cache Key
  1190. run: |
  1191. echo "RUBY=${{ env.RUBY }}"
  1192. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  1193. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  1194. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  1195. - uses: actions/cache@v1
  1196. with:
  1197. path: vendor/bundle
  1198. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  1199. restore-keys: |
  1200. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  1201. - name: bundle install
  1202. run: |
  1203. set -e
  1204. set -x
  1205. bundle config path vendor/bundle
  1206. bundle config set with ${{ env.BUNDLE_WITH }}
  1207. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  1208. bundle install --jobs 4 --retry 3
  1209. - name: Generate SSH Key
  1210. run: |
  1211. set -e
  1212. set -x
  1213. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  1214. - name: Converge Test Container
  1215. env:
  1216. SALT_DOCKER_IMAGE: 'saltstack/ci-fedora-32'
  1217. run: |
  1218. set -e
  1219. set -x
  1220. eval "$(ssh-agent -s)"
  1221. ssh-add ~/.ssh/id_rsa
  1222. bundle exec kitchen converge --debug py3-fedora-32
  1223. - name: Run Tests
  1224. env:
  1225. NOX_ENV_NAME: 'runtests-zeromq'
  1226. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  1227. SALT_DOCKER_IMAGE: 'saltstack/ci-fedora-32'
  1228. run: |
  1229. set -e
  1230. set -x
  1231. eval "$(ssh-agent -s)"
  1232. ssh-add ~/.ssh/id_rsa
  1233. bundle exec kitchen verify --debug py3-fedora-32
  1234. - name: Destroy Test Container
  1235. if: always()
  1236. run: |
  1237. set -e
  1238. set -x
  1239. eval "$(ssh-agent -s)"
  1240. ssh-add ~/.ssh/id_rsa
  1241. bundle exec kitchen destroy py3-fedora-32
  1242. - uses: actions/upload-artifact@v1
  1243. with:
  1244. name: artifacts
  1245. path: artifacts/
  1246. - name: Upload Test Results
  1247. if: always()
  1248. shell: bash
  1249. env:
  1250. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1251. run: |
  1252. if [ ! -f report.py ]; then
  1253. curl https://report.ci/report.py > report.py
  1254. fi
  1255. python report.py \
  1256. --token ${REPORT_CI_TOKEN} \
  1257. --include 'artifacts/xml-unittests-output/*.xml' \
  1258. --merge ".*" \
  1259. --name="Fedora 32" || echo "Failed to upload test results"
  1260. - name: Upload Logs
  1261. if: always()
  1262. shell: bash
  1263. env:
  1264. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1265. run: |
  1266. if [ ! -f report.py ]; then
  1267. curl https://report.ci/report.py > report.py
  1268. fi
  1269. python report.py \
  1270. --token ${REPORT_CI_TOKEN} \
  1271. --log-as-python 'artifacts/logs/*.log' \
  1272. --name="Fedora 32" || echo "Failed to upload logs"
  1273. opensuse-15:
  1274. name: Opensuse 15
  1275. runs-on: ubuntu-latest
  1276. #needs: pre-commit
  1277. timeout-minutes: 480
  1278. steps:
  1279. - uses: actions/checkout@v2
  1280. - uses: ruby/setup-ruby@v1
  1281. with:
  1282. ruby-version: 2.6
  1283. - name: Set Env Keys
  1284. run: |
  1285. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  1286. echo "::set-env name=BUNDLE_WITH::docker"
  1287. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  1288. - name: Set Cache Key
  1289. run: |
  1290. echo "RUBY=${{ env.RUBY }}"
  1291. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  1292. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  1293. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  1294. - uses: actions/cache@v1
  1295. with:
  1296. path: vendor/bundle
  1297. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  1298. restore-keys: |
  1299. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  1300. - name: bundle install
  1301. run: |
  1302. set -e
  1303. set -x
  1304. bundle config path vendor/bundle
  1305. bundle config set with ${{ env.BUNDLE_WITH }}
  1306. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  1307. bundle install --jobs 4 --retry 3
  1308. - name: Generate SSH Key
  1309. run: |
  1310. set -e
  1311. set -x
  1312. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  1313. - name: Converge Test Container
  1314. env:
  1315. SALT_DOCKER_IMAGE: 'saltstack/ci-opensuse-15'
  1316. run: |
  1317. set -e
  1318. set -x
  1319. eval "$(ssh-agent -s)"
  1320. ssh-add ~/.ssh/id_rsa
  1321. bundle exec kitchen converge --debug py3-opensuse-15
  1322. - name: Run Tests
  1323. env:
  1324. NOX_ENV_NAME: 'runtests-zeromq'
  1325. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  1326. SALT_DOCKER_IMAGE: 'saltstack/ci-opensuse-15'
  1327. run: |
  1328. set -e
  1329. set -x
  1330. eval "$(ssh-agent -s)"
  1331. ssh-add ~/.ssh/id_rsa
  1332. bundle exec kitchen verify --debug py3-opensuse-15
  1333. - name: Destroy Test Container
  1334. if: always()
  1335. run: |
  1336. set -e
  1337. set -x
  1338. eval "$(ssh-agent -s)"
  1339. ssh-add ~/.ssh/id_rsa
  1340. bundle exec kitchen destroy py3-opensuse-15
  1341. - uses: actions/upload-artifact@v1
  1342. with:
  1343. name: artifacts
  1344. path: artifacts/
  1345. - name: Upload Test Results
  1346. if: always()
  1347. shell: bash
  1348. env:
  1349. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1350. run: |
  1351. if [ ! -f report.py ]; then
  1352. curl https://report.ci/report.py > report.py
  1353. fi
  1354. python report.py \
  1355. --token ${REPORT_CI_TOKEN} \
  1356. --include 'artifacts/xml-unittests-output/*.xml' \
  1357. --merge ".*" \
  1358. --name="Opensuse 15" || echo "Failed to upload test results"
  1359. - name: Upload Logs
  1360. if: always()
  1361. shell: bash
  1362. env:
  1363. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1364. run: |
  1365. if [ ! -f report.py ]; then
  1366. curl https://report.ci/report.py > report.py
  1367. fi
  1368. python report.py \
  1369. --token ${REPORT_CI_TOKEN} \
  1370. --log-as-python 'artifacts/logs/*.log' \
  1371. --name="Opensuse 15" || echo "Failed to upload logs"
  1372. ubuntu-1604:
  1373. name: Ubuntu 16.04
  1374. runs-on: ubuntu-latest
  1375. #needs: pre-commit
  1376. timeout-minutes: 480
  1377. steps:
  1378. - uses: actions/checkout@v2
  1379. - uses: ruby/setup-ruby@v1
  1380. with:
  1381. ruby-version: 2.6
  1382. - name: Set Env Keys
  1383. run: |
  1384. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  1385. echo "::set-env name=BUNDLE_WITH::docker"
  1386. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  1387. - name: Set Cache Key
  1388. run: |
  1389. echo "RUBY=${{ env.RUBY }}"
  1390. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  1391. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  1392. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  1393. - uses: actions/cache@v1
  1394. with:
  1395. path: vendor/bundle
  1396. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  1397. restore-keys: |
  1398. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  1399. - name: bundle install
  1400. run: |
  1401. set -e
  1402. set -x
  1403. bundle config path vendor/bundle
  1404. bundle config set with ${{ env.BUNDLE_WITH }}
  1405. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  1406. bundle install --jobs 4 --retry 3
  1407. - name: Generate SSH Key
  1408. run: |
  1409. set -e
  1410. set -x
  1411. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  1412. - name: Converge Test Container
  1413. env:
  1414. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-1604'
  1415. run: |
  1416. set -e
  1417. set -x
  1418. eval "$(ssh-agent -s)"
  1419. ssh-add ~/.ssh/id_rsa
  1420. bundle exec kitchen converge --debug py3-ubuntu-1604
  1421. - name: Run Tests
  1422. env:
  1423. NOX_ENV_NAME: 'runtests-zeromq'
  1424. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  1425. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-1604'
  1426. run: |
  1427. set -e
  1428. set -x
  1429. eval "$(ssh-agent -s)"
  1430. ssh-add ~/.ssh/id_rsa
  1431. bundle exec kitchen verify --debug py3-ubuntu-1604
  1432. - name: Destroy Test Container
  1433. if: always()
  1434. run: |
  1435. set -e
  1436. set -x
  1437. eval "$(ssh-agent -s)"
  1438. ssh-add ~/.ssh/id_rsa
  1439. bundle exec kitchen destroy py3-ubuntu-1604
  1440. - uses: actions/upload-artifact@v1
  1441. with:
  1442. name: artifacts
  1443. path: artifacts/
  1444. - name: Upload Test Results
  1445. if: always()
  1446. shell: bash
  1447. env:
  1448. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1449. run: |
  1450. if [ ! -f report.py ]; then
  1451. curl https://report.ci/report.py > report.py
  1452. fi
  1453. python report.py \
  1454. --token ${REPORT_CI_TOKEN} \
  1455. --include 'artifacts/xml-unittests-output/*.xml' \
  1456. --merge ".*" \
  1457. --name="Ubuntu 16.04" || echo "Failed to upload test results"
  1458. - name: Upload Logs
  1459. if: always()
  1460. shell: bash
  1461. env:
  1462. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1463. run: |
  1464. if [ ! -f report.py ]; then
  1465. curl https://report.ci/report.py > report.py
  1466. fi
  1467. python report.py \
  1468. --token ${REPORT_CI_TOKEN} \
  1469. --log-as-python 'artifacts/logs/*.log' \
  1470. --name="Ubuntu 16.04" || echo "Failed to upload logs"
  1471. ubuntu-1604-m2crypto:
  1472. name: Ubuntu 16.04 M2Crypto
  1473. runs-on: ubuntu-latest
  1474. #needs: pre-commit
  1475. timeout-minutes: 480
  1476. steps:
  1477. - uses: actions/checkout@v2
  1478. - uses: ruby/setup-ruby@v1
  1479. with:
  1480. ruby-version: 2.6
  1481. - name: Set Env Keys
  1482. run: |
  1483. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  1484. echo "::set-env name=BUNDLE_WITH::docker"
  1485. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  1486. - name: Set Cache Key
  1487. run: |
  1488. echo "RUBY=${{ env.RUBY }}"
  1489. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  1490. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  1491. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  1492. - uses: actions/cache@v1
  1493. with:
  1494. path: vendor/bundle
  1495. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  1496. restore-keys: |
  1497. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  1498. - name: bundle install
  1499. run: |
  1500. set -e
  1501. set -x
  1502. bundle config path vendor/bundle
  1503. bundle config set with ${{ env.BUNDLE_WITH }}
  1504. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  1505. bundle install --jobs 4 --retry 3
  1506. - name: Generate SSH Key
  1507. run: |
  1508. set -e
  1509. set -x
  1510. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  1511. - name: Converge Test Container
  1512. env:
  1513. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-1604'
  1514. run: |
  1515. set -e
  1516. set -x
  1517. eval "$(ssh-agent -s)"
  1518. ssh-add ~/.ssh/id_rsa
  1519. bundle exec kitchen converge --debug py3-ubuntu-1604
  1520. - name: Run Tests
  1521. env:
  1522. NOX_ENV_NAME: 'runtests-zeromq-m2crypto'
  1523. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  1524. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-1604'
  1525. run: |
  1526. set -e
  1527. set -x
  1528. eval "$(ssh-agent -s)"
  1529. ssh-add ~/.ssh/id_rsa
  1530. bundle exec kitchen verify --debug py3-ubuntu-1604
  1531. - name: Destroy Test Container
  1532. if: always()
  1533. run: |
  1534. set -e
  1535. set -x
  1536. eval "$(ssh-agent -s)"
  1537. ssh-add ~/.ssh/id_rsa
  1538. bundle exec kitchen destroy py3-ubuntu-1604
  1539. - uses: actions/upload-artifact@v1
  1540. with:
  1541. name: artifacts
  1542. path: artifacts/
  1543. - name: Upload Test Results
  1544. if: always()
  1545. shell: bash
  1546. env:
  1547. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1548. run: |
  1549. if [ ! -f report.py ]; then
  1550. curl https://report.ci/report.py > report.py
  1551. fi
  1552. python report.py \
  1553. --token ${REPORT_CI_TOKEN} \
  1554. --include 'artifacts/xml-unittests-output/*.xml' \
  1555. --merge ".*" \
  1556. --name="Ubuntu 16.04 M2Crypto" || echo "Failed to upload test results"
  1557. - name: Upload Logs
  1558. if: always()
  1559. shell: bash
  1560. env:
  1561. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1562. run: |
  1563. if [ ! -f report.py ]; then
  1564. curl https://report.ci/report.py > report.py
  1565. fi
  1566. python report.py \
  1567. --token ${REPORT_CI_TOKEN} \
  1568. --log-as-python 'artifacts/logs/*.log' \
  1569. --name="Ubuntu 16.04 M2Crypto" || echo "Failed to upload logs"
  1570. ubuntu-1604-proxy:
  1571. name: Ubuntu 16.04 Proxy
  1572. runs-on: ubuntu-latest
  1573. #needs: pre-commit
  1574. timeout-minutes: 480
  1575. steps:
  1576. - uses: actions/checkout@v2
  1577. - uses: ruby/setup-ruby@v1
  1578. with:
  1579. ruby-version: 2.6
  1580. - name: Set Env Keys
  1581. run: |
  1582. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  1583. echo "::set-env name=BUNDLE_WITH::docker"
  1584. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  1585. - name: Set Cache Key
  1586. run: |
  1587. echo "RUBY=${{ env.RUBY }}"
  1588. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  1589. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  1590. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  1591. - uses: actions/cache@v1
  1592. with:
  1593. path: vendor/bundle
  1594. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  1595. restore-keys: |
  1596. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  1597. - name: bundle install
  1598. run: |
  1599. set -e
  1600. set -x
  1601. bundle config path vendor/bundle
  1602. bundle config set with ${{ env.BUNDLE_WITH }}
  1603. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  1604. bundle install --jobs 4 --retry 3
  1605. - name: Generate SSH Key
  1606. run: |
  1607. set -e
  1608. set -x
  1609. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  1610. - name: Converge Test Container
  1611. env:
  1612. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-1604'
  1613. run: |
  1614. set -e
  1615. set -x
  1616. eval "$(ssh-agent -s)"
  1617. ssh-add ~/.ssh/id_rsa
  1618. bundle exec kitchen converge --debug py3-ubuntu-1604
  1619. - name: Run Tests
  1620. env:
  1621. NOX_ENV_NAME: 'runtests-zeromq'
  1622. NOX_PASSTHROUGH_OPTS: '--proxy'
  1623. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-1604'
  1624. run: |
  1625. set -e
  1626. set -x
  1627. eval "$(ssh-agent -s)"
  1628. ssh-add ~/.ssh/id_rsa
  1629. bundle exec kitchen verify --debug py3-ubuntu-1604
  1630. - name: Destroy Test Container
  1631. if: always()
  1632. run: |
  1633. set -e
  1634. set -x
  1635. eval "$(ssh-agent -s)"
  1636. ssh-add ~/.ssh/id_rsa
  1637. bundle exec kitchen destroy py3-ubuntu-1604
  1638. - uses: actions/upload-artifact@v1
  1639. with:
  1640. name: artifacts
  1641. path: artifacts/
  1642. - name: Upload Test Results
  1643. if: always()
  1644. shell: bash
  1645. env:
  1646. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1647. run: |
  1648. if [ ! -f report.py ]; then
  1649. curl https://report.ci/report.py > report.py
  1650. fi
  1651. python report.py \
  1652. --token ${REPORT_CI_TOKEN} \
  1653. --include 'artifacts/xml-unittests-output/*.xml' \
  1654. --merge ".*" \
  1655. --name="Ubuntu 16.04 Proxy" || echo "Failed to upload test results"
  1656. - name: Upload Logs
  1657. if: always()
  1658. shell: bash
  1659. env:
  1660. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1661. run: |
  1662. if [ ! -f report.py ]; then
  1663. curl https://report.ci/report.py > report.py
  1664. fi
  1665. python report.py \
  1666. --token ${REPORT_CI_TOKEN} \
  1667. --log-as-python 'artifacts/logs/*.log' \
  1668. --name="Ubuntu 16.04 Proxy" || echo "Failed to upload logs"
  1669. ubuntu-1604-pycryptodome:
  1670. name: Ubuntu 16.04 PyCryptodome
  1671. runs-on: ubuntu-latest
  1672. #needs: pre-commit
  1673. timeout-minutes: 480
  1674. steps:
  1675. - uses: actions/checkout@v2
  1676. - uses: ruby/setup-ruby@v1
  1677. with:
  1678. ruby-version: 2.6
  1679. - name: Set Env Keys
  1680. run: |
  1681. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  1682. echo "::set-env name=BUNDLE_WITH::docker"
  1683. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  1684. - name: Set Cache Key
  1685. run: |
  1686. echo "RUBY=${{ env.RUBY }}"
  1687. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  1688. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  1689. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  1690. - uses: actions/cache@v1
  1691. with:
  1692. path: vendor/bundle
  1693. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  1694. restore-keys: |
  1695. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  1696. - name: bundle install
  1697. run: |
  1698. set -e
  1699. set -x
  1700. bundle config path vendor/bundle
  1701. bundle config set with ${{ env.BUNDLE_WITH }}
  1702. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  1703. bundle install --jobs 4 --retry 3
  1704. - name: Generate SSH Key
  1705. run: |
  1706. set -e
  1707. set -x
  1708. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  1709. - name: Converge Test Container
  1710. env:
  1711. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-1604'
  1712. run: |
  1713. set -e
  1714. set -x
  1715. eval "$(ssh-agent -s)"
  1716. ssh-add ~/.ssh/id_rsa
  1717. bundle exec kitchen converge --debug py3-ubuntu-1604
  1718. - name: Run Tests
  1719. env:
  1720. NOX_ENV_NAME: 'runtests-zeromq-pycryptodome'
  1721. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  1722. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-1604'
  1723. run: |
  1724. set -e
  1725. set -x
  1726. eval "$(ssh-agent -s)"
  1727. ssh-add ~/.ssh/id_rsa
  1728. bundle exec kitchen verify --debug py3-ubuntu-1604
  1729. - name: Destroy Test Container
  1730. if: always()
  1731. run: |
  1732. set -e
  1733. set -x
  1734. eval "$(ssh-agent -s)"
  1735. ssh-add ~/.ssh/id_rsa
  1736. bundle exec kitchen destroy py3-ubuntu-1604
  1737. - uses: actions/upload-artifact@v1
  1738. with:
  1739. name: artifacts
  1740. path: artifacts/
  1741. - name: Upload Test Results
  1742. if: always()
  1743. shell: bash
  1744. env:
  1745. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1746. run: |
  1747. if [ ! -f report.py ]; then
  1748. curl https://report.ci/report.py > report.py
  1749. fi
  1750. python report.py \
  1751. --token ${REPORT_CI_TOKEN} \
  1752. --include 'artifacts/xml-unittests-output/*.xml' \
  1753. --merge ".*" \
  1754. --name="Ubuntu 16.04 PyCryptodome" || echo "Failed to upload test results"
  1755. - name: Upload Logs
  1756. if: always()
  1757. shell: bash
  1758. env:
  1759. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1760. run: |
  1761. if [ ! -f report.py ]; then
  1762. curl https://report.ci/report.py > report.py
  1763. fi
  1764. python report.py \
  1765. --token ${REPORT_CI_TOKEN} \
  1766. --log-as-python 'artifacts/logs/*.log' \
  1767. --name="Ubuntu 16.04 PyCryptodome" || echo "Failed to upload logs"
  1768. ubuntu-1604-tcp:
  1769. name: Ubuntu 16.04 TCP
  1770. runs-on: ubuntu-latest
  1771. #needs: pre-commit
  1772. timeout-minutes: 480
  1773. steps:
  1774. - uses: actions/checkout@v2
  1775. - uses: ruby/setup-ruby@v1
  1776. with:
  1777. ruby-version: 2.6
  1778. - name: Set Env Keys
  1779. run: |
  1780. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  1781. echo "::set-env name=BUNDLE_WITH::docker"
  1782. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  1783. - name: Set Cache Key
  1784. run: |
  1785. echo "RUBY=${{ env.RUBY }}"
  1786. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  1787. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  1788. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  1789. - uses: actions/cache@v1
  1790. with:
  1791. path: vendor/bundle
  1792. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  1793. restore-keys: |
  1794. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  1795. - name: bundle install
  1796. run: |
  1797. set -e
  1798. set -x
  1799. bundle config path vendor/bundle
  1800. bundle config set with ${{ env.BUNDLE_WITH }}
  1801. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  1802. bundle install --jobs 4 --retry 3
  1803. - name: Generate SSH Key
  1804. run: |
  1805. set -e
  1806. set -x
  1807. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  1808. - name: Converge Test Container
  1809. env:
  1810. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-1604'
  1811. run: |
  1812. set -e
  1813. set -x
  1814. eval "$(ssh-agent -s)"
  1815. ssh-add ~/.ssh/id_rsa
  1816. bundle exec kitchen converge --debug py3-ubuntu-1604
  1817. - name: Run Tests
  1818. env:
  1819. NOX_ENV_NAME: 'runtests-tcp'
  1820. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  1821. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-1604'
  1822. run: |
  1823. set -e
  1824. set -x
  1825. eval "$(ssh-agent -s)"
  1826. ssh-add ~/.ssh/id_rsa
  1827. bundle exec kitchen verify --debug py3-ubuntu-1604
  1828. - name: Destroy Test Container
  1829. if: always()
  1830. run: |
  1831. set -e
  1832. set -x
  1833. eval "$(ssh-agent -s)"
  1834. ssh-add ~/.ssh/id_rsa
  1835. bundle exec kitchen destroy py3-ubuntu-1604
  1836. - uses: actions/upload-artifact@v1
  1837. with:
  1838. name: artifacts
  1839. path: artifacts/
  1840. - name: Upload Test Results
  1841. if: always()
  1842. shell: bash
  1843. env:
  1844. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1845. run: |
  1846. if [ ! -f report.py ]; then
  1847. curl https://report.ci/report.py > report.py
  1848. fi
  1849. python report.py \
  1850. --token ${REPORT_CI_TOKEN} \
  1851. --include 'artifacts/xml-unittests-output/*.xml' \
  1852. --merge ".*" \
  1853. --name="Ubuntu 16.04 TCP" || echo "Failed to upload test results"
  1854. - name: Upload Logs
  1855. if: always()
  1856. shell: bash
  1857. env:
  1858. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1859. run: |
  1860. if [ ! -f report.py ]; then
  1861. curl https://report.ci/report.py > report.py
  1862. fi
  1863. python report.py \
  1864. --token ${REPORT_CI_TOKEN} \
  1865. --log-as-python 'artifacts/logs/*.log' \
  1866. --name="Ubuntu 16.04 TCP" || echo "Failed to upload logs"
  1867. ubuntu-1804:
  1868. name: Ubuntu 18.04
  1869. runs-on: ubuntu-latest
  1870. #needs: pre-commit
  1871. timeout-minutes: 480
  1872. steps:
  1873. - uses: actions/checkout@v2
  1874. - uses: ruby/setup-ruby@v1
  1875. with:
  1876. ruby-version: 2.6
  1877. - name: Set Env Keys
  1878. run: |
  1879. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  1880. echo "::set-env name=BUNDLE_WITH::docker"
  1881. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  1882. - name: Set Cache Key
  1883. run: |
  1884. echo "RUBY=${{ env.RUBY }}"
  1885. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  1886. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  1887. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  1888. - uses: actions/cache@v1
  1889. with:
  1890. path: vendor/bundle
  1891. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  1892. restore-keys: |
  1893. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  1894. - name: bundle install
  1895. run: |
  1896. set -e
  1897. set -x
  1898. bundle config path vendor/bundle
  1899. bundle config set with ${{ env.BUNDLE_WITH }}
  1900. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  1901. bundle install --jobs 4 --retry 3
  1902. - name: Generate SSH Key
  1903. run: |
  1904. set -e
  1905. set -x
  1906. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  1907. - name: Converge Test Container
  1908. env:
  1909. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-1804'
  1910. run: |
  1911. set -e
  1912. set -x
  1913. eval "$(ssh-agent -s)"
  1914. ssh-add ~/.ssh/id_rsa
  1915. bundle exec kitchen converge --debug py3-ubuntu-1804
  1916. - name: Run Tests
  1917. env:
  1918. NOX_ENV_NAME: 'runtests-zeromq'
  1919. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  1920. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-1804'
  1921. run: |
  1922. set -e
  1923. set -x
  1924. eval "$(ssh-agent -s)"
  1925. ssh-add ~/.ssh/id_rsa
  1926. bundle exec kitchen verify --debug py3-ubuntu-1804
  1927. - name: Destroy Test Container
  1928. if: always()
  1929. run: |
  1930. set -e
  1931. set -x
  1932. eval "$(ssh-agent -s)"
  1933. ssh-add ~/.ssh/id_rsa
  1934. bundle exec kitchen destroy py3-ubuntu-1804
  1935. - uses: actions/upload-artifact@v1
  1936. with:
  1937. name: artifacts
  1938. path: artifacts/
  1939. - name: Upload Test Results
  1940. if: always()
  1941. shell: bash
  1942. env:
  1943. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1944. run: |
  1945. if [ ! -f report.py ]; then
  1946. curl https://report.ci/report.py > report.py
  1947. fi
  1948. python report.py \
  1949. --token ${REPORT_CI_TOKEN} \
  1950. --include 'artifacts/xml-unittests-output/*.xml' \
  1951. --merge ".*" \
  1952. --name="Ubuntu 18.04" || echo "Failed to upload test results"
  1953. - name: Upload Logs
  1954. if: always()
  1955. shell: bash
  1956. env:
  1957. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  1958. run: |
  1959. if [ ! -f report.py ]; then
  1960. curl https://report.ci/report.py > report.py
  1961. fi
  1962. python report.py \
  1963. --token ${REPORT_CI_TOKEN} \
  1964. --log-as-python 'artifacts/logs/*.log' \
  1965. --name="Ubuntu 18.04" || echo "Failed to upload logs"
  1966. ubuntu-2004:
  1967. name: Ubuntu 20.04
  1968. runs-on: ubuntu-latest
  1969. #needs: pre-commit
  1970. timeout-minutes: 480
  1971. steps:
  1972. - uses: actions/checkout@v2
  1973. - uses: ruby/setup-ruby@v1
  1974. with:
  1975. ruby-version: 2.6
  1976. - name: Set Env Keys
  1977. run: |
  1978. echo "::set-env name=RUBY::$(ruby --version | sha256sum | cut -d' ' -f1)"
  1979. echo "::set-env name=BUNDLE_WITH::docker"
  1980. echo "::set-env name=BUNDLE_WITHOUT::ec2 vagrant windows"
  1981. - name: Set Cache Key
  1982. run: |
  1983. echo "RUBY=${{ env.RUBY }}"
  1984. echo "BUNDLE_WITH=${{ env.BUNDLE_WITH }}"
  1985. echo "BUNDLE_WITHOUT=${{ env.BUNDLE_WITHOUT }}"
  1986. echo "::set-env name=BUNDLE_CACHE_KEY::$(echo ${{ env.RUBY }} ${{ env.BUNDLE_WITH }} ${{ env.BUNDLE_WITHOUT }} | sha256sum | cut -d' ' -f1)"
  1987. - uses: actions/cache@v1
  1988. with:
  1989. path: vendor/bundle
  1990. key: bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-${{ hashFiles('**/Gemfile.lock') }}
  1991. restore-keys: |
  1992. bundle-use-ruby-${{ runner.os }}-${{ env.BUNDLE_CACHE_KEY }}-
  1993. - name: bundle install
  1994. run: |
  1995. set -e
  1996. set -x
  1997. bundle config path vendor/bundle
  1998. bundle config set with ${{ env.BUNDLE_WITH }}
  1999. bundle config set without ${{ env.BUNDLE_WITHOUT }}
  2000. bundle install --jobs 4 --retry 3
  2001. - name: Generate SSH Key
  2002. run: |
  2003. set -e
  2004. set -x
  2005. ssh-keygen -t rsa -b 4096 -C "Test Kitchen Key" -f ~/.ssh/id_rsa -q -N ""
  2006. - name: Converge Test Container
  2007. env:
  2008. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-2004'
  2009. run: |
  2010. set -e
  2011. set -x
  2012. eval "$(ssh-agent -s)"
  2013. ssh-add ~/.ssh/id_rsa
  2014. bundle exec kitchen converge --debug py3-ubuntu-2004
  2015. - name: Run Tests
  2016. env:
  2017. NOX_ENV_NAME: 'runtests-zeromq'
  2018. NOX_PASSTHROUGH_OPTS: '--ssh-tests'
  2019. SALT_DOCKER_IMAGE: 'saltstack/ci-ubuntu-2004'
  2020. run: |
  2021. set -e
  2022. set -x
  2023. eval "$(ssh-agent -s)"
  2024. ssh-add ~/.ssh/id_rsa
  2025. bundle exec kitchen verify --debug py3-ubuntu-2004
  2026. - name: Destroy Test Container
  2027. if: always()
  2028. run: |
  2029. set -e
  2030. set -x
  2031. eval "$(ssh-agent -s)"
  2032. ssh-add ~/.ssh/id_rsa
  2033. bundle exec kitchen destroy py3-ubuntu-2004
  2034. - uses: actions/upload-artifact@v1
  2035. with:
  2036. name: artifacts
  2037. path: artifacts/
  2038. - name: Upload Test Results
  2039. if: always()
  2040. shell: bash
  2041. env:
  2042. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  2043. run: |
  2044. if [ ! -f report.py ]; then
  2045. curl https://report.ci/report.py > report.py
  2046. fi
  2047. python report.py \
  2048. --token ${REPORT_CI_TOKEN} \
  2049. --include 'artifacts/xml-unittests-output/*.xml' \
  2050. --merge ".*" \
  2051. --name="Ubuntu 20.04" || echo "Failed to upload test results"
  2052. - name: Upload Logs
  2053. if: always()
  2054. shell: bash
  2055. env:
  2056. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  2057. run: |
  2058. if [ ! -f report.py ]; then
  2059. curl https://report.ci/report.py > report.py
  2060. fi
  2061. python report.py \
  2062. --token ${REPORT_CI_TOKEN} \
  2063. --log-as-python 'artifacts/logs/*.log' \
  2064. --name="Ubuntu 20.04" || echo "Failed to upload logs"
  2065. macos:
  2066. name: macOS Catalina 10.15
  2067. #needs: pre-commit
  2068. runs-on: macOS-latest
  2069. timeout-minutes: 420
  2070. steps:
  2071. - uses: actions/checkout@v2
  2072. - name: Set up Python 3.7 For Nox
  2073. uses: actions/setup-python@v1
  2074. with:
  2075. python-version: 3.7
  2076. - name: Install Nox
  2077. run: |
  2078. python -m pip install --upgrade pip
  2079. pip install nox-py2
  2080. - name: Test
  2081. run: |
  2082. nox --force-color -e 'runtests-zeromq-3(coverage=True)' -- --sysinfo --xml=artifacts/xml-unittests-output/test-results.xml -v --run-destructive
  2083. - name: Upload Test Results
  2084. if: always()
  2085. shell: bash
  2086. env:
  2087. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  2088. run: |
  2089. if [ ! -f report.py ]; then
  2090. curl https://report.ci/report.py > report.py
  2091. fi
  2092. python report.py \
  2093. --token ${REPORT_CI_TOKEN} \
  2094. --include 'artifacts/xml-unittests-output/*.xml' \
  2095. --merge ".*" \
  2096. --name="macOS Catalina 10.15" || echo "Failed to upload test results"
  2097. - name: Upload Logs
  2098. if: always()
  2099. shell: bash
  2100. env:
  2101. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  2102. run: |
  2103. if [ ! -f report.py ]; then
  2104. curl https://report.ci/report.py > report.py
  2105. fi
  2106. python report.py \
  2107. --token ${REPORT_CI_TOKEN} \
  2108. --log-as-python 'artifacts/logs/*.log' \
  2109. --name="macOS Catalina 10.15" || echo "Failed to upload logs"
  2110. windows:
  2111. name: Windows Server 2019
  2112. #needs: pre-commit
  2113. runs-on: windows-latest
  2114. timeout-minutes: 420
  2115. steps:
  2116. - uses: actions/checkout@v2
  2117. - name: Set up Python 3.5 For Nox
  2118. uses: actions/setup-python@v1
  2119. with:
  2120. python-version: 3.5
  2121. - name: Install Nox
  2122. run: |
  2123. python -m pip install --upgrade pip
  2124. pip install nox-py2
  2125. - name: Test
  2126. run: |
  2127. nox --force-color -e 'runtests-zeromq-3.5(coverage=True)' -- --sysinfo --xml=artifacts/xml-unittests-output/test-results.xml -v --run-destructive
  2128. - name: Upload Test Results
  2129. if: always()
  2130. shell: bash
  2131. env:
  2132. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  2133. run: |
  2134. if [ ! -f report.py ]; then
  2135. curl https://report.ci/report.py > report.py
  2136. fi
  2137. python report.py \
  2138. --token ${REPORT_CI_TOKEN} \
  2139. --include 'artifacts/xml-unittests-output/*.xml' \
  2140. --merge ".*" \
  2141. --name="Windows Server 2019" || echo "Failed to upload test results"
  2142. - name: Upload Logs
  2143. if: always()
  2144. shell: bash
  2145. env:
  2146. REPORT_CI_TOKEN: ${{ secrets.REPORT_CI_TOKEN }}
  2147. run: |
  2148. if [ ! -f report.py ]; then
  2149. curl https://report.ci/report.py > report.py
  2150. fi
  2151. python report.py \
  2152. --token ${REPORT_CI_TOKEN} \
  2153. --log-as-python 'artifacts/logs/*.log' \
  2154. --name="Windows Server 2019" || echo "Failed to upload logs"