Skip to content

perf(ingestion/mode): Parallelize report processing across all spaces #12759

perf(ingestion/mode): Parallelize report processing across all spaces

perf(ingestion/mode): Parallelize report processing across all spaces #12759

Workflow file for this run

name: Prefect Plugin
on:
push:
branches:
- master
- releases/**
paths:
- ".github/workflows/prefect-plugin.yml"
- "metadata-ingestion-modules/prefect-plugin/**"
- "metadata-ingestion/**"
- "metadata-models/**"
pull_request:
branches:
- "**"
paths:
- ".github/workflows/prefect-plugin.yml"
- "metadata-ingestion-modules/prefect-plugin/**"
- "metadata-ingestion/**"
- "metadata-models/**"
release:
types: [published]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
DEPOT_PROJECT_ID: "${{ vars.DEPOT_PROJECT_ID }}"
jobs:
prefect-plugin:
runs-on: ${{ vars.DEPOT_PROJECT_ID != '' && 'depot-ubuntu-latest' || 'ubuntu-latest' }}
env:
DATAHUB_TELEMETRY_ENABLED: false
strategy:
matrix:
python-version: ["3.10", "3.11"]
fail-fast: false
steps:
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: "zulu"
java-version: 17
- uses: gradle/actions/setup-gradle@v4
- uses: acryldata/sane-checkout-action@v4
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
run: ./metadata-ingestion/scripts/install_deps.sh
- name: Install prefect package
run: ./gradlew :metadata-ingestion-modules:prefect-plugin:lint :metadata-ingestion-modules:prefect-plugin:testFull
- name: pip freeze show list installed
if: always()
run: source metadata-ingestion-modules/prefect-plugin/venv/bin/activate && uv pip freeze
- name: Report test results
if: (!cancelled())
uses: ./.github/actions/report-test-results
with:
artifact-name: ingestion-prefect-test-results-${{ strategy.job-index }}
test-results-paths: "metadata-ingestion-modules/prefect-plugin/test-results/**"
junit-file-globs: "metadata-ingestion-modules/prefect-plugin/test-results/*.xml"
- name: Upload coverage to Codecov with ingestion flag
if: always()
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: ./build/coverage-reports/metadata-ingestion-modules/prefect-plugin/
fail_ci_if_error: false
flags: ingestion-prefect-plugin
name: pytest-prefect-${{ strategy.job-index }}
verbose: true
override_branch: ${{ github.head_ref || github.ref_name }}
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/test-results-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
override_branch: ${{ github.head_ref || github.ref_name }}
event-file:
runs-on: ubuntu-latest
steps:
- name: Upload
uses: actions/upload-artifact@v4
with:
name: Event File
path: ${{ github.event_path }}