# This workflow will upload a Python Package using Twine when a release is created # For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries name: Upload Python Package on: workflow_dispatch: inputs: version_part: description: 'Which part of the version to increment (patch, minor, major)' required: true default: 'patch' jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.7' - name: Run ci_tests run: ./ci_tests - name: Install dependencies run: | python3 -m pip install --upgrade pip pip install setuptools wheel pip install -r requirements-dev.txt - name: Bump version run: | git config --local user.email "hello@qmk.fm" git config --local user.name "QMK Bot" bumpversion ${{ github.event.inputs.version_part }} - name: Push changes uses: ad-m/github-push-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} branch: master tags: true - name: Build and publish env: TWINE_USERNAME: qmk TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} run: | python3 -m build twine upload dist/* - name: Log in to Docker Hub uses: docker/login-action@v2.1.0 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - name: Build and Push to Docker Hub uses: docker/build-push-action@v3.3.0 with: context: . push: true tags: qmkfm/qmk_cli:latest - name: Trigger OS package builds run: ./trigger_packages env: QMK_BOT_TOKEN: ${{ secrets.QMK_BOT_TOKEN }}