Publish workflow (#913)
* Publish workflow * Set PYTHONPATH to allow auto docs to import package * Seperate install, build, publish steps
This commit is contained in:
parent
97cf9dadd2
commit
e586e5df37
27
.github/workflows/publish.yml
vendored
Normal file
27
.github/workflows/publish.yml
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
---
|
||||
name: Publish
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
name: "Publish release"
|
||||
runs-on: "ubuntu-latest"
|
||||
|
||||
steps:
|
||||
- uses: "actions/checkout@v2"
|
||||
- uses: "actions/setup-python@v1"
|
||||
with:
|
||||
python-version: 3.7
|
||||
- name: "Install dependencies"
|
||||
run: "scripts/install"
|
||||
- name: "Build package & docs"
|
||||
run: "scripts/build"
|
||||
- name: "Publish to PyPI & deploy docs"
|
||||
run: "scripts/publish"
|
||||
env:
|
||||
TWINE_USERNAME: __token__
|
||||
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
|
||||
2
.github/workflows/test-suite.yml
vendored
2
.github/workflows/test-suite.yml
vendored
@ -2,8 +2,6 @@
|
||||
name: Test Suite
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["master"]
|
||||
pull_request:
|
||||
branches: ["master"]
|
||||
|
||||
|
||||
13
scripts/build
Executable file
13
scripts/build
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
if [ -d 'venv' ] ; then
|
||||
PREFIX="venv/bin/"
|
||||
else
|
||||
PREFIX=""
|
||||
fi
|
||||
|
||||
set -x
|
||||
|
||||
${PREFIX}python setup.py sdist bdist_wheel
|
||||
${PREFIX}twine check dist/*
|
||||
${PREFIX}mkdocs build
|
||||
@ -1,41 +1,26 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
export PACKAGE="httpx"
|
||||
export VERSION=`cat ${PACKAGE}/__version__.py | grep __version__ | sed "s/__version__ = //" | sed "s/'//g"`
|
||||
export PREFIX=""
|
||||
VERSION_FILE="httpx/__init__.py"
|
||||
|
||||
if [ -d 'venv' ] ; then
|
||||
export PREFIX="venv/bin/"
|
||||
PREFIX="venv/bin/"
|
||||
else
|
||||
PREFIX=""
|
||||
fi
|
||||
|
||||
scripts/clean
|
||||
if [ ! -z "$GITHUB_ACTIONS" ]; then
|
||||
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git config --local user.name "GitHub Action"
|
||||
|
||||
if ! command -v "${PREFIX}twine" &>/dev/null ; then
|
||||
echo "Unable to find the 'twine' command."
|
||||
echo "Install from PyPI, using '${PREFIX}pip install twine'."
|
||||
VERSION=`grep __version__ ${VERSION_FILE} | grep -o '[0-9][^"]*'`
|
||||
|
||||
if [ "refs/tags/${VERSION}" != "${GITHUB_REF}" ] ; then
|
||||
echo "GitHub Ref '${GITHUB_REF}' did not match package version '${VERSION}'"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! ${PREFIX}pip show wheel &>/dev/null ; then
|
||||
echo "Unable to find the 'wheel' command."
|
||||
echo "Install from PyPI, using '${PREFIX}pip install wheel'."
|
||||
exit 1
|
||||
fi
|
||||
set -x
|
||||
|
||||
if ! command -v "${PREFIX}mkdocs" &>/dev/null ; then
|
||||
echo "Unable to find the 'mkdocs' command."
|
||||
echo "Install from PyPI, using '${PREFIX}pip install mkdocs'."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
find ${PACKAGE} -type f -name "*.py[co]" -delete
|
||||
find ${PACKAGE} -type d -name __pycache__ -delete
|
||||
|
||||
${PREFIX}python setup.py sdist bdist_wheel
|
||||
${PREFIX}twine upload dist/*
|
||||
${PREFIX}mkdocs gh-deploy
|
||||
|
||||
echo "You probably want to also tag the version now:"
|
||||
echo "git tag -a ${VERSION} -m 'version ${VERSION}'"
|
||||
echo "git push --tags"
|
||||
|
||||
scripts/clean
|
||||
${PREFIX}mkdocs gh-deploy --force
|
||||
|
||||
Loading…
Reference in New Issue
Block a user