config.yml 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. version: 2.1
  2. parameters:
  3. go-version:
  4. type: string
  5. default: 1.16.2
  6. jobs:
  7. build-and-test-py37:
  8. docker:
  9. - image: circleci/python:3.7.10
  10. steps:
  11. - checkout
  12. - restore_cache:
  13. keys:
  14. - py37-v1-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }}
  15. - v1-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }}
  16. - run: |
  17. wget https://golang.org/dl/go<< pipeline.parameters.go-version >>.linux-amd64.tar.gz -O go.tar.gz
  18. tar -C ~/ -xzf go.tar.gz
  19. echo "export PATH=~/go/bin:$PATH" >> $BASH_ENV
  20. - run: pip install -r requirements.txt
  21. - run: pip install -r requirements-dev.txt
  22. - save_cache:
  23. key: py37-v1-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }}
  24. paths:
  25. - '~/.cache/pip'
  26. - run:
  27. command: pip install -e .
  28. name: setup
  29. - run:
  30. command: pytest ./tests
  31. name: tests
  32. build-and-test-py38:
  33. docker:
  34. - image: circleci/python:3.8.1
  35. steps:
  36. - checkout
  37. - restore_cache:
  38. keys:
  39. - py38-v1-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }}
  40. - run: |
  41. wget https://golang.org/dl/go<< pipeline.parameters.go-version >>.linux-amd64.tar.gz -O go.tar.gz
  42. tar -C ~/ -xzf go.tar.gz
  43. echo "export PATH=~/go/bin:$PATH" >> $BASH_ENV
  44. - run: pip install -r requirements.txt
  45. - run: pip install -r requirements-dev.txt
  46. - save_cache:
  47. key: py38-v1-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }}
  48. paths:
  49. - '~/.cache/pip'
  50. - run:
  51. command: pip install -e .
  52. name: setup
  53. - run:
  54. command: pytest ./tests
  55. name: tests
  56. build-and-test-py39:
  57. docker:
  58. - image: circleci/python:3.9.1
  59. steps:
  60. - checkout
  61. - restore_cache:
  62. keys:
  63. - py39-v1-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }}
  64. - run: |
  65. wget https://golang.org/dl/go<< pipeline.parameters.go-version >>.linux-amd64.tar.gz -O go.tar.gz
  66. tar -C ~/ -xzf go.tar.gz
  67. echo "export PATH=~/go/bin:$PATH" >> $BASH_ENV
  68. - run: pip install -r requirements.txt
  69. - run: pip install -r requirements-dev.txt
  70. - save_cache:
  71. key: py39-v1-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }}
  72. paths:
  73. - '~/.cache/pip'
  74. - run:
  75. command: pip install -e .
  76. name: setup
  77. - run:
  78. command: pytest ./tests
  79. name: tests
  80. workflows:
  81. main:
  82. jobs:
  83. - build-and-test-py37
  84. - build-and-test-py38
  85. - build-and-test-py39