-
Notifications
You must be signed in to change notification settings - Fork 4.5k
GA Migration Python Precommit IOs #23241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
f71107b
c5d7c83
3cb185f
6b195a2
baaa5bc
c3e7b4e
5a01313
2ca9215
172744e
9264df4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,73 @@ | ||
| # 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. | ||
|
|
||
| # This workflow will run the test of python Avro IO class. | ||
|
|
||
| name: Python Avro IO | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| schedule: | ||
| - cron: '0 */6 * * *' | ||
| push: | ||
| branches: ['master', 'release-*'] | ||
| tags: ['v*'] | ||
| pull_request_target: | ||
| branches: ['master', 'release-*'] | ||
| tags: ['v*'] | ||
| paths: ['sdks/python/apache_beam/io/avroio.py', | ||
| 'sdks/python/apache_beam/io/avroio_test.py'] | ||
| permissions: read-all | ||
|
|
||
| jobs: | ||
| set-properties: | ||
| runs-on: [self-hosted, ubuntu-20.04] | ||
| outputs: | ||
| properties: ${{ steps.test-properties.outputs.properties }} | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v3 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| persist-credentials: false | ||
| - id: test-properties | ||
| uses: ./.github/actions/setup-default-test-properties | ||
|
|
||
| python_avro_io: | ||
| needs: set-properties | ||
| name: Python Avro IO | ||
| runs-on: [self-hosted, ubuntu-20.04] | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| version: ${{fromJson(needs.set-properties.outputs.properties).PythonTestProperties.ALL_SUPPORTED_VERSIONS}} | ||
| tox-env: ${{fromJson(needs.set-properties.outputs.properties).PythonTestProperties.TOX_ENV}} | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v3 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| persist-credentials: false | ||
| - name: Set python version | ||
| run: echo "PYTHON_VERSION=$(echo ${{ matrix.version }} | sed -e 's/\.//g')" >> $GITHUB_ENV | ||
| - name: Setup environment | ||
| uses: ./.github/actions/setup-self-hosted-action | ||
| - name: Run Tox Tests | ||
| uses: ./.github/actions/gradle-command-self-hosted-action | ||
| with: | ||
| gradle-command: :sdks:python:test-suites:tox:py${{env.PYTHON_VERSION}}:testPy${{env.PYTHON_VERSION}}${{matrix.tox-env}} | ||
| arguments: "-Pposargs=apache_beam/io/avroio_test.py" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| # 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. | ||
|
|
||
| # This workflow will run the test of python Azure IO class. | ||
|
|
||
| name: Python Azure IO | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| schedule: | ||
| - cron: '0 */6 * * *' | ||
| push: | ||
| branches: ['master', 'release-*'] | ||
| tags: ['v*'] | ||
| pull_request_target: | ||
| branches: ['master', 'release-*'] | ||
| tags: ['v*'] | ||
| paths: ['sdks/python/apache_beam/io/azure/**'] | ||
| permissions: read-all | ||
|
|
||
| jobs: | ||
| set-properties: | ||
| runs-on: [self-hosted, ubuntu-20.04] | ||
| outputs: | ||
| properties: ${{ steps.test-properties.outputs.properties }} | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v3 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| persist-credentials: false | ||
| - id: test-properties | ||
| uses: ./.github/actions/setup-default-test-properties | ||
|
|
||
| python_azure_io: | ||
| needs: set-properties | ||
| name: Python Azure IO | ||
| runs-on: [self-hosted, ubuntu-20.04] | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| version: ${{fromJson(needs.set-properties.outputs.properties).PythonTestProperties.ALL_SUPPORTED_VERSIONS}} | ||
| tox-env: ${{fromJson(needs.set-properties.outputs.properties).PythonTestProperties.TOX_ENV}} | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v3 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| persist-credentials: false | ||
| - name: Set python version | ||
| run: echo "PYTHON_VERSION=$(echo ${{ matrix.version }} | sed -e 's/\.//g')" >> $GITHUB_ENV | ||
| - name: Setup environment | ||
| uses: ./.github/actions/setup-self-hosted-action | ||
| with: | ||
| requires-go-18: false | ||
| - name: Run Tox Tests | ||
| uses: ./.github/actions/gradle-command-self-hosted-action | ||
| with: | ||
| gradle-command: :sdks:python:test-suites:tox:py${{env.PYTHON_VERSION}}:testPy${{env.PYTHON_VERSION}}${{matrix.tox-env}} | ||
| arguments: "-Pposargs=apache_beam/io/azure/" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We are splitting azure and gcp out; we may also want to split aws and dataframe, as there are [azure,aws,gcp,dataframe] extra dependencies and each one could have its own precommit test suite.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| # 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. | ||
|
|
||
| # This workflow will run the test of python Flink IO class. | ||
|
|
||
| name: Python Flink IO | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| schedule: | ||
| - cron: '0 */6 * * *' | ||
| push: | ||
| branches: ['master', 'release-*'] | ||
| tags: ['v*'] | ||
| pull_request_target: | ||
| branches: ['master', 'release-*'] | ||
| tags: ['v*'] | ||
| paths: ['sdks/python/apache_beam/io/flink/**'] | ||
| permissions: read-all | ||
|
|
||
| jobs: | ||
| set-properties: | ||
| runs-on: [self-hosted, ubuntu-20.04] | ||
| outputs: | ||
| properties: ${{ steps.test-properties.outputs.properties }} | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v3 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| persist-credentials: false | ||
| - id: test-properties | ||
| uses: ./.github/actions/setup-default-test-properties | ||
|
|
||
| python_flink_io: | ||
| needs: set-properties | ||
| name: Python Flink IO | ||
| runs-on: [self-hosted, ubuntu-20.04] | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| version: ${{fromJson(needs.set-properties.outputs.properties).PythonTestProperties.ALL_SUPPORTED_VERSIONS}} | ||
| tox-env: ${{fromJson(needs.set-properties.outputs.properties).PythonTestProperties.TOX_ENV}} | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v3 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| persist-credentials: false | ||
| - name: Set python version | ||
| run: echo "PYTHON_VERSION=$(echo ${{ matrix.version }} | sed -e 's/\.//g')" >> $GITHUB_ENV | ||
| - name: Setup environment | ||
| uses: ./.github/actions/setup-self-hosted-action | ||
| with: | ||
| requires-go-18: false | ||
| - name: Run Tox Tests | ||
| uses: ./.github/actions/gradle-command-self-hosted-action | ||
| with: | ||
| gradle-command: :sdks:python:test-suites:tox:py${{env.PYTHON_VERSION}}:testPy${{env.PYTHON_VERSION}}${{matrix.tox-env}} | ||
| arguments: "-Pposargs=apache_beam/io/flink/" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| # 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. | ||
|
|
||
| # This workflow will run the test of python GCP IO classes. | ||
|
|
||
| name: Python GCP IO | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| schedule: | ||
| - cron: '0 */6 * * *' | ||
| push: | ||
| branches: ['master', 'release-*'] | ||
| tags: ['v*'] | ||
| pull_request_target: | ||
| branches: ['master', 'release-*'] | ||
| tags: ['v*'] | ||
| paths: ['sdks/python/apache_beam/io/gcp/**'] | ||
| permissions: read-all | ||
|
|
||
| jobs: | ||
| set-properties: | ||
| runs-on: [self-hosted, ubuntu-20.04] | ||
| outputs: | ||
| properties: ${{ steps.test-properties.outputs.properties }} | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v3 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| persist-credentials: false | ||
| - id: test-properties | ||
| uses: ./.github/actions/setup-default-test-properties | ||
|
|
||
| python_gcp_io: | ||
| needs: set-properties | ||
| name: Python GCP IO | ||
| runs-on: [self-hosted, ubuntu-20.04] | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| version: ${{fromJson(needs.set-properties.outputs.properties).PythonTestProperties.ALL_SUPPORTED_VERSIONS}} | ||
| tox-env: ${{fromJson(needs.set-properties.outputs.properties).PythonTestProperties.TOX_ENV}} | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v3 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| persist-credentials: false | ||
| - name: Set python version | ||
| run: echo "PYTHON_VERSION=$(echo ${{ matrix.version }} | sed -e 's/\.//g')" >> $GITHUB_ENV | ||
| - name: Setup environment | ||
| uses: ./.github/actions/setup-self-hosted-action | ||
| with: | ||
| requires-go-18: false | ||
| - name: Run Tox Tests | ||
| uses: ./.github/actions/gradle-command-self-hosted-action | ||
| with: | ||
| gradle-command: :sdks:python:test-suites:tox:py${{env.PYTHON_VERSION}}:testPy${{env.PYTHON_VERSION}}${{matrix.tox-env}} | ||
| arguments: "-Pposargs=apache_beam/io/gcp/" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| # 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. | ||
|
|
||
| # This workflow will run the test of python ML classes. | ||
|
|
||
| name: Python ML | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| schedule: | ||
| - cron: '0 */6 * * *' | ||
| push: | ||
| branches: ['master', 'release-*'] | ||
| tags: ['v*'] | ||
| pull_request_target: | ||
| branches: ['master', 'release-*'] | ||
| tags: ['v*'] | ||
| paths: ['sdks/python/apache_beam/ml/**'] | ||
| permissions: read-all | ||
|
|
||
| jobs: | ||
| set-properties: | ||
| runs-on: [self-hosted, ubuntu-20.04] | ||
| outputs: | ||
| properties: ${{ steps.test-properties.outputs.properties }} | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v3 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| persist-credentials: false | ||
| - id: test-properties | ||
| uses: ./.github/actions/setup-default-test-properties | ||
|
|
||
| python_ml: | ||
| needs: set-properties | ||
| name: Python ML | ||
| runs-on: [self-hosted, ubuntu-20.04] | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| version: ${{fromJson(needs.set-properties.outputs.properties).PythonTestProperties.ALL_SUPPORTED_VERSIONS}} | ||
| tox-env: ${{fromJson(needs.set-properties.outputs.properties).PythonTestProperties.TOX_ENV}} | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v3 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| persist-credentials: false | ||
| - name: Set python version | ||
| run: echo "PYTHON_VERSION=$(echo ${{ matrix.version }} | sed -e 's/\.//g')" >> $GITHUB_ENV | ||
| - name: Setup environment | ||
| uses: ./.github/actions/setup-self-hosted-action | ||
| with: | ||
| requires-go-18: false | ||
| - name: Run Tox Tests | ||
| uses: ./.github/actions/gradle-command-self-hosted-action | ||
| with: | ||
| gradle-command: :sdks:python:test-suites:tox:py${{env.PYTHON_VERSION}}:testPy${{env.PYTHON_VERSION}}${{matrix.tox-env}} | ||
| arguments: "-Pposargs=apache_beam/ml/" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we consider AvroIO as part of "core IO" like in Java SDK so this test may be exercised more often (as textio)? CC: @chamikaramj may have more context.
Also, there is not much precommit test for hadoop, we may not need to split it at this point.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed the Hadoop precommit suite, those tests will be running in the remaining python precommit suite in #23451