diff --git a/.github/workflows/publish-prefect-plugin-pypi-release.yml b/.github/workflows/publish-prefect-plugin-pypi-release.yml new file mode 100644 index 0000000000000..1fb6de03d91c1 --- /dev/null +++ b/.github/workflows/publish-prefect-plugin-pypi-release.yml @@ -0,0 +1,54 @@ +name: pypi-release prefect-datahub +on: + workflow_dispatch: + release: + types: [published] + +jobs: + setup: + runs-on: ubuntu-latest + outputs: + tag: ${{ steps.tag.outputs.tag }} + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Validate ref format + run: | + source .github/scripts/docker_helpers.sh + validate_github_ref_for_python_tag + - name: Compute Tag + id: tag + run: | + echo "GITHUB_REF: $GITHUB_REF" + SHORT_SHA=$(git rev-parse --short "$GITHUB_SHA") + TAG=$(echo ${GITHUB_REF} | sed -e 's,refs/tags/v,,g') + echo "tag=$TAG" >> $GITHUB_OUTPUT + push_to_pypi: + name: Build and push python package to PyPI + runs-on: ubuntu-latest + needs: setup + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: "zulu" + java-version: 17 + - uses: actions/setup-python@v5 + with: + python-version: "3.10" + cache: "pip" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine build + - name: Install dependencies + run: ./metadata-ingestion/scripts/install_deps.sh + - name: Build and publish + env: + TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} + TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} + RELEASE_SKIP_TEST: "true" + run: | + cd metadata-ingestion-modules/prefect-plugin + RELEASE_VERSION=${{ needs.setup.outputs.tag }} ./scripts/release.sh