mirror of
https://github.com/microsoft/debugpy.git
synced 2025-12-23 08:48:12 +00:00
Move lint and pydevd to their own stages
This commit is contained in:
parent
37eaf86e1a
commit
22fbc53ee3
1 changed files with 193 additions and 182 deletions
|
|
@ -15,222 +15,233 @@ pr:
|
|||
include:
|
||||
- main
|
||||
- release/*
|
||||
drafts: "false"
|
||||
drafts: false
|
||||
|
||||
variables:
|
||||
architecture: "x64"
|
||||
PYDEVD_ATTACH_TO_PROCESS: src/debugpy/_vendored/pydevd/pydevd_attach_to_process
|
||||
|
||||
jobs:
|
||||
stages:
|
||||
|
||||
- job: "Lint"
|
||||
timeoutInMinutes: "5"
|
||||
displayName: "Lint"
|
||||
pool: { vmImage: "ubuntu-latest" }
|
||||
- stage: Lint
|
||||
jobs:
|
||||
- job: Lint
|
||||
timeoutInMinutes: 5
|
||||
|
||||
variables:
|
||||
python.version: "3.9"
|
||||
pool:
|
||||
vmImage: ubuntu-latest
|
||||
|
||||
steps:
|
||||
variables:
|
||||
python.version: "3.9"
|
||||
|
||||
- template: "templates/use_python.yml"
|
||||
steps:
|
||||
|
||||
# Install and run ruff
|
||||
# See https://github.com/astral-sh/ruff and https://beta.ruff.rs/docs/
|
||||
- script: "python3 -m pip install -U ruff"
|
||||
displayName: "Install ruff"
|
||||
|
||||
- script: "python3 -m ruff check --output-format=junit --output-file=$(Build.ArtifactStagingDirectory)/lint-ruff.xml ."
|
||||
displayName: "Run ruff"
|
||||
- template: templates/use_python.yml
|
||||
|
||||
- task: "PublishTestResults@2"
|
||||
displayName: "Publish linting results"
|
||||
inputs:
|
||||
testRunTitle: "$(Agent.JobName)"
|
||||
testResultsFiles: "lint-*.xml"
|
||||
searchFolder: "$(Build.ArtifactStagingDirectory)"
|
||||
condition: "always()"
|
||||
# Install and run ruff
|
||||
# See https://github.com/astral-sh/ruff and https://beta.ruff.rs/docs/
|
||||
- script: python3 -m pip install -U ruff
|
||||
displayName: Install ruff
|
||||
|
||||
# Run linter
|
||||
- script: python3 -m ruff check --output-format=junit --output-file=$(Build.ArtifactStagingDirectory)/lint-ruff.xml .
|
||||
displayName: Run ruff
|
||||
|
||||
- job: pydevd_binaries
|
||||
displayName: Build pydevd binaries
|
||||
# Publish results, even on failure
|
||||
- task: PublishTestResults@2
|
||||
displayName: Publish linting results
|
||||
inputs:
|
||||
testRunTitle: $(Agent.JobName)
|
||||
testResultsFiles: lint-*.xml
|
||||
searchFolder: $(Build.ArtifactStagingDirectory)
|
||||
condition: always()
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
windows:
|
||||
image: windows-latest
|
||||
contents: |
|
||||
*.exe
|
||||
*.dll
|
||||
*.pdb
|
||||
script: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)/windows/compile_windows.bat
|
||||
workingDirectory: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)/windows
|
||||
mac:
|
||||
image: macOS-latest
|
||||
contents: |
|
||||
*.dylib
|
||||
script: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)/linux_and_mac/compile_mac.sh
|
||||
workingDirectory: $(System.DefaultWorkingDirectory)
|
||||
linux:
|
||||
image: ubuntu-latest
|
||||
contents: |
|
||||
*.so
|
||||
script: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)/linux_and_mac/compile_linux.sh
|
||||
workingDirectory: $(System.DefaultWorkingDirectory)
|
||||
|
||||
pool:
|
||||
vmImage: $(image)
|
||||
|
||||
steps:
|
||||
|
||||
# Clean up old binaries
|
||||
- task: DeleteFiles@1
|
||||
displayName: Clean up old binaries
|
||||
inputs:
|
||||
SourceFolder: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)
|
||||
Contents: $(contents)
|
||||
|
||||
# Build pydevd binaries
|
||||
- script: $(script)
|
||||
- stage: Pydevd
|
||||
jobs:
|
||||
- job: pydevd_binaries
|
||||
displayName: Build pydevd binaries
|
||||
workingDirectory: $(workingDirectory)
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
windows:
|
||||
image: windows-latest
|
||||
contents: |
|
||||
*.exe
|
||||
*.dll
|
||||
*.pdb
|
||||
script: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)/windows/compile_windows.bat
|
||||
workingDirectory: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)/windows
|
||||
mac:
|
||||
image: macOS-latest
|
||||
contents: |
|
||||
*.dylib
|
||||
script: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)/linux_and_mac/compile_mac.sh
|
||||
workingDirectory: $(System.DefaultWorkingDirectory)
|
||||
linux:
|
||||
image: ubuntu-latest
|
||||
contents: |
|
||||
*.so
|
||||
script: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)/linux_and_mac/compile_linux.sh
|
||||
workingDirectory: $(System.DefaultWorkingDirectory)
|
||||
|
||||
pool:
|
||||
vmImage: $(image)
|
||||
|
||||
steps:
|
||||
|
||||
# Clean up old binaries
|
||||
- task: DeleteFiles@1
|
||||
displayName: Clean up old binaries
|
||||
inputs:
|
||||
SourceFolder: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)
|
||||
Contents: $(contents)
|
||||
|
||||
# Build pydevd binaries
|
||||
- script: $(script)
|
||||
displayName: Build pydevd binaries
|
||||
workingDirectory: $(workingDirectory)
|
||||
|
||||
# copy pydevd binaries
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy pydevd binaries
|
||||
inputs:
|
||||
SourceFolder: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)
|
||||
Contents: $(contents)
|
||||
TargetFolder: $(Build.ArtifactStagingDirectory)
|
||||
|
||||
# Publish pydevd binaries
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: Publish pydevd binaries
|
||||
inputs:
|
||||
artifactName: pydevd binaries
|
||||
pathToPublish: $(Build.ArtifactStagingDirectory)
|
||||
|
||||
# copy pydevd binaries
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy pydevd binaries
|
||||
inputs:
|
||||
SourceFolder: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)
|
||||
Contents: $(contents)
|
||||
TargetFolder: $(Build.ArtifactStagingDirectory)
|
||||
|
||||
# Publish pydevd binaries
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: Publish pydevd binaries
|
||||
inputs:
|
||||
artifactName: pydevd binaries
|
||||
pathToPublish: $(Build.ArtifactStagingDirectory)
|
||||
|
||||
- job: "Test_Linux"
|
||||
timeoutInMinutes: "30"
|
||||
displayName: "Tests - Linux"
|
||||
pool: { vmImage: "ubuntu-latest" }
|
||||
dependsOn: pydevd_binaries
|
||||
- stage: Test
|
||||
dependsOn: Pydevd
|
||||
jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
py39:
|
||||
python.version: "3.9"
|
||||
py310:
|
||||
python.version: "3.10"
|
||||
py311:
|
||||
python.version: "3.11"
|
||||
py312:
|
||||
python.version: "3.12"
|
||||
py313:
|
||||
python.version: "3.13"
|
||||
- job: Tests_Linux
|
||||
displayName: Tests - Linux
|
||||
timeoutInMinutes: 30
|
||||
pool:
|
||||
vmImage: ubuntu-latest
|
||||
|
||||
steps:
|
||||
strategy:
|
||||
matrix:
|
||||
py39:
|
||||
python.version: 3.9
|
||||
py310:
|
||||
python.version: 3.10
|
||||
py311:
|
||||
python.version: 3.11
|
||||
py312:
|
||||
python.version: 3.12
|
||||
py313:
|
||||
python.version: 3.13
|
||||
|
||||
- script: |
|
||||
sudo apt-get update
|
||||
sudo apt-get --yes install gdb
|
||||
sudo sysctl kernel.yama.ptrace_scope=0
|
||||
displayName: "Setup gdb"
|
||||
steps:
|
||||
|
||||
- template: "templates/use_python.yml"
|
||||
- script: |
|
||||
sudo apt-get update
|
||||
sudo apt-get --yes install gdb
|
||||
sudo sysctl kernel.yama.ptrace_scope=0
|
||||
displayName: Setup gdb
|
||||
|
||||
# download pydevd binaries
|
||||
- download: current
|
||||
displayName: Download pydevd binaries
|
||||
artifact: pydevd binaries
|
||||
- template: templates/use_python.yml
|
||||
|
||||
# copy pydevd binaries
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy pydevd binaries
|
||||
inputs:
|
||||
SourceFolder: $(Pipeline.Workspace)/pydevd binaries
|
||||
TargetFolder: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)
|
||||
# download pydevd binaries
|
||||
- download: current
|
||||
displayName: Download pydevd binaries
|
||||
artifact: pydevd binaries
|
||||
|
||||
- template: "templates/run_tests.yml"
|
||||
# copy pydevd binaries
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy pydevd binaries
|
||||
inputs:
|
||||
SourceFolder: $(Pipeline.Workspace)/pydevd binaries
|
||||
TargetFolder: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)
|
||||
|
||||
- job: "Test_MacOS"
|
||||
timeoutInMinutes: "30"
|
||||
displayName: "Tests - macOS"
|
||||
pool: { vmImage: "macOS-latest" }
|
||||
dependsOn: pydevd_binaries
|
||||
- template: templates/run_tests.yml
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
py39:
|
||||
python.version: "3.9"
|
||||
py310:
|
||||
python.version: "3.10"
|
||||
py311:
|
||||
python.version: "3.11"
|
||||
py312:
|
||||
python.version: "3.12"
|
||||
py313:
|
||||
python.version: "3.13"
|
||||
- job: Tests_Mac
|
||||
timeoutInMinutes: 30
|
||||
displayName: Tests - macOS
|
||||
pool:
|
||||
vmImage: macOS-latest
|
||||
|
||||
steps:
|
||||
strategy:
|
||||
matrix:
|
||||
py39:
|
||||
python.version: 3.9
|
||||
py310:
|
||||
python.version: 3.10
|
||||
py311:
|
||||
python.version: 3.11
|
||||
py312:
|
||||
python.version: 3.12
|
||||
py313:
|
||||
python.version: 3.13
|
||||
|
||||
- script: "ulimit -Sn 8192"
|
||||
displayName: "Increase file descriptor limit"
|
||||
steps:
|
||||
|
||||
- template: "templates/use_python.yml"
|
||||
- script: ulimit -Sn 8192
|
||||
displayName: Increase file descriptor limit
|
||||
|
||||
- script: "python -m ensurepip --user"
|
||||
displayName: "Bootstrap pip"
|
||||
- template: templates/use_python.yml
|
||||
|
||||
# download pydevd binaries
|
||||
- download: current
|
||||
displayName: Download pydevd binaries
|
||||
artifact: pydevd binaries
|
||||
- script: python -m ensurepip --user
|
||||
displayName: Bootstrap pip
|
||||
|
||||
# copy pydevd binaries
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy pydevd binaries
|
||||
inputs:
|
||||
SourceFolder: $(Pipeline.Workspace)/pydevd binaries
|
||||
TargetFolder: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)
|
||||
# download pydevd binaries
|
||||
- download: current
|
||||
displayName: Download pydevd binaries
|
||||
artifact: pydevd binaries
|
||||
|
||||
- template: "templates/run_tests.yml"
|
||||
# copy pydevd binaries
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy pydevd binaries
|
||||
inputs:
|
||||
SourceFolder: $(Pipeline.Workspace)/pydevd binaries
|
||||
TargetFolder: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)
|
||||
|
||||
- job: "Test_Windows"
|
||||
timeoutInMinutes: "40"
|
||||
displayName: "Tests - Windows"
|
||||
pool: { vmImage: "windows-latest" }
|
||||
dependsOn: pydevd_binaries
|
||||
- template: templates/run_tests.yml
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
py39:
|
||||
python.version: "3.9"
|
||||
py39_32:
|
||||
python.version: "3.9"
|
||||
architecture: "x86"
|
||||
py310:
|
||||
python.version: "3.10"
|
||||
py311:
|
||||
python.version: "3.11"
|
||||
py312:
|
||||
python.version: "3.12"
|
||||
py313:
|
||||
python.version: "3.13"
|
||||
- job: Test_Windows
|
||||
timeoutInMinutes: 40
|
||||
displayName: Tests - Windows
|
||||
pool:
|
||||
vmImage: windows-latest
|
||||
|
||||
steps:
|
||||
strategy:
|
||||
matrix:
|
||||
py39:
|
||||
python.version: 3.9
|
||||
py39_32:
|
||||
python.version: 3.9
|
||||
architecture: x86
|
||||
py310:
|
||||
python.version: 3.10
|
||||
py311:
|
||||
python.version: 3.11
|
||||
py312:
|
||||
python.version: 3.12
|
||||
py313:
|
||||
python.version: 3.13
|
||||
|
||||
- template: "templates/use_python.yml"
|
||||
|
||||
# download pydevd binaries
|
||||
- download: current
|
||||
displayName: Download pydevd binaries
|
||||
artifact: pydevd binaries
|
||||
steps:
|
||||
|
||||
# copy pydevd binaries
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy pydevd binaries
|
||||
inputs:
|
||||
SourceFolder: $(Pipeline.Workspace)/pydevd binaries
|
||||
TargetFolder: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)
|
||||
- template: templates/use_python.yml
|
||||
|
||||
# download pydevd binaries
|
||||
- download: current
|
||||
displayName: Download pydevd binaries
|
||||
artifact: pydevd binaries
|
||||
|
||||
- template: "templates/run_tests.yml"
|
||||
# copy pydevd binaries
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy pydevd binaries
|
||||
inputs:
|
||||
SourceFolder: $(Pipeline.Workspace)/pydevd binaries
|
||||
TargetFolder: $(Build.SourcesDirectory)/$(PYDEVD_ATTACH_TO_PROCESS)
|
||||
|
||||
- template: templates/run_tests.yml
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue