From 40033f43611166a52deb3ff68a19b343ebf4a4a1 Mon Sep 17 00:00:00 2001 From: Harshal Sheth Date: Tue, 24 Dec 2024 16:00:50 -0500 Subject: [PATCH] add prefect-datahub publish workflow Addresses https://github.com/datahub-project/datahub/issues/12221 --- .../publish-prefect-plugin-pypi-release.yml | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/publish-prefect-plugin-pypi-release.yml 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