Skip to content

Commit

Permalink
Merge branch 'Azure:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
achauhan-scc authored Sep 23, 2024
2 parents b4f1cd3 + 34a03ee commit e8ae640
Show file tree
Hide file tree
Showing 460 changed files with 13,964 additions and 5,216 deletions.
4 changes: 4 additions & 0 deletions eng/common/pipelines/templates/jobs/prepare-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ parameters:
- name: RepositoryPath
type: string
default: 'sdk'
- name: RepositoryCommitish
type: string
default: $(Build.SourceVersion)

jobs:
- job:
Expand Down Expand Up @@ -36,6 +39,7 @@ jobs:
parameters:
Repositories:
- Name: ${{ parameters.Repository }}
Commitish: ${{ parameters.RepositoryCommitish }}
WorkingDirectory: $(System.DefaultWorkingDirectory)
Paths:
- 'sdk/**/*.yml'
Expand Down
202 changes: 68 additions & 134 deletions eng/pipelines/templates/jobs/tests-nightly-python.yml
Original file line number Diff line number Diff line change
@@ -1,150 +1,84 @@
trigger:
- main

jobs:

- job: Validate_RC_Python_Build_Windows
displayName: Validate Release Candidate Python - Windows
variables:
skipComponentGovernanceDetection: true
PythonVersion: '3.11.0-rc.1'

timeoutInMinutes: 90

pool:
name: 'azsdk-pool-mms-win-2022-general'
parameters:
- name: RunNightlyTests
type: boolean
default: false
- name: TargetedPackages
type: string
default: "azure-core,azure-keyvault*, azure-identity*, azure-storage-queue"

steps:
- template: /eng/pipelines/templates/steps/use-python-version.yml
parameters:
versionSpec: $(PythonVersion)

- script: |
python -m pip freeze
python -m pip --version
python -m pip install setuptools==72.2.0 wheel==0.37.0 tox==4.5.0 packaging==23.1 requests
python -m pip install $(Build.SourcesDirectory)/tools/azure-sdk-tools[build]
displayName: Install Dependencies
- template: /eng/common/testproxy/test-proxy-tool.yml
parameters:
runProxy: false

- script: |
python ./scripts/devops_tasks/dispatch_tox.py "$(BuildTargetingString)" --junitxml="junit/test_results.xml" --toxenv="whl" --filter-type="None"
displayName: 'Setup - Run Filtered Tests For Python $(PythonVersion)'
env:
YARL_NO_EXTENSIONS: 1
AIOHTTP_NO_EXTENSIONS: 1
PROXY_URL: "http://localhost:5000"
continueOnError: true
- task: PublishTestResults@2
condition: always()
inputs:
testResultsFiles: '**/*test*.xml'
testRunTitle: 'Python $(PythonVersion)'
failTaskOnFailedTests: true
jobs:

- job: Validate_RC_Python_Build_Linux
displayName: Validate Release Candidate Python - Linux
variables:
skipComponentGovernanceDetection: true
PythonVersion: '3.11.0-rc.1'

timeoutInMinutes: 90

pool:
name: 'azsdk-pool-mms-ubuntu-2004-general'

steps:
- template: /eng/pipelines/templates/steps/use-python-version.yml
parameters:
versionSpec: $(PythonVersion)

- script: |
sudo apt-get update
sudo apt-get install build-essential -y
python -m pip freeze
python -m pip --version
python -m pip install setuptools==72.2.0 wheel==0.37.0 tox==4.5.0 packaging==23.1 requests
python -m pip install $(Build.SourcesDirectory)/tools/azure-sdk-tools[build]
displayName: Install Dependencies
- template: /eng/common/testproxy/test-proxy-tool.yml
parameters:
runProxy: false

- script: |
find /usr/lib -name "libffi.so*"
ln -s /usr/lib/x86_64-linux-gnu/libffi.so.7 /usr/lib/x86_64-linux-gnu/libffi.so.6
python ./scripts/devops_tasks/dispatch_tox.py "$(BuildTargetingString)" --junitxml="junit/test_results.xml" --toxenv="whl" --filter-type="None"
displayName: 'Setup - Run Filtered Tests For Python $(PythonVersion)'
env:
YARL_NO_EXTENSIONS: 1
AIOHTTP_NO_EXTENSIONS: 1
PROXY_URL: "http://localhost:5000"
continueOnError: true
- task: PublishTestResults@2
condition: always()
inputs:
testResultsFiles: '**/*test*.xml'
testRunTitle: 'Python $(PythonVersion)'
failTaskOnFailedTests: true

- job: Validate_Nightly_Python_Build
displayName: Validate Nightly Dev Python Build
variables:
skipComponentGovernanceDetection: true
PythonVersion: '3.13.0-rc.2'
TargetedPackages: ${{ parameters.TargetedPackages }}

timeoutInMinutes: 90

pool:
name: 'azsdk-pool-mms-ubuntu-2004-general'

steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.9 For Build Tools'
inputs:
versionSpec: '3.9'


- template: /eng/common/testproxy/test-proxy-tool.yml
parameters:
runProxy: false

- script: |
sudo apt-get update
sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev zlib1g-dev libssl-dev openssl libgdbm-dev liblzma-dev libreadline-dev libncursesw5-dev libffi-dev uuid-dev
cd ~/
git clone https://github.com/python/cpython.git
cd cpython
mkdir debug
cd debug
../configure --enable-optimizations --prefix=$HOME
make
make install
export PATH=~/bin:$PATH
export PATH=~/lib:$PATH
export PATH=~/.local/bin:$PATH
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
python3 -m pip install setuptools==72.2.0 wheel
python3 -m pip install tox packaging twine beautifulsoup4
python3 --version
cd $(Build.SourcesDirectory)
python3 ./scripts/devops_tasks/dispatch_tox.py "$(BuildTargetingString)" --junitxml="junit/test_results_38.xml" --toxenv="whl" --filter-type="None"
displayName: 'Setup - Run Filtered Tests "Nightly" using Python Edge'
env:
YARL_NO_EXTENSIONS: 1
PROXY_URL: "http://localhost:5000"
AIOHTTP_NO_EXTENSIONS: 1
continueOnError: true
- task: PublishTestResults@2
condition: always()
inputs:
testResultsFiles: '**/junit/test-results.xml'
testRunTitle: 'Python Nightly'
failTaskOnFailedTests: true
- template: ../steps/release-candidate-steps.yml

- ${{ if eq(parameters.RunNightlyTests, true) }}:
- job: Validate_Nightly_Python_Build
displayName: Validate Nightly Dev Python Build
variables:
skipComponentGovernanceDetection: true

timeoutInMinutes: 90

pool:
name: 'azsdk-pool-mms-ubuntu-2004-general'

steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.9 For Build Tools'
inputs:
versionSpec: '3.9'


- template: /eng/common/testproxy/test-proxy-tool.yml
parameters:
runProxy: false

- script: |
sudo apt-get update
sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev zlib1g-dev libssl-dev openssl libgdbm-dev liblzma-dev libreadline-dev libncursesw5-dev libffi-dev uuid-dev
cd ~/
git clone https://github.com/python/cpython.git
cd cpython
mkdir debug
cd debug
../configure --enable-optimizations --prefix=$HOME
make
make install
export PATH=~/bin:$PATH
export PATH=~/lib:$PATH
export PATH=~/.local/bin:$PATH
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
python3 -m pip install setuptools==72.2.0 wheel
python3 -m pip install tox packaging twine beautifulsoup4
python3 --version
cd $(Build.SourcesDirectory)
python3 ./scripts/devops_tasks/dispatch_tox.py "$(BuildTargetingString)" --junitxml="junit/test_results_38.xml" --toxenv="whl" --filter-type="None"
displayName: 'Setup - Run Filtered Tests "Nightly" using Python Edge'
env:
YARL_NO_EXTENSIONS: 1
PROXY_URL: "http://localhost:5000"
AIOHTTP_NO_EXTENSIONS: 1
continueOnError: true
- task: PublishTestResults@2
condition: always()
inputs:
testResultsFiles: '**/junit/test-results.xml'
testRunTitle: 'Python Nightly'
failTaskOnFailedTests: true
38 changes: 38 additions & 0 deletions eng/pipelines/templates/steps/release-candidate-steps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
steps:
- template: /eng/pipelines/templates/steps/use-python-version.yml
parameters:
versionSpec: $(PythonVersion)

- template: /eng/pipelines/templates/steps/use-venv.yml
parameters:
Activate: false

- pwsh: |
$(VENV_ACTIVATION_SCRIPT)
$ErrorActionPreference = 'Stop'
$PSNativeCommandUseErrorActionPreference = $true
python -m pip install -r $(Build.SourcesDirectory)/eng/ci_tools.txt
python -m pip freeze --all
Write-Host (Get-Command python).Source
displayName: 'Install Dependencies'
- template: /eng/common/testproxy/test-proxy-tool.yml
parameters:
runProxy: false

- pwsh: |
$(VENV_ACTIVATION_SCRIPT)
python ./scripts/devops_tasks/dispatch_tox.py "$(TargetedPackages)" --junitxml="junit/test_results.xml" --toxenv="whl" --filter-type="Build"
displayName: 'Setup - Run Filtered Tests For Python $(PythonVersion)'
env:
YARL_NO_EXTENSIONS: 1
AIOHTTP_NO_EXTENSIONS: 1
PROXY_URL: "http://localhost:5000"
continueOnError: true
- task: PublishTestResults@2
condition: always()
inputs:
testResultsFiles: '**/*test*.xml'
testRunTitle: 'Python $(PythonVersion)'
failTaskOnFailedTests: true
8 changes: 4 additions & 4 deletions scripts/devops_tasks/test_regression.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import logging
from common_tasks import (
run_check_call,
parse_require,
install_package_from_whl,
filter_dev_requirements,
find_packages_missing_on_pypi,
Expand All @@ -32,8 +31,9 @@
clone_repo,
)

from ci_tools.functions import discover_targeted_packages, str_to_bool, find_whl
from ci_tools.parsing import ParsedSetup
from ci_tools.functions import discover_targeted_packages, find_whl
from ci_tools.parsing import ParsedSetup, parse_require
from ci_tools.variables import str_to_bool

AZURE_GLOB_STRING = "azure*"

Expand Down Expand Up @@ -407,7 +407,7 @@ def run_main(args):
"--service",
help=("Name of service directory (under sdk/) to test." "Example: --service applicationinsights"),
)

parser.add_argument(
"--dependent-service",
dest="dependent_service",
Expand Down
2 changes: 1 addition & 1 deletion scripts/devops_tasks/tox_harness.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ def compare_req_to_injected_reqs(parsed_req, injected_packages):

def inject_custom_reqs(file, injected_packages, package_dir):
req_lines = []
injected_packages = [p for p in re.split("[\s,]", injected_packages) if p]
injected_packages = [p for p in re.split(r"[\s,]", injected_packages) if p]

if injected_packages:
logging.info("Adding custom packages to requirements for {}".format(package_dir))
Expand Down
10 changes: 10 additions & 0 deletions sdk/batch/azure-batch/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Release History

## 15.0.0b2 (Unreleased)

### Features Added

### Breaking Changes

### Bugs Fixed

### Other Changes

## 15.0.0b1 (2024-09-01)

- Version (15.0.0b1) is the first preview of our efforts to create a user-friendly and Pythonic client library for Azure Batch. For more information about this, and preview releases of other Azure SDK libraries, please visit https://azure.github.io/azure-sdk/releases/latest/python.html.
Expand Down
2 changes: 1 addition & 1 deletion sdk/batch/azure-batch/azure/batch/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

VERSION = "15.0.0b1"
VERSION = "15.0.0b2"
11 changes: 4 additions & 7 deletions sdk/communication/azure-communication-email/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
# Release History

## 1.0.1 (Unreleased)
## 1.0.1b1 (2024-08-28)

### Features Added

### Breaking Changes

### Bugs Fixed

### Other Changes
- Consumers can now provide a value for the `contentId` property when sending emails with attachments.
This allows consumers to reference attachments in the email body using the `cid` scheme. The `contentId` property can be set on the `EmailAttachment` object.

## 1.0.0 (2023-03-31)

Expand All @@ -26,7 +23,7 @@ The public release of the Azure Communication Services SDK for Email has the fol

### Breaking Changes
- Made the SDK Model-less. Objects are now constructed using a dictionary instead of a model.
- Reworked the SDK to follow the LRO (long running operation) approach. The 'begin_send' method returns a poller that can be used to check for the status of sending the email and retrieve the result. The return object has been adjusted to fit this approach.
- Reworked the SDK to follow the LRO (long running operation) approach. The 'begin_send' method returns a poller that can be used to check for the status of sending the email and retrieve the result. The return object has been adjusted to fit this approach.
- The `get_send_status` method has been removed.
- The `sender` property has been changed to `senderAddress`.
- The `email` property under the recipient object has been changed to `address`.
Expand Down
Loading

0 comments on commit e8ae640

Please sign in to comment.