Compare commits

...

118 Commits

Author SHA1 Message Date
Mikhail Timofeev
c310309d73 Merge pull request #131 from actions/v-mkoliada/switch_to_win2019
Migrate windows pipelines to windows-2019
2021-12-22 16:50:33 +03:00
Mikhail Koliada
026f6eb35e Migrate windows pipelines to windows-2019 2021-12-22 14:34:13 +03:00
Mikhail Timofeev
71d3f7dafc Merge pull request #130 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 12/22/2021
2021-12-22 13:54:20 +03:00
Service account
79fa4f7a23 Update versions-manifest 2021-12-22 10:53:57 +00:00
Mikhail Timofeev
63966c6b23 Merge pull request #128 from actions/v-mkoliada/clean_macos-10.15_migration
Migrate macOS pipelines to macOS-10.15
2021-12-22 13:02:02 +03:00
Mikhail Koliada
e9b568c830 Migrate macOS pipelines to macOS-10.15 2021-12-22 12:34:45 +03:00
Mikhail Timofeev
9e322ab404 Merge pull request #129 from actions/python3.11_sqlite
Skip sqlite module test for python3.11.0-alpha.3
2021-12-22 10:58:11 +03:00
Mikhail Koliada
1499930abd Skip sqlite module test for python3.11 2021-12-21 20:51:08 +03:00
Mikhail Timofeev
5aa825ba9f Merge pull request #127 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 12/14/2021
2021-12-14 16:33:21 +03:00
Service account
1a5414fab1 Update versions-manifest 2021-12-14 13:26:26 +00:00
github-actions[bot]
2e89c64089 Update versions-manifest (#126) 2021-11-16 09:54:41 +03:00
Mikhail Timofeev
71d75d73e0 Merge pull request #125 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 11/06/2021
2021-11-06 11:03:26 +03:00
Service account
d5c09cb931 Update versions-manifest 2021-11-06 08:02:31 +00:00
github-actions[bot]
6f2b7dc488 Update versions-manifest (#123)
Co-authored-by: Service account <no-reply@microsoft.com>
2021-10-19 15:34:31 +03:00
Hugo van Kemenade
641a2765a7 When upgrading pip, don't warn there's a new version of pip available (#117) 2021-10-18 14:37:19 +03:00
Nikolay Frolov
cd4aab3bcf Uptake of the latest changes for helpers submodule (#121) 2021-10-14 16:56:42 +03:00
MaksimZhukov
a0626d7456 Merge pull request #122 from actions/remove-ubuntu16
Remove Ubuntu 16.04 from pipeline
2021-10-14 11:37:19 +03:00
MaksimZhukov
c188065d51 Update build-python-packages.yml 2021-10-14 10:59:35 +03:00
MaksimZhukov
33626e4771 Merge pull request #120 from vsafonkin/v-vlsafo/remove-ubuntu-16.04
Remove Ubuntu 16.04 from images
2021-10-13 12:36:06 +03:00
Vladimir Safonkin
6b02f07da7 Remove Ubuntu 16.04 from images 2021-10-12 16:10:31 +03:00
MaksimZhukov
42ff8b9a2a Merge pull request #119 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 10/12/2021
2021-10-12 03:10:57 +03:00
Service account
3562b8bc34 Update versions-manifest 2021-10-12 00:09:27 +00:00
MaksimZhukov
94d9e62fbb Merge pull request #118 from dmitry-shibanov/v-dmshib/fix-python-3.11.0-alpha.1
Fix python generation for 3.11
2021-10-12 02:47:20 +03:00
Dmitry Shibanov
816cfb12d1 add possible fixes for python 3.11.0-alpha.1 2021-10-11 15:18:43 +03:00
MaksimZhukov
668a260bba Merge pull request #116 from nikolai-frolov/helpers-update
Uptake of the latest changes for helpers submodule
2021-10-07 11:10:23 +03:00
Nikolay Frolov
4f1d1dda80 Uptake of the latest changes for helpers submodule 2021-10-06 18:53:17 +03:00
Mikhail Timofeev
8eb345d3b8 Merge pull request #115 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 10/05/2021
2021-10-05 10:51:45 +03:00
Service account
2dce5239a3 Update versions-manifest 2021-10-05 07:46:24 +00:00
MaksimZhukov
d5472c1012 Merge pull request #107 from Yuriy-Kukushkin/main
Move manifest validation pipeline from Azure DevOps
2021-09-15 14:06:03 +03:00
Yuriy-Kukushkin
ae216d3a0b Updated event 2021-09-15 13:58:04 +03:00
Yuriy-Kukushkin
cd4f6ca68b Updated submodule 2021-09-15 10:59:16 +03:00
MaksimZhukov
ec9012838d Merge pull request #113 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 09/13/2021
2021-09-13 14:59:18 +03:00
Service account
15c1e1e92a Update versions-manifest 2021-09-13 09:48:05 +00:00
Yuriy-Kukushkin
0075d77064 Added token 2021-09-09 18:01:20 +03:00
MaksimZhukov
d2b344f99d Merge pull request #112 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 09/08/2021
2021-09-08 12:14:26 +03:00
Service account
246bfead61 Update versions-manifest 2021-09-08 08:59:59 +00:00
MaksimZhukov
490db05934 Merge pull request #111 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 09/06/2021
2021-09-06 19:03:59 +03:00
Service account
92c8370e8e Update versions-manifest 2021-09-06 15:57:20 +00:00
MaksimZhukov
b3e4f66ad2 Merge pull request #109 from dibir-magomedsaygitov/v-dimago/add-flag-for-python-builder
Set the CFLAGS environment variable for python builder
2021-09-06 18:16:59 +03:00
MaksimZhukov
8d36c70cd9 Merge pull request #110 from actions/mazhuk/add-manual-trigger
Add manual trigger
2021-09-06 14:51:38 +03:00
MaksimZhukov
cafef413c6 Update releases-validation.yml 2021-09-06 14:49:01 +03:00
Dibir Magomedsaygitov
fb7c9cac65 add flag for python builder 2021-09-06 14:35:31 +03:00
MaksimZhukov
4af5e99917 Merge pull request #108 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 09/06/2021
2021-09-06 12:31:51 +03:00
Service account
e2e5ffd8ae Update versions-manifest 2021-09-06 09:28:51 +00:00
Yuriy-Kukushkin
4db82a6ce6 Removed event 2021-09-02 10:14:09 +03:00
Yuriy-Kukushkin
cc1f58e61a Removed test data 2021-09-01 21:39:47 +03:00
Yuriy-Kukushkin
9d8a813dad Updated helpers submodule 2021-09-01 21:30:45 +03:00
Yuriy-Kukushkin
ae1d3a167a Added test changes 2021-09-01 18:30:47 +03:00
Yuriy-Kukushkin
9be4c52826 Created validate-manifest.yml 2021-09-01 18:25:40 +03:00
Mikhail Timofeev
41e5bb2c77 Merge pull request #104 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 08/04/2021
2021-08-04 09:42:36 +03:00
Service account
377d03cd57 Update versions-manifest 2021-08-04 06:34:42 +00:00
github-actions[bot]
e68c876eef Update versions-manifest (#102)
Co-authored-by: Service account <no-reply@microsoft.com>
2021-07-11 20:05:18 +03:00
Alena Sviridenko
bafafe0b03 Merge pull request #101 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 07/06/2021
2021-07-06 15:17:06 +03:00
Service account
877b6db711 Update versions-manifest 2021-07-06 11:16:26 +00:00
Alena Sviridenko
572e1b8c6b Merge pull request #99 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 06/28/2021
2021-06-28 23:38:05 +03:00
Service account
2299a1c570 Update versions-manifest 2021-06-28 20:29:52 +00:00
Alena Sviridenko
42c89ca94a Merge pull request #98 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 06/18/2021
2021-06-18 10:52:08 +03:00
Service account
c63d3d41a9 Update versions-manifest 2021-06-18 07:29:57 +00:00
MaksimZhukov
d35d265aa0 Merge pull request #97 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 06/02/2021
2021-06-02 14:43:30 +03:00
Service account
d58fdbe79e Update versions-manifest 2021-06-02 11:40:27 +00:00
MaksimZhukov
c5438521f1 Merge pull request #96 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 05/25/2021
2021-05-25 16:59:23 +03:00
Service account
c67d314ddc Update versions-manifest 2021-05-25 10:47:44 +00:00
Ray
ae7e50b370 Test registry path before invoking Get-ChildItem (#95) 2021-05-25 10:26:11 +03:00
Alena Sviridenko
7d36f506c4 Merge pull request #94 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 05/04/2021
2021-05-04 11:12:38 +03:00
Service account
f670a2adea Update versions-manifest 2021-05-04 08:10:58 +00:00
MaksimZhukov
505f65215c Merge pull request #93 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 04/29/2021
2021-04-29 15:40:40 +03:00
Service account
4598952486 Update versions-manifest 2021-04-29 12:38:53 +00:00
Alena Sviridenko
42bcd17332 [versions-manifest] Update for release from 04/19/2021 #92
[versions-manifest] Update for release from 04/19/2021
2021-04-19 11:13:43 +03:00
Service account
878244d959 Update versions-manifest 2021-04-19 08:01:02 +00:00
github-actions[bot]
42c2eea389 Update versions-manifest (#90)
Co-authored-by: Service account <no-reply@microsoft.com>
2021-04-08 15:23:08 +03:00
MaksimZhukov
493c59469e Merge pull request #89 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 04/07/2021
2021-04-07 18:56:08 +03:00
Service account
bd93b9d693 Update versions-manifest 2021-04-07 14:58:50 +00:00
MaksimZhukov
d0e5494ee2 Merge pull request #88 from actions/v-mazhuk/skip-alpha-beta
Ignore tkinter module for alpha & beta versions of Pyrhon 3.10.0
2021-04-07 17:40:08 +03:00
MaksimZhukov
0601c2bfde Fix condition 2021-04-07 16:53:52 +03:00
MaksimZhukov
4eb1751819 Update condition to skip all alpha and beta python versions for 3.10.0 2021-04-07 15:50:08 +03:00
MaksimZhukov
54aba042fd Merge pull request #87 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 04/04/2021
2021-04-05 00:21:06 +03:00
Service account
31ab2bc9f8 Update versions-manifest 2021-04-04 21:12:41 +00:00
Alena Sviridenko
5f4f86cc5e Merge pull request #86 from actions/update-versions-manifest-file 2021-04-04 08:03:09 +03:00
Service account
8ea13d774e Update versions-manifest 2021-04-03 23:22:19 +00:00
github-actions[bot]
afecc6a8b9 Update versions-manifest (#85)
Co-authored-by: Service account <no-reply@microsoft.com>
2021-03-10 18:51:43 +03:00
Alena Sviridenko
f4b22cc454 Ignore tkinter build fail for 3.10.0-alpha.6 #84
Ignore tkinter build fail for 3.10.0-alpha.6
2021-03-10 11:21:11 +03:00
Sergey Dolin
281024aec4 Skip tkinter failed build for alpha.6 2021-03-09 12:48:12 +05:00
github-actions[bot]
17b1cd02ca Update versions-manifest (#83)
Co-authored-by: Service account <no-reply@microsoft.com>
2021-02-20 10:54:47 +03:00
MaksimZhukov
33a76c361a Merge pull request #82 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 02/16/2021
2021-02-16 15:47:39 +03:00
Service account
371f79b70a Update versions-manifest 2021-02-16 12:20:03 +00:00
MaksimZhukov
3b961aaf4b Merge pull request #81 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 02/04/2021
2021-02-04 20:32:52 +03:00
Service account
e67096ebd1 Update versions-manifest 2021-02-04 12:52:56 +00:00
MaksimZhukov
bd7c907270 Merge pull request #80 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 01/27/2021
2021-01-27 15:52:45 +03:00
Service account
8a3240d440 Update versions-manifest 2021-01-27 12:15:12 +00:00
MaksimZhukov
0da39d896f Merge pull request #79 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 01/26/2021
2021-01-26 18:38:27 +03:00
Service account
9fb025cb4b Update versions-manifest 2021-01-26 08:25:00 +00:00
MaksimZhukov
2c5eb53471 Merge pull request #78 from vsafonkin/v-vlsafo/windows-python3-symlink
Add symlink `python3`
2021-01-25 12:27:40 +03:00
Vladimir Safonkin
4a64b9faa7 Remove test changes in manifest 2021-01-22 11:01:41 +03:00
Vladimir Safonkin
f122228a65 Update manifest 2021-01-21 16:17:21 +03:00
Vladimir Safonkin
de3f713ccc Create python3 symlink on Windows 2021-01-21 11:02:09 +03:00
Maxim Lobanov
918fe6dc0f Create CODEOWNERS (#75)
* Create CODEOWNERS

* Update CODEOWNERS
2021-01-20 21:38:34 +03:00
MaksimZhukov
21af7aa4a5 Merge pull request #77 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 01/13/2021
2021-01-13 13:44:09 +03:00
Service account
39774a2eb7 Update versions-manifest 2021-01-13 09:34:15 +00:00
MaksimZhukov
5c48eb00d0 Merge pull request #76 from dmitry-shibanov/v-dmshib/fix-warning-location
Add flag to skip warnings location of pip
2021-01-13 10:54:39 +03:00
Dmitry Shibanov
f102cb2a16 add flag to skip warnings of location of pip 2021-01-11 11:29:39 +03:00
github-actions[bot]
dc6698e2f1 Update versions-manifest (#74)
Co-authored-by: Service account <no-reply@microsoft.com>
2021-01-06 12:04:57 +03:00
MaksimZhukov
50aa2873fc Merge pull request #73 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 12/22/2020
2020-12-22 10:11:27 +03:00
MaksimZhukov
cf414aaddb Merge pull request #72 from actions/v-mazhuk/fix-cask-issue
Remove the temporary step with PowerShell version upgrade
2020-12-22 10:11:16 +03:00
Service account
139e1b9608 Update versions-manifest 2020-12-22 01:06:28 +00:00
MaksimZhukov
f4137da2f9 Remove temporary step 2020-12-22 03:41:24 +03:00
MaksimZhukov
456c8c380c Update the brew upgrade command 2020-12-22 03:38:12 +03:00
MaksimZhukov
30a06d5828 Merge pull request #71 from actions/v-mazhuk/add-test-workflow
Add a new workflow to test Python versions
2020-12-16 09:23:36 +03:00
MaksimZhukov
d3614793c0 Add a new workflow to test Python versions 2020-12-15 17:31:08 +03:00
MaksimZhukov
fab0879a3d Merge pull request #70 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 12/15/2020
2020-12-15 11:48:07 +03:00
Service account
105a61d2c8 Update versions-manifest 2020-12-15 08:12:39 +00:00
MaksimZhukov
9515b3b32a Merge pull request #68 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 12/10/2020
2020-12-10 12:53:39 +03:00
Service account
597694ec77 Update versions-manifest 2020-12-10 09:25:34 +00:00
MaksimZhukov
a6b76b25b6 Merge pull request #69 from actions/v-mazhuk/fix-python-3.10
Update the list of modules in tests for Python 3.10
2020-12-10 12:05:36 +03:00
MaksimZhukov
3a4a0fd269 Update the list of modules in tests for Python 3.10 2020-12-10 11:45:28 +03:00
MaksimZhukov
c4836579b7 Merge pull request #65 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 11/27/2020
2020-11-30 13:33:41 +03:00
Service account
ed01c1359f Update versions-manifest 2020-11-27 08:24:08 +00:00
MaksimZhukov
650a155a9a Merge pull request #66 from dmitry-shibanov/v-dmshib/fix-StrictVersion
Replace StrictVersion to LooseVersion
2020-11-25 19:14:54 +03:00
Dmitry Shibanov
28d23216d1 Update python-config-test.py 2020-11-24 22:41:59 +03:00
17 changed files with 1951 additions and 275 deletions

1
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1 @@
* @actions/virtual-environments-owners

View File

@@ -1,5 +1,6 @@
name: Validate 'versions-manifest.json' file name: Validate 'versions-manifest.json' file
on: on:
workflow_dispatch:
push: push:
branches: branches:
- main - main
@@ -13,7 +14,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [macos-latest, windows-latest, ubuntu-16.04, ubuntu-18.04, ubuntu-20.04] os: [macos-latest, windows-latest, ubuntu-18.04, ubuntu-20.04]
python: [3.5.4, 3.6.7, 3.7.5, 3.8.1] python: [3.5.4, 3.6.7, 3.7.5, 3.8.1]
steps: steps:
- name: setup-python ${{ matrix.python }} - name: setup-python ${{ matrix.python }}
@@ -32,4 +33,4 @@ jobs:
shell: pwsh shell: pwsh
- name: Run simple code - name: Run simple code
run: python -c 'import math; print(math.factorial(5))' run: python -c 'import math; print(math.factorial(5))'

View File

@@ -0,0 +1,34 @@
name: Test Python version
on:
workflow_dispatch:
inputs:
version:
description: 'Python version to build'
required: true
architecture:
description: 'The target architecture (x86, x64) of the Python'
required: false
default: 'x64'
jobs:
test-python:
name: Test Python ${{ github.event.inputs.version }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04, ubuntu-20.04]
steps:
- name: Setup Python ${{ github.event.inputs.version }}
uses: actions/setup-python@main
with:
python-version: ${{ github.event.inputs.version }}
architecture: ${{ github.event.inputs.architecture }}
- name: Validate version
run: |
python --version
shell: pwsh
- name: Run simple code
run: python -c 'import math; print(math.factorial(5))'

48
.github/workflows/validate-manifest.yml vendored Normal file
View File

@@ -0,0 +1,48 @@
name: Validate manifest
on:
schedule:
- cron: '0 8,20 * * *'
pull_request:
branches:
- main
paths:
- 'versions-manifest.json'
env:
TOOL_NAME: "Python"
defaults:
run:
shell: pwsh
jobs:
validation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Validate python-versions manifest
run: .\helpers\packages-generation\manifest-validator.ps1 -ManifestPath '.\versions-manifest.json'
check_build:
name: Check validation for failures
runs-on: ubuntu-latest
needs: [validation]
if: failure()
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Send Slack notification if validation fails
run: |
$pipelineUrl = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID"
$message = "The validation of python-versions manifest failed. \nLink to the pipeline: $pipelineUrl"
.\helpers\get-new-tool-versions\send-slack-notification.ps1 -Url "${{ secrets.SLACK_CHANNEL_URL }}" `
-ToolName "${{ env.TOOL_NAME }}" `
-Text "$message" `
-ImageUrl "https://www.python.org/static/community_logos/python-powered-h-100x130.png"

View File

@@ -6,7 +6,7 @@ stages:
- stage: Build_Python_MacOS - stage: Build_Python_MacOS
dependsOn: [] dependsOn: []
variables: variables:
VmImage: 'macOS-10.14' VmImage: 'macOS-10.15'
Platform: darwin Platform: darwin
Architecture: x64 Architecture: x64
jobs: jobs:
@@ -16,31 +16,12 @@ stages:
condition: succeeded() condition: succeeded()
dependsOn: Build_Python_MacOS dependsOn: Build_Python_MacOS
variables: variables:
VmImage: 'macOS-10.14' VmImage: 'macOS-10.15'
Platform: darwin Platform: darwin
Architecture: x64 Architecture: x64
jobs: jobs:
- template: /azure-pipelines/templates/test-job.yml - template: /azure-pipelines/templates/test-job.yml
- stage: Build_Python_Ubuntu_1604
dependsOn: []
variables:
VmImage: 'ubuntu-16.04'
Platform: linux-16.04
Architecture: x64
jobs:
- template: /azure-pipelines/templates/build-job.yml
- stage: Test_Python_Ubuntu_1604
condition: succeeded()
dependsOn: Build_Python_Ubuntu_1604
variables:
VmImage: 'ubuntu-16.04'
Platform: linux-16.04
Architecture: x64
jobs:
- template: /azure-pipelines/templates/test-job.yml
- stage: Build_Python_Ubuntu_1804 - stage: Build_Python_Ubuntu_1804
dependsOn: [] dependsOn: []
variables: variables:
@@ -82,7 +63,7 @@ stages:
- stage: Build_Python_X64_Windows - stage: Build_Python_X64_Windows
dependsOn: [] dependsOn: []
variables: variables:
VmImage: 'vs2017-win2016' VmImage: 'windows-2019'
Platform: win32 Platform: win32
Architecture: x64 Architecture: x64
jobs: jobs:
@@ -92,7 +73,7 @@ stages:
condition: succeeded() condition: succeeded()
dependsOn: Build_Python_X64_Windows dependsOn: Build_Python_X64_Windows
variables: variables:
VmImage: 'vs2017-win2016' VmImage: 'windows-2019'
Platform: win32 Platform: win32
Architecture: x64 Architecture: x64
jobs: jobs:
@@ -101,7 +82,7 @@ stages:
- stage: Build_Python_x86_Windows - stage: Build_Python_x86_Windows
dependsOn: [] dependsOn: []
variables: variables:
VmImage: 'vs2017-win2016' VmImage: 'windows-2019'
Platform: win32 Platform: win32
Architecture: x86 Architecture: x86
jobs: jobs:
@@ -111,14 +92,14 @@ stages:
condition: succeeded() condition: succeeded()
dependsOn: Build_Python_x86_Windows dependsOn: Build_Python_x86_Windows
variables: variables:
VmImage: 'vs2017-win2016' VmImage: 'windows-2019'
Platform: win32 Platform: win32
Architecture: x86 Architecture: x86
jobs: jobs:
- template: /azure-pipelines/templates/test-job.yml - template: /azure-pipelines/templates/test-job.yml
- stage: Publish_Release - stage: Publish_Release
dependsOn: [Test_Python_MacOS, Test_Python_Ubuntu_1604, Test_Python_Ubuntu_1804, Test_Python_Ubuntu_2004, Test_Python_x64_Windows, Test_Python_x86_Windows] dependsOn: [Test_Python_MacOS, Test_Python_Ubuntu_1804, Test_Python_Ubuntu_2004, Test_Python_x64_Windows, Test_Python_x86_Windows]
jobs: jobs:
- deployment: Publish_Release - deployment: Publish_Release
pool: pool:

View File

@@ -8,16 +8,6 @@ jobs:
- checkout: self - checkout: self
submodules: true submodules: true
# We need this temporary step to have a consistent version of PowerShell on all images.
- task: PowerShell@2
displayName: 'Update PowerShell version for macOS'
condition: eq(variables['Platform'], 'darwin')
inputs:
TargetType: inline
script: |
brew update
brew cask upgrade powershell
- task: PowerShell@2 - task: PowerShell@2
displayName: 'Build Python $(VERSION)' displayName: 'Build Python $(VERSION)'
inputs: inputs:

View File

@@ -1,6 +1,6 @@
jobs: jobs:
- job: Test_Python - job: Test_Python
pool: pool:
name: Azure Pipelines name: Azure Pipelines
vmImage: $(VmImage) vmImage: $(VmImage)
variables: variables:

View File

@@ -22,6 +22,13 @@ class macOSPythonBuilder : NixPythonBuilder {
[string] $platform [string] $platform
) : Base($version, $architecture, $platform) { } ) : Base($version, $architecture, $platform) { }
[void] PrepareEnvironment() {
<#
.SYNOPSIS
Prepare system environment by installing dependencies and required packages.
#>
}
[void] Configure() { [void] Configure() {
<# <#
.SYNOPSIS .SYNOPSIS
@@ -40,8 +47,8 @@ class macOSPythonBuilder : NixPythonBuilder {
### and then add the appropriate paths for the header and library files to configure command. ### and then add the appropriate paths for the header and library files to configure command.
### Link to documentation (https://cpython-devguide.readthedocs.io/setup/#build-dependencies) ### Link to documentation (https://cpython-devguide.readthedocs.io/setup/#build-dependencies)
if ($this.Version -lt "3.7.0") { if ($this.Version -lt "3.7.0") {
$env:LDFLAGS = "-L/usr/local/opt/openssl@1.1/lib" $env:LDFLAGS = "-L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/zlib/lib"
$env:CFLAGS = "-I/usr/local/opt/openssl@1.1/include" $env:CFLAGS = "-I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/zlib/include"
} else { } else {
$configureString += " --with-openssl=/usr/local/opt/openssl@1.1" $configureString += " --with-openssl=/usr/local/opt/openssl@1.1"
} }
@@ -52,19 +59,9 @@ class macOSPythonBuilder : NixPythonBuilder {
$configureString += " --enable-loadable-sqlite-extensions" $configureString += " --enable-loadable-sqlite-extensions"
$env:LDFLAGS += " -L$(brew --prefix sqlite3)/lib" $env:LDFLAGS += " -L$(brew --prefix sqlite3)/lib"
$env:CFLAGS += " -I$(brew --prefix sqlite3)/include" $env:CFLAGS += " -I$(brew --prefix sqlite3)/include"
$env:CPPFLAGS += "-I$(brew --prefix sqlite3)/include"
} }
Execute-Command -Command $configureString Execute-Command -Command $configureString
} }
[void] PrepareEnvironment() {
<#
.SYNOPSIS
Prepare system environment by installing dependencies and required packages.
#>
### reinstall header files to Avoid issue with X11 headers on Mojave
$pkgName = "/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg"
Execute-Command -Command "sudo installer -pkg $pkgName -target /"
}
} }

View File

@@ -86,10 +86,7 @@ class UbuntuPythonBuilder : NixPythonBuilder {
Execute-Command -Command "sudo apt install -y $_" Execute-Command -Command "sudo apt install -y $_"
} }
if ($this.Platform -ne "linux-16.04") { ### On Ubuntu-1804, libgdbm-compat-dev has older modules that are no longer in libgdbm-dev
### On Ubuntu-1804, libgdbm-compat-dev has older modules that are no longer in libgdbm-dev Execute-Command -Command "sudo apt install -y libgdbm-compat-dev"
Execute-Command -Command "sudo apt install -y libgdbm-compat-dev"
}
} }
} }

Submodule helpers updated: f8f76caff1...6f1aa3ce73

View File

@@ -48,9 +48,9 @@ fi
chmod +x ../python $PYTHON_MAJOR $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJORMINOR python chmod +x ../python $PYTHON_MAJOR $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJORMINOR python
echo "Upgrading PIP..." echo "Upgrading pip..."
./python -m ensurepip ./python -m ensurepip
./python -m pip install --ignore-installed pip ./python -m pip install --ignore-installed pip --disable-pip-version-check --no-warn-script-location
echo "Create complete file" echo "Create complete file"
touch $PYTHON_TOOLCACHE_VERSION_PATH/x64.complete touch $PYTHON_TOOLCACHE_VERSION_PATH/x64.complete

View File

@@ -28,16 +28,20 @@ function Remove-RegistryEntries {
$versionFilter = Get-RegistryVersionFilter -Architecture $Architecture -MajorVersion $MajorVersion -MinorVersion $MinorVersion $versionFilter = Get-RegistryVersionFilter -Architecture $Architecture -MajorVersion $MajorVersion -MinorVersion $MinorVersion
$regPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products" $regPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products"
$regKeys = Get-ChildItem -Path Registry::$regPath -Recurse | Where-Object Property -Ccontains DisplayName if (Test-Path -Path Registry::$regPath) {
foreach ($key in $regKeys) { $regKeys = Get-ChildItem -Path Registry::$regPath -Recurse | Where-Object Property -Ccontains DisplayName
if ($key.getValue("DisplayName") -match $versionFilter) { foreach ($key in $regKeys) {
Remove-Item -Path $key.PSParentPath -Recurse -Force -Verbose if ($key.getValue("DisplayName") -match $versionFilter) {
Remove-Item -Path $key.PSParentPath -Recurse -Force -Verbose
}
} }
} }
$regPath = "HKEY_CLASSES_ROOT\Installer\Products" $regPath = "HKEY_CLASSES_ROOT\Installer\Products"
Get-ChildItem -Path Registry::$regPath | Where-Object { $_.GetValue("ProductName") -match $versionFilter } | ForEach-Object { if (Test-Path -Path Registry::$regPath) {
Remove-Item Registry::$_ -Recurse -Force -Verbose Get-ChildItem -Path Registry::$regPath | Where-Object { $_.GetValue("ProductName") -match $versionFilter } | ForEach-Object {
Remove-Item Registry::$_ -Recurse -Force -Verbose
}
} }
$uninstallRegistrySections = @( $uninstallRegistrySections = @(
@@ -121,9 +125,14 @@ if ($LASTEXITCODE -ne 0) {
Throw "Error happened during Python installation" Throw "Error happened during Python installation"
} }
Write-Host "Create `python3` symlink"
if ($MajorVersion -ne "2") {
New-Item -Path "$PythonArchPath\python3.exe" -ItemType SymbolicLink -Value "$PythonArchPath\python.exe"
}
Write-Host "Install and upgrade Pip" Write-Host "Install and upgrade Pip"
$PythonExePath = Join-Path -Path $PythonArchPath -ChildPath "python.exe" $PythonExePath = Join-Path -Path $PythonArchPath -ChildPath "python.exe"
cmd.exe /c "$PythonExePath -m ensurepip && $PythonExePath -m pip install --upgrade pip" cmd.exe /c "$PythonExePath -m ensurepip && $PythonExePath -m pip install --upgrade pip --no-warn-script-location"
Write-Host "Create complete file" Write-Host "Create complete file"
New-Item -ItemType File -Path $PythonVersionPath -Name "$Architecture.complete" | Out-Null New-Item -ItemType File -Path $PythonVersionPath -Name "$Architecture.complete" | Out-Null

View File

@@ -5,7 +5,6 @@ $Configuration = Read-ConfigurationFile -Filepath $ConfigurationFile
$stableTestCases = @( $stableTestCases = @(
@{ ReleaseName = "python-3.8.3-darwin-x64.tar.gz"; ExpectedResult = @{ platform = "darwin"; platform_version = $null; arch = "x64"} }, @{ ReleaseName = "python-3.8.3-darwin-x64.tar.gz"; ExpectedResult = @{ platform = "darwin"; platform_version = $null; arch = "x64"} },
@{ ReleaseName = "python-3.8.3-linux-16.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "16.04"; arch = "x64"} },
@{ ReleaseName = "python-3.8.3-linux-18.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "18.04"; arch = "x64"} }, @{ ReleaseName = "python-3.8.3-linux-18.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "18.04"; arch = "x64"} },
@{ ReleaseName = "python-3.8.3-linux-20.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "20.04"; arch = "x64"} }, @{ ReleaseName = "python-3.8.3-linux-20.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "20.04"; arch = "x64"} },
@{ ReleaseName = "python-3.8.3-win32-x64.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x64"} }, @{ ReleaseName = "python-3.8.3-win32-x64.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x64"} },
@@ -14,7 +13,6 @@ $stableTestCases = @(
$unstableTestCases = @( $unstableTestCases = @(
@{ ReleaseName = "python-3.9.0-alpha.2-darwin-x64.tar.gz"; ExpectedResult = @{ platform = "darwin"; platform_version = $null; arch = "x64"} }, @{ ReleaseName = "python-3.9.0-alpha.2-darwin-x64.tar.gz"; ExpectedResult = @{ platform = "darwin"; platform_version = $null; arch = "x64"} },
@{ ReleaseName = "python-3.9.0-beta.1-linux-16.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "16.04"; arch = "x64"} },
@{ ReleaseName = "python-3.9.0-rc.4-linux-18.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "18.04"; arch = "x64"} }, @{ ReleaseName = "python-3.9.0-rc.4-linux-18.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "18.04"; arch = "x64"} },
@{ ReleaseName = "python-3.9.0-beta.2-linux-20.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "20.04"; arch = "x64"} }, @{ ReleaseName = "python-3.9.0-beta.2-linux-20.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "20.04"; arch = "x64"} },
@{ ReleaseName = "python-3.9.0-beta.2-win32-x64.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x64"} }, @{ ReleaseName = "python-3.9.0-beta.2-win32-x64.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x64"} },

View File

@@ -21,9 +21,14 @@ function Analyze-MissingModules([string] $buildOutputLocation) {
$regexMatch = [regex]::match($SplitBuiltOutput, $Pattern) $regexMatch = [regex]::match($SplitBuiltOutput, $Pattern)
if ($regexMatch.Success) if ($regexMatch.Success)
{ {
$module = $regexMatch.Groups[1].Value.Trim()
Write-Host "Failed missing modules:" Write-Host "Failed missing modules:"
Write-Host $regexMatch.Groups[1].Value Write-Host $module
return 1 if ( ($module -eq "_tkinter") -and ( [semver]"$($Version.Major).$($Version.Minor)" -ge [semver]"3.10" -and $Version.PreReleaseLabel ) ) {
Write-Host "$module $Version ignored"
} else {
return 1
}
} }
return 0 return 0
@@ -42,7 +47,7 @@ Describe "Tests" {
"python ./sources/simple-test.py" | Should -ReturnZeroExitCode "python ./sources/simple-test.py" | Should -ReturnZeroExitCode
} }
if ($Version -ge "3.2.0") { if (($Version -ge "3.2.0") -and ($Version -ne "3.11.0-alpha.3")) {
It "Check if sqlite3 module is installed" { It "Check if sqlite3 module is installed" {
"python ./sources/python-sqlite3.py" | Should -ReturnZeroExitCode "python ./sources/python-sqlite3.py" | Should -ReturnZeroExitCode
} }
@@ -82,4 +87,4 @@ Describe "Tests" {
"./dist/simple-test" | Should -ReturnZeroExitCode "./dist/simple-test" | Should -ReturnZeroExitCode
} }
} }
} }

View File

@@ -1,5 +1,5 @@
import distutils.sysconfig import distutils.sysconfig
from distutils.version import StrictVersion from distutils.version import LooseVersion
import sysconfig import sysconfig
import sys import sys
import platform import platform
@@ -43,7 +43,7 @@ else:
### Validate macOS ### Validate macOS
if os_type == 'Darwin': if os_type == 'Darwin':
### Validate openssl links ### Validate openssl links
if StrictVersion(nativeVersion) < StrictVersion("3.7.0"): if LooseVersion(nativeVersion) < LooseVersion("3.7.0"):
expected_ldflags = '-L/usr/local/opt/openssl@1.1/lib' expected_ldflags = '-L/usr/local/opt/openssl@1.1/lib'
ldflags = sysconfig.get_config_var('LDFLAGS') ldflags = sysconfig.get_config_var('LDFLAGS')

View File

@@ -256,9 +256,14 @@ if sys.version_info > (3, 7):
if sys.version_info > (3, 8): if sys.version_info > (3, 8):
standard_library.remove('dummy_threading') standard_library.remove('dummy_threading')
# 'symbol' module has been removed from Python 3.10 # 'symbol' and 'formatter' modules have been removed from Python 3.10
if sys.version_info >= (3, 10): if sys.version_info >= (3, 10):
standard_library.remove('symbol') standard_library.remove('symbol')
standard_library.remove('formatter')
# 'binhex' module has been removed from Python 3.11
if sys.version_info >= (3, 11):
standard_library.remove('binhex')
# Remove tkinter and Easter eggs # Remove tkinter and Easter eggs
excluded_modules = [ excluded_modules = [
@@ -270,7 +275,6 @@ excluded_modules = [
def check_missing_modules(expected_modules): def check_missing_modules(expected_modules):
missing = [] missing = []
for module in expected_modules: for module in expected_modules:
print('Try to import module ', module)
try: try:
importlib.import_module(module) importlib.import_module(module)
except: except:

File diff suppressed because it is too large Load Diff