Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"PythonTestProperties": {
"ALL_SUPPORTED_VERSIONS": ["3.7", "3.8", "3.9", "3.10", "3.11"],
"LOWEST_SUPPORTED": ["3.7"],
"ALL_SUPPORTED_VERSIONS": ["3.8", "3.9", "3.10", "3.11"],
"LOWEST_SUPPORTED": ["3.8"],
"HIGHEST_SUPPORTED": ["3.11"],
"ESSENTIAL_VERSIONS": ["3.7", "3.11"],
"CROSS_LANGUAGE_VALIDATES_RUNNER_PYTHON_VERSIONS": ["3.7", "3.11"],
"ESSENTIAL_VERSIONS": ["3.8", "3.11"],
"CROSS_LANGUAGE_VALIDATES_RUNNER_PYTHON_VERSIONS": ["3.8", "3.11"],
"CROSS_LANGUAGE_VALIDATES_RUNNER_DATAFLOW_USING_SQL_PYTHON_VERSIONS": ["3.11"],
"VALIDATES_CONTAINER_DATAFLOW_PYTHON_VERSIONS": ["3.7", "3.8", "3.9", "3.10", "3.11" ]
"LOAD_TEST_PYTHON_VERSION": "3.7",
"CHICAGO_TAXI_EXAMPLE_FLINK_PYTHON_VERSION": "3.7",
"VALIDATES_CONTAINER_DATAFLOW_PYTHON_VERSIONS": ["3.8", "3.9", "3.10", "3.11" ]
"LOAD_TEST_PYTHON_VERSION": "3.8",
"CHICAGO_TAXI_EXAMPLE_FLINK_PYTHON_VERSION": "3.8",
"DEFAULT_INTERPRETER": "python3.8",
"TOX_ENV": ["Cloud", "Cython"]
},
Expand Down
9 changes: 0 additions & 9 deletions .github/actions/setup-self-hosted-action/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@
name: 'Setup environment for self-hosted runners'
description: 'Setup action to run jobs in a self-hosted runner'
inputs:
requires-py-37:
required: false
description: 'Set as false if does not require py37 setup'
default: 'true'
requires-py-38:
required: false
description: 'Set as false if does not require py38 setup'
Expand All @@ -42,11 +38,6 @@ inputs:
runs:
using: "composite"
steps:
- name: Install python 3.7
if: ${{ inputs.requires-py-37 == 'true' }}
uses: actions/setup-python@v4
with:
python-version: "3.7"
- name: Install python 3.8
if: ${{ inputs.requires-py-38 == 'true' }}
uses: actions/setup-python@v4
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
runs-on: ubuntu-latest
env:
EVENT_NAME: ${{ github.event_name }}
PY_VERSIONS_FULL: "cp37-* cp38-* cp39-* cp310-* cp311-*"
PY_VERSIONS_FULL: "cp38-* cp39-* cp310-* cp311-*"
outputs:
gcp-variables-set: ${{ steps.check_gcp_variables.outputs.gcp-variables-set }}
py-versions-full: ${{ steps.set-py-versions.outputs.py-versions-full }}
Expand Down Expand Up @@ -91,7 +91,7 @@ jobs:
- name: Install python
uses: actions/setup-python@v4
with:
python-version: 3.7
python-version: 3.8
- name: Get build dependencies
working-directory: ./sdks/python
run: python -m pip install -r build-requirements.txt
Expand Down Expand Up @@ -255,7 +255,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: 3.7
python-version: 3.8
- uses: docker/setup-qemu-action@v1
if: ${{matrix.arch == 'aarch64'}}
name: Set up QEMU
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/dask_runner_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
- name: Install python
uses: actions/setup-python@v4
with:
python-version: 3.7
python-version: 3.8
- name: Get build dependencies
working-directory: ./sdks/python
run: pip install pip setuptools --upgrade && pip install -r build-requirements.txt
Expand All @@ -67,7 +67,6 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
params: [
{"py_ver": "3.7", "tox_env": "py37"},
{"py_ver": "3.8", "tox_env": "py38"},
{"py_ver": "3.9", "tox_env": "py39"},
{"py_ver": "3.10", "tox_env": "py310" },
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/python_dependency_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ jobs:
matrix:
os: [ubuntu-latest]
params: [
{"py_ver": "3.7", "py_env": "py37"},
{"py_ver": "3.8", "py_env": "py38"},
{"py_ver": "3.9", "py_env": "py39"},
{"py_ver": "3.10", "py_env": "py310" },
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/python_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
- name: Install python
uses: actions/setup-python@v4
with:
python-version: 3.7
python-version: 3.8
- name: Get build dependencies
working-directory: ./sdks/python
run: pip install pip setuptools --upgrade && pip install -r build-requirements.txt
Expand All @@ -101,7 +101,6 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
params: [
{"py_ver": "3.7", "tox_env": "py37"},
{"py_ver": "3.8", "tox_env": "py38"},
{"py_ver": "3.9", "tox_env": "py39"},
{"py_ver": "3.10", "tox_env": "py310" },
Expand Down Expand Up @@ -141,7 +140,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python: ["3.7", "3.8", "3.9", "3.10", "3.11"]
python: ["3.8", "3.9", "3.10", "3.11"]
steps:
- name: Checkout code
uses: actions/checkout@v3
Expand Down Expand Up @@ -169,7 +168,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python: ["3.7", "3.8", "3.9", "3.10", "3.11"]
python: ["3.8", "3.9", "3.10", "3.11"]
steps:
- name: Checkout code
uses: actions/checkout@v3
Expand Down
5 changes: 2 additions & 3 deletions .test-infra/jenkins/PythonTestProperties.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ class PythonTestProperties {
// Indicates all supported Python versions.
// This must be sorted in ascending order.
final static List<String> ALL_SUPPORTED_VERSIONS = [
'3.7',
'3.8',
'3.9',
'3.10',
Expand All @@ -38,9 +37,9 @@ class PythonTestProperties {
final static List<String> CROSS_LANGUAGE_VALIDATES_RUNNER_PYTHON_VERSIONS = ESSENTIAL_VERSIONS
final static List<String> CROSS_LANGUAGE_VALIDATES_RUNNER_DATAFLOW_USING_SQL_PYTHON_VERSIONS = [HIGHEST_SUPPORTED]
final static List<String> VALIDATES_CONTAINER_DATAFLOW_PYTHON_VERSIONS = ALL_SUPPORTED_VERSIONS
final static String LOAD_TEST_PYTHON_VERSION = '3.7'
final static String LOAD_TEST_PYTHON_VERSION = '3.8'
final static String RUN_INFERENCE_TEST_PYTHON_VERSION = '3.8'
final static String CHICAGO_TAXI_EXAMPLE_FLINK_PYTHON_VERSION = '3.7'
final static String CHICAGO_TAXI_EXAMPLE_FLINK_PYTHON_VERSION = '3.8'
// Use for various shell scripts triggered by Jenkins.
// Gradle scripts should use project.ext.pythonVersion defined by PythonNature/BeamModulePlugin.
final static String DEFAULT_INTERPRETER = 'python3.8'
Expand Down
6 changes: 2 additions & 4 deletions .test-infra/jenkins/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,12 +163,10 @@ Beam Jenkins overview page: [link](https://ci-beam.apache.org/)
| beam_PostCommit_Python_VR_Spark | [cron](https://ci-beam.apache.org/job/beam_PostCommit_Python_VR_Spark/), [phrase](https://ci-beam.apache.org/job/beam_PostCommit_Python_VR_Spark/) | `Run Python Spark ValidatesRunner` | [![Build Status](https://ci-beam.apache.org/job/beam_PostCommit_Python_VR_Spark/badge/icon)](https://ci-beam.apache.org/job/beam_PostCommit_Python_VR_Spark) |
| beam_PostCommit_Python_Xlang_Gcp_Direct | [cron](https://ci-beam.apache.org/job/beam_PostCommit_Python_Xlang_Gcp_Direct/), [phrase](https://ci-beam.apache.org/job/beam_PostCommit_Python_Xlang_Gcp_Direct_PR/) | `Run Python_Xlang_Gcp_Direct PostCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PostCommit_Python_Xlang_Gcp_Direct/badge/icon)](https://ci-beam.apache.org/job/beam_PostCommit_Python_Xlang_Gcp_Direct/) |
| beam_PostCommit_Python_Xlang_Gcp_Dataflow | [cron](https://ci-beam.apache.org/job/beam_PostCommit_Python_Xlang_Gcp_Dataflow/), [phrase](https://ci-beam.apache.org/job/beam_PostCommit_Python_Xlang_Gcp_Dataflow_PR/) | `Run Python_Xlang_Gcp_Dataflow PostCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PostCommit_Python_Xlang_Gcp_Dataflow/badge/icon)](https://ci-beam.apache.org/job/beam_PostCommit_Python_Xlang_Gcp_Dataflow/) |
| beam_PostCommit_Python37 | [cron](https://ci-beam.apache.org/job/beam_PostCommit_Python37), [phrase](https://ci-beam.apache.org/job/beam_PostCommit_Python37_PR/) | `Run Python 3.7 PostCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PostCommit_Python37/badge/icon)](https://ci-beam.apache.org/job/beam_PostCommit_Python37) |
| beam_PostCommit_Python38 | [cron](https://ci-beam.apache.org/job/beam_PostCommit_Python38), [phrase](https://ci-beam.apache.org/job/beam_PostCommit_Python38_PR/) | `Run Python 3.8 PostCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PostCommit_Python38/badge/icon)](https://ci-beam.apache.org/job/beam_PostCommit_Python38) |
| beam_PostCommit_Python39 | [cron](https://ci-beam.apache.org/job/beam_PostCommit_Python39), [phrase](https://ci-beam.apache.org/job/beam_PostCommit_Python39_PR/) | `Run Python 3.9 PostCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PostCommit_Python39/badge/icon)](https://ci-beam.apache.org/job/beam_PostCommit_Python39) |
| beam_PostCommit_Python310 | [cron](https://ci-beam.apache.org/job/beam_PostCommit_Python310), [phrase](https://ci-beam.apache.org/job/beam_PostCommit_Python310_PR/) | `Run Python 3.10 PostCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PostCommit_Python310/badge/icon)](https://ci-beam.apache.org/job/beam_PostCommit_Python310) |
| beam_PostCommit_Python311 | [cron](https://ci-beam.apache.org/job/beam_PostCommit_Python311), [phrase](https://ci-beam.apache.org/job/beam_PostCommit_Python311_PR/) | `Run Python 3.11 PostCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PostCommit_Python311/badge/icon)](https://ci-beam.apache.org/job/beam_PostCommit_Python311) |
| beam_PostCommit_Sickbay_Python37 | [cron](https://ci-beam.apache.org/job/beam_PostCommit_Sickbay_Python37), [phrase](https://ci-beam.apache.org/job/beam_PostCommit_SickBay_Python37_PR/) | `Run Python 3.7 PostCommit Sickbay tests` | [![Build Status](https://ci-beam.apache.org/job/beam_PostCommit_Sickbay_Python37/badge/icon)](https://ci-beam.apache.org/job/beam_PostCommit_Sickbay_Python37) |
| beam_PostCommit_Sickbay_Python38 | [cron](https://ci-beam.apache.org/job/beam_PostCommit_Sickbay_Python38), [phrase](https://ci-beam.apache.org/job/beam_PostCommit_SickBay_Python38_PR/) | `Run Python 3.8 PostCommit Sickbay tests` | [![Build Status](https://ci-beam.apache.org/job/beam_PostCommit_Sickbay_Python38/badge/icon)](https://ci-beam.apache.org/job/beam_PostCommit_Sickbay_Python38) |
| beam_PostCommit_Sickbay_Python39 | [cron](https://ci-beam.apache.org/job/beam_PostCommit_Sickbay_Python39), [phrase](https://ci-beam.apache.org/job/beam_PostCommit_SickBay_Python39_PR/) | `Run Python 3.9 PostCommit Sickbay tests` | [![Build Status](https://ci-beam.apache.org/job/beam_PostCommit_Sickbay_Python39/badge/icon)](https://ci-beam.apache.org/job/beam_PostCommit_Sickbay_Python39) |
| beam_PostCommit_Sickbay_Python310 | [cron](https://ci-beam.apache.org/job/beam_PostCommit_Sickbay_Python310), [phrase](https://ci-beam.apache.org/job/beam_PostCommit_SickBay_Python310_PR/) | `Run Python 3.10 PostCommit Sickbay tests` | [![Build Status](https://ci-beam.apache.org/job/beam_PostCommit_Sickbay_Python310/badge/icon)](https://ci-beam.apache.org/job/beam_PostCommit_Sickbay_Python310) |
Expand Down Expand Up @@ -202,7 +200,7 @@ Beam Jenkins overview page: [link](https://ci-beam.apache.org/)
| beam_PerformanceTests_SparkReceiver_IO | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_SparkReceiver_IO/) | `Run Java SparkReceiverIO Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_SparkReceiver_IO/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_SparkReceiver_IO) |
| beam_PerformanceTests_TFRecordIOIT | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_TFRecordIOIT/) | `Run Java TFRecordIO Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_TFRecordIOIT/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_TFRecordIOIT) |
| beam_PerformanceTests_TextIOIT | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_TextIOIT/), [hdfs_cron](https://ci-beam.apache.org/job/beam_PerformanceTests_TextIOIT_HDFS/) | `Run Java TextIO Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_TextIOIT/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_TextIOIT) [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_TextIOIT_HDFS/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_TextIOIT_HDFS) |
| beam_PerformanceTests_WordCountIT_Py37 | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_WordCountIT_Py37/) | `Run Python37 WordCountIT Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_WordCountIT_Py37/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_WordCountIT_Py37) |
| beam_PerformanceTests_WordCountIT_Py38 | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_WordCountIT_Py38/) | `Run Python38 WordCountIT Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_WordCountIT_Py38/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_WordCountIT_Py38) |
| beam_PerformanceTests_XmlIOIT | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_XmlIOIT/), [hdfs_cron](https://ci-beam.apache.org/job/beam_PerformanceTests_XmlIOIT_HDFS/) | `Run Java XmlIO Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_XmlIOIT/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_XmlIOIT) [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_XmlIOIT_HDFS/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_XmlIOIT_HDFS) |
| beam_PerformanceTests_SQLBigQueryIO_Batch_Java | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_SQLBigQueryIO_Batch_Java/) | `Run SQLBigQueryIO Batch Performance Test Java` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_SQLBigQueryIO_Batch_Java/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_SQLBigQueryIO_Batch_Java/) |
| beam_Java_JMH | [cron](https://ci-beam.apache.org/job/beam_Java_JMH/) | | [![Build Status](https://ci-beam.apache.org/job/beam_Java_JMH/badge/icon)](https://ci-beam.apache.org/job/beam_Java_JMH/) |
Expand Down Expand Up @@ -308,4 +306,4 @@ Beam Jenkins overview page: [link](https://ci-beam.apache.org/)
retest this please
```

* Last update (mm/dd/yyyy): 04/04/2022
* Last update (mm/dd/yyyy): 06/20/2022
2 changes: 1 addition & 1 deletion .test-infra/jenkins/job_PerformanceTests_Python.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def dataflowPipelineArgs = [
]

testConfigurations = []
pythonVersions = ['37']
pythonVersions = ['38']

for (pythonVersion in pythonVersions) {
testConfigurations.add([
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ PostcommitJobBuilder.postCommitJob('beam_PostCommit_PortableJar_Flink',
steps {
gradle {
rootBuildScriptDir(commonJobProperties.checkoutDir)
tasks(':sdks:python:test-suites:portable:py37:testPipelineJarFlinkRunner')
tasks(':sdks:python:test-suites:portable:py38:testPipelineJarFlinkRunner')
commonJobProperties.setGradleSwitches(delegate)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ PostcommitJobBuilder.postCommitJob('beam_PostCommit_PortableJar_Spark',
steps {
gradle {
rootBuildScriptDir(commonJobProperties.checkoutDir)
tasks(':sdks:python:test-suites:portable:py37:testPipelineJarSparkRunner')
tasks(':sdks:python:test-suites:portable:py38:testPipelineJarSparkRunner')
commonJobProperties.setGradleSwitches(delegate)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "WordCountIT Batch 1Gb Files - py37",
"title": "WordCountIT Batch 1Gb Files - py38",
"tooltip": {
"shared": true,
"sort": 0,
Expand Down
46 changes: 23 additions & 23 deletions .test-infra/metrics/sync/jenkins/syncjenkins.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ def fetchJobs():
url = ('https://ci-beam.apache.org/api/json'
'?tree=jobs[name,url,lastCompletedBuild[id]]&depth=1')
r = requests.get(url)
jobs = r.json()[u'jobs']
jobs = r.json()['jobs']
result = map(lambda x: (x['name'],
int(x['lastCompletedBuild']['id'])
if x['lastCompletedBuild'] is not None
Expand Down Expand Up @@ -122,31 +122,31 @@ def fetchBuildsForJob(jobUrl):
f'estimatedDuration,fullDisplayName,actions[{durFields}]')
url = f'{jobUrl}api/json?depth=1&tree=builds[{fields}]'
r = requests.get(url)
return r.json()[u'builds']
return r.json()['builds']


def buildRowValuesArray(jobName, build):
timings = next((x
for x in build[u'actions']
if (u'_class' in x)
and (x[u'_class'] == u'jenkins.metrics.impl.TimeInQueueAction')),
for x in build['actions']
if ('_class' in x)
and (x['_class'] == 'jenkins.metrics.impl.TimeInQueueAction')),
None)
values = [jobName,
int(build[u'id']),
build[u'url'],
build[u'result'],
datetime.fromtimestamp(build[u'timestamp'] / 1000),
build[u'builtOn'],
build[u'duration'],
build[u'estimatedDuration'],
build[u'fullDisplayName'],
timings[u'blockedDurationMillis'] if timings is not None else -1,
timings[u'buildableDurationMillis'] if timings is not None else -1,
timings[u'buildingDurationMillis'] if timings is not None else -1,
timings[u'executingTimeMillis'] if timings is not None else -1,
timings[u'queuingDurationMillis'] if timings is not None else -1,
timings[u'totalDurationMillis'] if timings is not None else -1,
timings[u'waitingDurationMillis'] if timings is not None else -1]
int(build['id']),
build['url'],
build['result'],
datetime.fromtimestamp(build['timestamp'] / 1000),
build['builtOn'],
build['duration'],
build['estimatedDuration'],
build['fullDisplayName'],
timings['blockedDurationMillis'] if timings is not None else -1,
timings['buildableDurationMillis'] if timings is not None else -1,
timings['buildingDurationMillis'] if timings is not None else -1,
timings['executingTimeMillis'] if timings is not None else -1,
timings['queuingDurationMillis'] if timings is not None else -1,
timings['totalDurationMillis'] if timings is not None else -1,
timings['waitingDurationMillis'] if timings is not None else -1]
return values


Expand All @@ -168,16 +168,16 @@ def fetchNewData():
syncedJobId = syncedJobs[newJobName] if newJobName in syncedJobs else -1
if newJobLastBuildId > syncedJobId:
builds = fetchBuildsForJob(newJobUrl)
builds = [x for x in builds if int(x[u'id']) > syncedJobId]
builds = [x for x in builds if int(x['id']) > syncedJobId]

connection = initConnection()
cursor = connection.cursor()

for build in builds:
if build[u'building']:
if build['building']:
continue;
rowValues = buildRowValuesArray(newJobName, build)
print("inserting", newJobName, build[u'id'])
print("inserting", newJobName, build['id'])
insertRow(cursor, rowValues)

cursor.close()
Expand Down
2 changes: 1 addition & 1 deletion .test-infra/tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Example:
- Original

```bash
python_versions_arr=("3.8.16" "3.7.16" "3.9.16" "3.10.10")
python_versions_arr=("3.8.16" "3.9.16" "3.10.10" "3.11.4")
```

- Change
Expand Down
2 changes: 1 addition & 1 deletion .test-infra/tools/python_installer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
set -euo pipefail

# Variable containing the python versions to install
python_versions_arr=("3.8.16" "3.7.16" "3.9.16" "3.10.10")
python_versions_arr=("3.8.16" "3.9.16" "3.10.10" "3.11.4")

# Install pyenv dependencies.
pyenv_dep(){
Expand Down
2 changes: 1 addition & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@

## Deprecations

* X behavior is deprecated and will be removed in X versions ([#X](https://github.com/apache/beam/issues/X)).
* Remove Python 3.7 support. ([#26447](https://github.com/apache/beam/issues/26447))

## Bugfixes

Expand Down
Loading