v4.3.0 #34
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 to PyPI | |
env: | |
pythonVersion: "3.11" | |
on: | |
release: | |
types: [published] | |
jobs: | |
build: | |
name: "Build and Test" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Python ${{ env.pythonVersion }} | |
uses: actions/setup-python@v3 | |
with: | |
python-version: ${{ env.pythonVersion }} | |
architecture: x64 | |
- name: Install Poetry | |
run: pip install --user poetry | |
- name: Install dependencies | |
run: poetry install | |
- name: Run Tests | |
run: poetry run pytest tests/ | |
- name: Run Linter | |
run: poetry run flake8 src/ | |
publish: | |
name: "Deploy package to PyPI" | |
runs-on: ubuntu-latest | |
needs: [build] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Python ${{ env.pythonVersion }} | |
uses: actions/setup-python@v3 | |
with: | |
python-version: ${{ env.pythonVersion }} | |
architecture: x64 | |
- name: Install Poetry | |
run: pip install --user poetry | |
- name: Install dependencies | |
run: poetry install | |
- name: Publish to PyPI | |
env: | |
PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }} | |
PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }} | |
run: poetry publish --build --username $PYPI_USERNAME --password $PYPI_PASSWORD | |
docs: | |
name: "Deploy Docs" | |
runs-on: ubuntu-latest | |
needs: [build, publish] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token | |
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo | |
- name: Use Python ${{ env.pythonVersion }} | |
uses: actions/setup-python@v3 | |
with: | |
python-version: ${{ env.pythonVersion }} | |
architecture: x64 | |
- name: Install Poetry | |
run: pip install --user poetry | |
- name: Install dependencies | |
run: poetry install | |
- name: Create local changes | |
run: | | |
cd docs | |
make html | |
cd .. | |
rm -rf tests src .github *.md *.MD *.rst *.lock *.toml LICENSE .flake8 dist .vscode | |
rm -rf .editorconfig | |
mv docs/build/html/* . | |
rm -rf docs/ | |
touch .nojekyll | |
echo "py.sdk.tago.io" > CNAME | |
- name: Commit files | |
run: | | |
git config --local user.email "action@github.com" | |
git config --local user.name "GitHub Action" | |
git add -A | |
git commit -m "generated documentation" | |
- name: Push changes | |
uses: ad-m/github-push-action@master | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
branch: gh-pages | |
force: true |