diff --git a/.github/workflows/py-integration-tests.yml b/.github/workflows/py-integration-tests.yml new file mode 100644 index 00000000000..89af25dd1fe --- /dev/null +++ b/.github/workflows/py-integration-tests.yml @@ -0,0 +1,56 @@ + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +name: py-integration-tests +on: + push: + branches: [main] + paths: + - ingestion/** + pull_request: + branches: [main] + paths: + - ingestion/** +jobs: + run_integration_tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 11 + uses: actions/setup-java@v2 + with: + java-version: '11' + distribution: 'adopt' + - name: Generating Data Models + run: make install_dev generate + - name: Start Server and Ingest Sample Data + run: ./docker/run_local_docker.sh + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install Ubuntu related dependencies + run: | + sudo apt-get install -y libsasl2-dev unixodbc-dev python3-venv + - name: Install Python & Openmetadata related dependencies + run: | + python3 -m venv env + source env/bin/activate + make install install_test + pip install pytest pytest-cov + - name: Run Integration Tests + run: | + source env/bin/activate + make run_ometa_integration_tests diff --git a/Makefile b/Makefile index b2857ce629b..c7c5b467dac 100644 --- a/Makefile +++ b/Makefile @@ -38,6 +38,10 @@ generate: @echo "Make sure to first run `make install_dev`" datamodel-codegen --input catalog-rest-service/src/main/resources/json --input-file-type jsonschema --output ingestion/src/metadata/generated +run_ometa_integration_tests: + cd ingestion; \ + pytest -c setup.cfg --override-ini=testpaths=tests/integration/ometa + publish: make install_dev generate cd ingestion; \