Skip to content

Commit

Permalink
Consolidated workflows and made it on demand. So they can be run from…
Browse files Browse the repository at this point in the history
… platform release automation. (#134)
  • Loading branch information
dmikov authored Apr 19, 2022
1 parent 695becf commit c3cb866
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 83 deletions.
27 changes: 0 additions & 27 deletions .github/workflows/publish.yml

This file was deleted.

101 changes: 45 additions & 56 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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

0 comments on commit c3cb866

Please sign in to comment.