mirror of
https://github.com/microsoft/debugpy.git
synced 2025-12-23 08:48:12 +00:00
132 lines
3.1 KiB
YAML
132 lines
3.1 KiB
YAML
# This pipeline is used to run PR validation and CI builds against the debugpy public repo.
|
|
# Seperate internal pipelines are used for generating wheels, signing, and releasing to pypi.org
|
|
|
|
# Trigger ci builds for commits into master and any release branches
|
|
trigger:
|
|
branches:
|
|
include:
|
|
- main
|
|
- release/*
|
|
|
|
# Trigger pr builds for commits into master and any release branches
|
|
# Ignore draft PR's
|
|
pr:
|
|
branches:
|
|
include:
|
|
- main
|
|
- release/*
|
|
drafts: "false"
|
|
|
|
variables:
|
|
architecture: "x64"
|
|
|
|
jobs:
|
|
|
|
- job: "Lint"
|
|
timeoutInMinutes: "5"
|
|
displayName: "Lint"
|
|
pool: { vmImage: "ubuntu-latest" }
|
|
|
|
variables:
|
|
python.version: "3.9"
|
|
|
|
steps:
|
|
|
|
- template: "templates/use_python.yml"
|
|
|
|
# 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"
|
|
|
|
- task: "PublishTestResults@2"
|
|
displayName: "Publish linting results"
|
|
inputs:
|
|
testRunTitle: "$(Agent.JobName)"
|
|
testResultsFiles: "lint-*.xml"
|
|
searchFolder: "$(Build.ArtifactStagingDirectory)"
|
|
condition: "always()"
|
|
|
|
- job: "Test_Linux"
|
|
timeoutInMinutes: "30"
|
|
displayName: "Tests - Linux"
|
|
pool: { vmImage: "ubuntu-latest" }
|
|
|
|
strategy:
|
|
matrix:
|
|
py39:
|
|
python.version: "3.9"
|
|
py310:
|
|
python.version: "3.10"
|
|
py311:
|
|
python.version: "3.11"
|
|
py312:
|
|
python.version: "3.12"
|
|
|
|
steps:
|
|
|
|
- script: |
|
|
sudo apt-get update
|
|
sudo apt-get --yes install gdb
|
|
sudo sysctl kernel.yama.ptrace_scope=0
|
|
displayName: "Setup gdb"
|
|
|
|
- template: "templates/use_python.yml"
|
|
|
|
- template: "templates/run_tests.yml"
|
|
|
|
- job: "Test_MacOS"
|
|
timeoutInMinutes: "30"
|
|
displayName: "Tests - macOS"
|
|
pool: { vmImage: "macOS-latest" }
|
|
|
|
strategy:
|
|
matrix:
|
|
py39:
|
|
python.version: "3.9"
|
|
py310:
|
|
python.version: "3.10"
|
|
py311:
|
|
python.version: "3.11"
|
|
py312:
|
|
python.version: "3.12"
|
|
|
|
steps:
|
|
|
|
- script: "ulimit -Sn 8192"
|
|
displayName: "Increase file descriptor limit"
|
|
|
|
- template: "templates/use_python.yml"
|
|
|
|
- script: "python -m ensurepip --user"
|
|
displayName: "Bootstrap pip"
|
|
|
|
- template: "templates/run_tests.yml"
|
|
|
|
- job: "Test_Windows"
|
|
timeoutInMinutes: "40"
|
|
displayName: "Tests - Windows"
|
|
pool: { vmImage: "windows-latest" }
|
|
|
|
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"
|
|
|
|
steps:
|
|
|
|
- template: "templates/use_python.yml"
|
|
|
|
- template: "templates/run_tests.yml"
|