mirror of
https://github.com/datahub-project/datahub.git
synced 2026-01-09 00:18:52 +00:00
66 lines
2.2 KiB
YAML
66 lines
2.2 KiB
YAML
name: metadata model generate
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- "metadata-models/**"
|
|
release:
|
|
types: [published]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
setup:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
publish: ${{ steps.publish.outputs.publish }}
|
|
steps:
|
|
- name: Check whether upload to datahub is enabled
|
|
id: publish
|
|
env:
|
|
ENABLE_PUBLISH: ${{ secrets.DataHubToken }}
|
|
run: |
|
|
echo "Enable publish: ${{ env.ENABLE_PUBLISH != '' }}"
|
|
echo "publish=${{ env.ENABLE_PUBLISH != '' }}" >> $GITHUB_OUTPUT
|
|
metadata-ingestion-docgen:
|
|
runs-on: ubuntu-latest
|
|
needs: setup
|
|
steps:
|
|
- name: Set up JDK 17
|
|
uses: actions/setup-java@v3
|
|
with:
|
|
distribution: "zulu"
|
|
java-version: 17
|
|
- uses: gradle/gradle-build-action@v2
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.10"
|
|
cache: "pip"
|
|
- name: Install dependencies
|
|
run: ./metadata-ingestion/scripts/install_deps.sh
|
|
- name: Run model generation
|
|
run: ./gradlew :metadata-models:build
|
|
- name: Generate metadata files
|
|
if: ${{ needs.setup.outputs.publish == 'true' }}
|
|
run: ./gradlew :metadata-ingestion:modelDocGen
|
|
- name: Configure AWS Credentials
|
|
if: ${{ needs.setup.outputs.publish == 'true' }}
|
|
uses: aws-actions/configure-aws-credentials@v3
|
|
with:
|
|
aws-access-key-id: ${{ secrets.ACRYL_CI_ARTIFACTS_ACCESS_KEY_ID }}
|
|
aws-secret-access-key: ${{ secrets.ACRYL_CI_ARTIFACTS_ACCESS_KEY }}
|
|
aws-region: us-west-2
|
|
- name: Upload metadata to S3
|
|
if: ${{ needs.setup.outputs.publish == 'true' }}
|
|
run: aws s3 cp ./metadata-ingestion/generated/docs/metadata_model_mces.json s3://${{ secrets.ACRYL_CI_ARTIFACTS_BUCKET }}/datahub/demo/metadata/
|
|
- name: Upload metadata to DataHub
|
|
if: ${{ needs.setup.outputs.publish == 'true' }}
|
|
env:
|
|
DATAHUB_SERVER: ${{ secrets.DataHubServer }}
|
|
DATAHUB_TOKEN: ${{ secrets.DataHubToken }}
|
|
run: ./gradlew :metadata-ingestion:modelDocUpload
|