upload_sdk.yaml 2.7 KB

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