name: Release Application on: push: tags: ['v*'] jobs: release: name: Create release runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Setup run: | sudo apt update sudo apt install ruby sudo gem install ronn - name: Prepare release id: prepare_release run: | changelog="$(git diff HEAD^ HEAD -- CHANGELOG.md | grep -E '\+[#*]' | sed 's/^+//')" changelog="${changelog//$'%'/'%25'}" changelog="${changelog//$'\n'/'%0A'}" changelog="${changelog//$'\r'/'%0D'}" echo "::set-output name=changelog::$changelog" - name: Create release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: Version ${{ github.ref }} draft: true prerelease: false body: | ${{ steps.prepare_release.outputs.changelog }} pipy: name: Release to PyPI runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Set up Python uses: actions/setup-python@v1 with: python-version: '3.7' - name: Setup environment run: | sudo apt update sudo apt install ruby sudo gem install ronn - name: Install dependencies run: | python -m pip install --upgrade pip pip install setuptools wheel twine skyfield numpy tabulate Babel requests - name: Build and publish env: TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} run: | make i18n build twine upload dist/*