diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index 18434b34..00000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,27 +0,0 @@ -# This workflow is responsible for publishing packages to PyPi -name: "PublishOnTag" - -on: - push: - tags: ['v*'] - -jobs: - publish: - name: Publish to PyPi - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - with: - python-version: 3.6 - - run: | - python -m pip install --upgrade pip setuptools - python -m pip install wheel twine - - name: Build - run: python setup.py sdist bdist_wheel - - name: Publish PyPi - env: - TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} - TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - run: twine upload dist/* - diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9fcdef33..be218891 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,18 +1,38 @@ -# This workflow is responsible for publishing off-line packages to GitHub and S3 -name: "ReleaseOnTag" +# This workflow is responsible for publishing packages to PyPi +# and creating offline packages + +name: "Release new version" on: - push: - tags: ['v*'] + - workflow_call + - workflow_dispatch jobs: -# Create release is not matrixed because must only run once. - create-release: - name: Create Release + publish: + name: Publish to PyPi runs-on: ubuntu-latest - outputs: - url: ${{ steps.create_release.outputs.upload_url }} steps: + - uses: actions/checkout@v2 + + - name: Setup python + uses: actions/setup-python@v2 + with: + python-version: 3.7 + + - name: Update PIP tools + run: | + python -m pip install --upgrade pip setuptools + python -m pip install wheel twine + + - name: Build + run: python setup.py sdist bdist_wheel + + - name: Publish to PyPi + env: + TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: twine upload dist/* + - name: Create Release id: create_release uses: actions/create-release@v1 @@ -23,52 +43,21 @@ jobs: release_name: ${{ github.ref }} draft: false prerelease: false -# Build 4 offline installers in python - os matix. - build-installers: - needs: create-release - name: Build and upload offline installers. - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest] - python-version: [2.7, 3.6] - steps: - - uses: actions/checkout@v2 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - name: Install build dependencies. - run: | - python -m pip install --upgrade pip setuptools - python -m pip install wheel - - name: Build off-line installer - id: build - shell: bash - run: | - output=$(python offline_installer/build.py) - echo "::set-output name=file_name::$output" -# Upload to GitHub releases. - - name: Upload Release Asset - id: upload-release-asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ needs.create-release.outputs.url }} - asset_path: ./dist/${{ steps.build.outputs.file_name }} - asset_name: ${{ steps.build.outputs.file_name }} - asset_content_type: application/zip -# - name: Install dependencies -# run: | -# python -m pip install --upgrade pip setuptools -# python -m pip install -U -r requirements.txt -# - name: Build -# run: python setup.py sdist bdist_wheel -# - name: Publish PyPi -# env: -# TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} -# TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} -# run: twine upload dist/* + - name: Build off-line installer + id: build + shell: bash + run: | + output=$(python offline_installer/build.py) + echo "::set-output name=file_name::$output" + - name: Upload off-line installer + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./dist/${{ steps.build.outputs.file_name }} + asset_name: ${{ steps.build.outputs.file_name }} + asset_content_type: application/zip \ No newline at end of file