name: CD on: workflow_dispatch: push: branches: - main paths: - pyproject.toml jobs: lint: uses: ./.github/workflows/lint.yml test: uses: ./.github/workflows/test.yml build: name: Build runs-on: uipath-ubuntu-latest needs: - lint - test if: ${{ github.repository == 'UiPath/uipath-dev-python' }} permissions: contents: read actions: write steps: - name: Checkout uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 - name: Setup uv uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 with: enable-cache: true - name: Setup Python uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version-file: ".python-version" - name: Install dependencies run: uv sync --all-extras - name: Build run: uv build - name: Upload artifacts uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: release-dists path: dist/ pypi-publish: name: Upload release to PyPI runs-on: uipath-ubuntu-latest environment: pypi needs: - build permissions: contents: read id-token: write steps: - name: Retrieve release distributions uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: release-dists path: dist/ - name: Publish package distributions to PyPI uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # release/v1