diff --git a/.asf.yaml b/.asf.yaml index 766ceb6..d6d504d 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -28,43 +28,23 @@ github: - queuing - event-streaming features: - # Enable wiki for documentation - wiki: true - # Enable issues management + wiki: false issues: true - # Enable projects for project management boards projects: true enabled_merge_buttons: - # enable squash button: squash: true - # disable merge button: merge: false - # disable rebase button: rebase: false protected_branches: main: required_status_checks: - # # strict means "Require branches to be up to date before merging". - strict: false - # # Contexts are the names of checks that must pass. - # # See ./github/workflows/README.md for more documentation on this list. + # Contexts are the names of checks that must pass. + # See ./github/workflows/README.md for more documentation on this list. contexts: - Check Completion - required_pull_request_reviews: - dismiss_stale_reviews: false - require_code_owner_reviews: true required_approving_review_count: 1 - # squash or rebase must be allowed in the repo for this setting to be set to true. - required_linear_history: true - - required_signatures: false - - # The following branch protections only ensure that force pushes are not allowed - # branch-3.xxx: {} - - notifications: commits: commits@pulsar.apache.org issues: commits@pulsar.apache.org diff --git a/.github/workflows/ci-pr-validation.yaml b/.github/workflows/ci-pr-validation.yaml index 6f3f894..132ece7 100644 --- a/.github/workflows/ci-pr-validation.yaml +++ b/.github/workflows/ci-pr-validation.yaml @@ -27,6 +27,24 @@ concurrency: cancel-in-progress: true jobs: + check-and-lint: + name: Lint and check code + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: 3.x + - name: Install deps + run: pip install -U pydoctor + - name: Check docs syntax + run: | + pydoctor --make-html \ + --html-viewsource-base=https://github.com/apache/pulsar-client-python/tree/main \ + --docformat=numpy --theme=readthedocs \ + --intersphinx=https://docs.python.org/3/objects.inv \ + --html-output=apidocs \ + pulsar unit-tests: name: Run unit tests @@ -237,12 +255,26 @@ jobs: ls -l *.dll python -c 'import pulsar; c = pulsar.Client("pulsar://localhost:6650"); c.close()' - - # Job that will be required to complete and depends on all the other jobs check-completion: name: Check Completion runs-on: ubuntu-latest - needs: [unit-tests, linux-wheel, mac-wheels, windows-wheels] - + if: ${{ always() }} + needs: [ + check-and-lint, + unit-tests, + linux-wheel, + mac-wheels, + windows-wheels + ] steps: - - run: true + - run: | + if [[ ! ( \ + "${{ needs.check-and-lint.result }}" == "success" \ + && "${{ needs.unit-tests.result }}" == "success" \ + && "${{ needs.linux-wheel.result }}" == "success" \ + && "${{ needs.mac-wheels.result }}" == "success" \ + && "${{ needs.windows-wheels.result }}" == "success" \ + ) ]]; then + echo "Required jobs haven't been completed successfully." + exit 1 + fi