name: "Opik Optimizer - Publish SDK" run-name: "Opik Optimizer Publish SDK ${{ github.ref_name }} by @${{ github.actor }}" permissions: contents: read packages: write on: workflow_dispatch: jobs: build-and-publish: runs-on: ubuntu-latest timeout-minutes: 5 env: HF_HUB_ENABLE_PROGRESS_BARS: "0" HF_HUB_DISABLE_TELEMETRY: "1" steps: - name: Checkout uses: actions/checkout@v6 - name: Set up Python 3.9 uses: actions/setup-python@v5 with: python-version: 3.9 - name: PyPI token preflight uses: ./.github/actions/pypi-token-preflight with: pypi_token: ${{ secrets.PYPI_API_TOKEN }} package_name: opik-optimizer - name: Build pip package run: | cd sdks/opik_optimizer pip3 install -U pip build python3 -m build --sdist --wheel --outdir dist/ . - name: Publish package distributions to PyPI uses: pypa/gh-action-pypi-publish@v1.12.4 with: password: ${{ secrets.PYPI_API_TOKEN }} packages-dir: sdks/opik_optimizer/dist # Symmetric to OPIK-6624's npm publish 403-skip: replays / races where # the version is already on PyPI should not fail the release. skip-existing: true