A library that computes the ephemerides.
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.
 
 

67 lines
2.1 KiB

  1. name: Release Application
  2. on:
  3. push:
  4. tags: ['v*']
  5. jobs:
  6. release:
  7. name: Create release
  8. runs-on: ubuntu-latest
  9. steps:
  10. - name: Checkout code
  11. uses: actions/checkout@v2
  12. - name: Setup
  13. run: |
  14. sudo apt update
  15. sudo apt install ruby
  16. sudo gem install ronn
  17. - name: Prepare release
  18. id: prepare_release
  19. run: |
  20. changelog="$(git diff $(git describe --abbrev=0 --tags $(git describe --abbrev=0 --tags)^) -- CHANGELOG.md | grep -E '\+[#*]' | sed 's/^+/\n/')"
  21. echo "::set-output name=changelog::$changelog"
  22. - name: Create release
  23. id: create_release
  24. uses: actions/create-release@v1
  25. env:
  26. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  27. with:
  28. tag_name: ${{ github.ref }}
  29. release_name: Version ${{ github.ref }}
  30. draft: true
  31. prerelease: false
  32. body: |
  33. ${{ steps.prepare_release.outputs.changelog }}
  34. pip:
  35. name: Release to PyPI
  36. runs-on: ubuntu-latest
  37. steps:
  38. - uses: actions/checkout@v1
  39. - name: Set up Python
  40. uses: actions/setup-python@v1
  41. with:
  42. python-version: '3.7'
  43. - name: Setup environment
  44. run: |
  45. sudo apt update
  46. sudo apt install ruby
  47. sudo gem install ronn
  48. - name: Install dependencies
  49. run: |
  50. python -m pip install --upgrade pip pipenv twine wheel
  51. pipenv lock --pre
  52. pipenv sync
  53. pipenv run pip freeze > requirements.txt
  54. pip install -r requirements.txt
  55. - name: Build and publish
  56. env:
  57. TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
  58. TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
  59. run: |
  60. make build
  61. twine upload dist/*