0.11.3 #96
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish reolink_aio on PyPI | |
on: | |
release: | |
types: [published] | |
permissions: | |
contents: read | |
jobs: | |
verify: | |
runs-on: ubuntu-20.04 | |
name: Verify Python build context | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v3 | |
with: | |
python-version: "3.13" | |
- name: Verify version | |
run: | | |
python -m pip install setuptools | |
setup_version="$(python setup.py -V)" | |
branch_version=$(echo "${{ github.ref }}" | awk -F"/" '{print $NF}' ) | |
if [ "${setup_version}" == "${branch_version}" ]; then | |
echo "Version of tag ${branch_version} matches with version of setup.py ${setup_version}" | |
else | |
echo "Version of tag ${branch_version} doesn't match with version of setup.py ${setup_version}" | |
exit 1 | |
fi | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install flake8 pytest pylint mypy | |
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | |
if [ -f test-requirements.txt ]; then pip install -r test-requirements.txt; fi | |
- name: Analysing the code with pylint | |
run: | | |
pylint reolink_aio | |
- name: Lint with flake8 | |
run: | | |
# stop the build if there are Python syntax errors or undefined names | |
flake8 reolink_aio --count --select=E9,F63,F7,F82 --show-source --statistics | |
# exit-zero treats all errors as warnings. | |
flake8 reolink_aio --count --exit-zero --max-line-length=175 --statistics | |
- name: Black formatting | |
uses: psf/black@stable | |
with: | |
options: "--check --verbose" | |
src: "./reolink_aio" | |
- name: mypy type checking | |
run: | | |
mypy reolink_aio | |
build: | |
name: Build and publish PyPi package | |
needs: verify | |
runs-on: ubuntu-20.04 | |
if: github.repository_owner == 'starkillerOG' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v3 | |
with: | |
python-version: "3.13" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade build | |
- name: Build package | |
run: python -m build | |
- name: Publish package | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_API_TOKEN }} |