123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- # 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: Python API
- on:
- push:
- branches:
- - dev
- paths:
- - 'dolphinscheduler-python/**'
- pull_request:
- paths:
- - 'dolphinscheduler-python/**'
- defaults:
- run:
- working-directory: dolphinscheduler-python/pydolphinscheduler
- jobs:
- sanity:
- name: Sanity
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- with:
- submodules: true
- - name: Sanity Check
- uses: ./.github/actions/sanity-check
- lint:
- name: Code Style
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Set up Python 3.7
- uses: actions/setup-python@v2
- with:
- python-version: 3.7
- - name: Install Development Dependences
- run: pip install -e .[style]
- - name: Run Isort Checking
- run: isort --check .
- - name: Run Black Checking
- run: black --check .
- - name: Run Flake8 Checking
- run: flake8
- pytest:
- name: Pytest
- needs:
- - lint
- - sanity
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- python-version: [3.6, 3.7, 3.8, 3.9]
- os: [ubuntu-18.04, macOS-latest, windows-latest]
- steps:
- - uses: actions/checkout@v2
- - name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v2
- with:
- python-version: ${{ matrix.python-version }}
- - name: Install dependencies & pydolphinscheduler
- run: |
- pip install -e .[test]
- - name: Run tests
- run: |
- pytest
- coverage:
- name: Tests coverage
- needs:
- - pytest
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Set up Python 3.7
- uses: actions/setup-python@v2
- with:
- python-version: 3.7
- - name: Install Development Dependences
- run: |
- pip install -e .[test]
- - name: Run Tests && Check coverage
- run: coverage run && coverage report
- doc-build:
- name: Document Build Test
- needs: pytest
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Set up Python 3.7
- uses: actions/setup-python@v2
- with:
- python-version: 3.7
- - name: Install Development Dependences
- run: |
- pip install -e .[doc]
- - name: Test Build Document
- working-directory: dolphinscheduler-python/pydolphinscheduler/docs
- run: make clean && make html
|