upload_sdk.yaml 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. name: Upload sdk
  2. on:
  3. push:
  4. tags:
  5. - "*"
  6. release:
  7. types:
  8. - published
  9. jobs:
  10. python:
  11. runs-on: ubuntu-latest
  12. if: github.repository == 'lf-edge/ekuiper'
  13. steps:
  14. - uses: actions/checkout@v2
  15. - uses: actions/setup-python@v2
  16. with:
  17. python-version: '3.x'
  18. architecture: 'x64'
  19. - run: python3 -m pip install --user --upgrade setuptools wheel twine
  20. - name: Upload test pypi
  21. env:
  22. TWINE_USERNAME: ${{ secrets.TEST_PYPI_USERNAME }}
  23. TWINE_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }}
  24. working-directory: "sdk/python"
  25. run: |
  26. version=$(grep -E ".+version.+" setup.py | sed -r 's [ \t]*version=(.*), \1 g' | sed $'s/\'//g')
  27. test_version="${version}-${GITHUB_RUN_ID}"
  28. sed -i -r "s|([ \t]*version=).*|\1'$test_version',|1" setup.py
  29. python3 setup.py sdist bdist_wheel
  30. python3 -m twine upload --skip-existing --repository-url https://test.pypi.org/legacy/ dist/*
  31. git checkout -- setup.py
  32. - name: Install test pypi
  33. working-directory: "sdk/python"
  34. timeout-minutes: 1
  35. run: |
  36. version=$(grep -E ".+version.+" setup.py | sed -r 's [ \t]*version=(.*), \1 g' | sed $'s/\'//g')
  37. while ! python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps ekuiper=="${version}.post${GITHUB_RUN_ID}" > /dev/null 2>&1; do
  38. echo "================================================================="
  39. echo "Awaiting pypi updates"
  40. echo "================================================================="
  41. sleep 1
  42. done
  43. python3 -m pip uninstall -y ekuiper
  44. - name: Upload test pypi
  45. if: github.event_name == 'release' && !github.event.release.prerelease
  46. env:
  47. TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
  48. TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
  49. working-directory: "sdk/python"
  50. run: |
  51. sed -i -r "s|([ \t]*version=).*|\1'${GITHUB_REF#refs/tags/}',|1" setup.py
  52. python3 setup.py sdist bdist_wheel
  53. python3 -m twine upload --skip-existing dist/*
  54. - name: Install pypi
  55. if: github.event_name == 'release' && !github.event.release.prerelease
  56. working-directory: "sdk/python"
  57. timeout-minutes: 5
  58. run: |
  59. while ! python3 -m pip install --no-deps ekuiper > /dev/null 2>&1; do
  60. echo "================================================================="
  61. echo "Awaiting pypi updates"
  62. echo "================================================================="
  63. sleep 1
  64. done
  65. python3 -m pip uninstall -y ekuiper