Skip to content

Commit 96e8dc7

Browse files
authored
Merge branch 'master' into fix_4282_file_dir_conflict_stacktrace
2 parents 40dedc1 + 038dc4b commit 96e8dc7

File tree

1,373 files changed

+40213
-23902
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,373 files changed

+40213
-23902
lines changed

.appveyor.yml

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -17,81 +17,81 @@ cache:
1717
- C:\ProgramData\chocolatey\lib -> appveyor.yml
1818

1919
install:
20-
# add python and python user-base to path for pip installs
20+
# direct choco install supposed to work, but not? still doing in install.bat
21+
#- cinst: dmd ldc swig vswhere ixsltproc winflexbison3
2122
- cmd: .\.appveyor\install.bat
23+
- cmd: if %COVERAGE% equ 1 .\.appveyor\install-cov.bat
2224

23-
# build matrix will be number of images multiplied by each '-' below,
24-
# less any exclusions.
25-
# split builds into sets of four jobs due to appveyor per-job time limit
26-
# Leaving the Coverage build on VS2017 for build-time reasons (1hr time limit)
27-
# Maybe move this one somewhere else in future to restore some flexibility.
25+
# Build matrix will be number of images multiplied by #entries in matrix:,
26+
# less any excludes.
27+
#
28+
# "Build" is kind of a misnomer - we are actually running the test suite,
29+
# and this is slow on Windows, so keep the matrix as small as possible.
30+
# Leaving the Coverage build on VS2017 for build-time reasons (1hr time limit).
31+
# maybe move coverage to github in future to restore some flexibility?
2832
environment:
33+
# set COVERAGE to 1 for any builder that should run it
34+
COVERAGE: 0
35+
SCONS_CACHE_MSVC_CONFIG: "true"
2936
matrix:
30-
37+
# Test oldest and newest supported Pythons, and a subset in between.
38+
# Skipping 3.8, 3.10, 3.12 at this time
39+
- WINPYTHON: "Python313"
3140
- WINPYTHON: "Python311"
32-
COVERAGE: 0
33-
34-
- WINPYTHON: "Python310"
35-
COVERAGE: 0
36-
37-
- WINPYTHON: "Python38"
38-
COVERAGE: 0
39-
40-
- WINPYTHON: "Python36"
41-
COVERAGE: 1
42-
43-
# skipping 3.7 and 3.9 at this time
41+
- WINPYTHON: "Python39"
42+
- WINPYTHON: "Python37"
4443

4544
# remove sets of build jobs based on criteria below
4645
# to fine tune the number and platforms tested
4746
matrix:
4847
exclude:
49-
# test python 3.6 on Visual Studio 2017 image
48+
# test python 3.7 on Visual Studio 2017 image
5049
- image: Visual Studio 2017
51-
WINPYTHON: "Python311"
50+
WINPYTHON: "Python313"
5251
- image: Visual Studio 2017
53-
WINPYTHON: "Python310"
52+
WINPYTHON: "Python311"
5453
- image: Visual Studio 2017
55-
WINPYTHON: "Python38"
54+
WINPYTHON: "Python39"
5655

57-
# test python 3.8 on Visual Studio 2019 image
56+
# test python 3.9 on Visual Studio 2019 image
5857
- image: Visual Studio 2019
59-
WINPYTHON: "Python311"
58+
WINPYTHON: "Python313"
6059
- image: Visual Studio 2019
61-
WINPYTHON: "Python310"
60+
WINPYTHON: "Python311"
6261
- image: Visual Studio 2019
63-
WINPYTHON: "Python36"
62+
WINPYTHON: "Python37"
6463

65-
# test python 3.10 and 3.11 on Visual Studio 2022 image
64+
# test python 3.11, 3.13 on Visual Studio 2022 image
6665
- image: Visual Studio 2022
67-
WINPYTHON: "Python36"
66+
WINPYTHON: "Python39"
6867
- image: Visual Studio 2022
69-
WINPYTHON: "Python38"
68+
WINPYTHON: "Python37"
7069

71-
# remove some binaries we don't want to be found
70+
# Remove some binaries we don't want to be found
71+
# Note this is no longer needed, git-windows bin/ is quite minimal now.
7272
before_build:
7373
- ps: .\.appveyor\ignore_git_bins.ps1
7474

7575
build: off
7676

7777
build_script:
78-
79-
# exclude VS 10.0 because it hangs the testing until this is resolved:
80-
# https://help.appveyor.com/discussions/problems/19283-visual-studio-2010-trial-license-has-expired
81-
- ps: .\.appveyor\disable_msvc_10.ps1
78+
# Image version-based excludes:
79+
# No excludes at the moment, but the exclude script generates the
80+
# (possibly empty) exclude_list.txt which is used in the following step,
81+
# so leave the scheme in place in case we need to put back excludes later.
82+
- ps: .\.appveyor\exclude_tests.ps1
8283

8384
# setup coverage by creating the coverage config file, and adding coverage
8485
# to the sitecustomize so that all python processes start with coverage
85-
- ps: .\.appveyor\coverage_setup.ps1
86+
- ps: if ($env:COVERAGE -eq 1) { .\.appveyor\coverage_setup.ps1 }
8687

8788
# NOTE: running powershell from cmd is intended because
8889
# it formats the output correctly
8990
- cmd: powershell -Command "& { if($env:COVERAGE -eq 1) { coverage run -p --rcfile=$($env:COVERAGE_PROCESS_START) runtest.py -j 2 -t --exclude-list exclude_list.txt -a } else { C:\\%WINPYTHON%\\python.exe runtest.py -j 2 -t --exclude-list exclude_list.txt -a }; if($LastExitCode -eq 2 -Or $LastExitCode -eq 0) { $host.SetShouldExit(0 )} else {$host.SetShouldExit(1)}}"
9091

9192
# run coverage even if there was a test failure
9293
on_finish:
93-
- ps: .\.appveyor\coverage_report.ps1
94-
# running codecov in powershell causes an error so running in platform
95-
# shells
94+
- ps: if ($env:COVERAGE -eq 1) { .\.appveyor\coverage_report.ps1 }
95+
# running codecov in powershell causes an error so running in cmd
9696
- cmd: if %COVERAGE% equ 1 codecov -X gcov --file coverage_xml.xml
9797

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
New-Item -Name exclude_list.txt -ItemType File;
2+
3+
# exclude VS 10.0 because it hangs the testing until this is resolved:
4+
# https://help.appveyor.com/discussions/problems/19283-visual-studio-2010-trial-license-has-expired
25
$workaround_image = "Visual Studio 2015";
36
if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq $workaround_image) {
47
Add-Content -Path 'exclude_list.txt' -Value 'test\MSVS\vs-10.0-exec.py';

.appveyor/install-cov.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
for /F "tokens=*" %%g in ('C:\\%WINPYTHON%\\python.exe -c "import sys; print(sys.path[-1])"') do (set PYSITEDIR=%%g)
2+
C:\\%WINPYTHON%\\python.exe -m pip install -U --progress-bar off coverage codecov

.appveyor/install.bat

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
C:\\%WINPYTHON%\\python.exe --version
22
for /F "tokens=*" %%g in ('C:\\%WINPYTHON%\\python.exe -c "import sys; print(sys.path[-1])"') do (set PYSITEDIR=%%g)
33
REM use mingw 32 bit until #3291 is resolved
4+
REM add python and python user-base to path for pip installs
45
set PATH=C:\\%WINPYTHON%;C:\\%WINPYTHON%\\Scripts;C:\\ProgramData\\chocolatey\\bin;C:\\MinGW\\bin;C:\\MinGW\\msys\\1.0\\bin;C:\\cygwin\\bin;C:\\msys64\\usr\\bin;C:\\msys64\\mingw64\\bin;%PATH%
56
C:\\%WINPYTHON%\\python.exe -m pip install -U --progress-bar off pip setuptools wheel
6-
C:\\%WINPYTHON%\\python.exe -m pip install -U --progress-bar off coverage codecov
7-
set STATIC_DEPS=true & C:\\%WINPYTHON%\\python.exe -m pip install -U --progress-bar off lxml
7+
8+
REM requirements-dev.txt will skip installing lxml for windows and py 3.11+, where there's
9+
REM no current binary wheel
810
C:\\%WINPYTHON%\\python.exe -m pip install -U --progress-bar off -r requirements-dev.txt
9-
REM install 3rd party tools to test with
11+
1012
choco install --allow-empty-checksums dmd ldc swig vswhere xsltproc winflexbison3
11-
set SCONS_CACHE_MSVC_CONFIG=true
1213
set

.editorconfig

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# EditorConfig file for SCons project
2+
3+
root = true
4+
5+
[*]
6+
indent_style = space
7+
indent_size = 4
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
end_of_line = lf
11+
charset = utf-8
12+
13+
[{*.py,SConstruct,SConscript}]
14+
max_line_length = 88
15+
ensure_newline_before_comments = true
16+
include_trailing_comma = true
17+
use_parentheses = true
18+
19+
[*.{xml,yml,yaml}]
20+
indent_size = 2
21+
22+
[*.rst]
23+
indent_size = 3
24+
25+
[*.{bat,cmd,ps1}]
26+
end_of_line = crlf

.flake8

Lines changed: 0 additions & 22 deletions
This file was deleted.

.git-blame-ignore-revs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
11
# files reformatted from DOS line-endings
22
1277d8e5ab6457ed18d291100539f31d1bdb2d7c
3+
# enforced .editorconfig eol settings
4+
fbb026ef1145fe29e0ec3c1b66a3e99cac51e18d
5+
# Black/Ruff'd test framework code.
6+
c9d9fa58b796532320a2248ddc5be07b7280adf3

.gitattributes

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
* text=auto eol=lf
2+
*.bat eol=crlf
3+
*.cmd eol=crlf
4+
*.ps1 eol=crlf
5+
16
doc/* linguist-documentation
27
SCons/Tool/docbook/docbook-xsl-1.76.1 linguist-vendored
38
*.xml linguist-documentation
49
*.xsl linguist-documentation
510
*.gen linguist-documentation
6-
7-
*.in eol=lf

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ https://scons.org/guidelines.html
77
## Contributor Checklist:
88

99
* [ ] I have created a new test or updated the unit tests to cover the new/changed functionality.
10-
* [ ] I have updated `CHANGES.txt` (and read the `README.rst`)
10+
* [ ] I have updated `CHANGES.txt` and `RELEASE.txt` (and read the `README.rst`).
1111
* [ ] I have updated the appropriate documentation

.github/workflows/experimental_tests.yml

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,21 @@ on:
1313
# Allows you to run this workflow manually from the Actions tab
1414
workflow_dispatch:
1515

16+
env:
17+
# for use by the Windows runner (ignored by the others):
18+
SCONS_CACHE_MSVC_CONFIG: 1
19+
1620
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1721
jobs:
1822
# This workflow contains a single job called "build"
19-
build:
23+
experimental:
2024

2125
strategy:
2226
fail-fast: false
2327
matrix:
2428
# note: in the 2nd half of 2022 the setup-mingw was often failing on
2529
# windows-latest. revisit someday (perhaps when there's an @v3)
30+
#os: ['ubuntu-latest', 'windows-latest', 'macos-latest']
2631
os: ['ubuntu-latest', 'windows-2019', 'macos-latest']
2732

2833
# The type of runner that the job will run on
@@ -31,23 +36,26 @@ jobs:
3136
# Steps represent a sequence of tasks that will be executed as part of the job
3237
steps:
3338
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
34-
- uses: actions/checkout@v2
39+
- uses: actions/checkout@v4.1.6
3540

41+
# experiment: maybe don't need this?
42+
# update: looks like we do: with this commented out, the build hung
3643
- name: Set up MinGW
37-
uses: egor-tensin/setup-mingw@v2
44+
uses: egor-tensin/setup-mingw@v2.2.0
3845
if: matrix.os == 'windows-2019'
3946
with:
4047
platform: x64
48+
static: 0
4149

4250
- name: Set up Python 3.11 ${{ matrix.os }}
43-
uses: actions/setup-python@v2
51+
uses: actions/setup-python@v5.1.0
4452
with:
4553
python-version: '3.11'
4654

4755
- name: Install dependencies including ninja ${{ matrix.os }}
4856
run: |
49-
python -m pip install --upgrade pip setuptools wheel
50-
python -m pip install ninja psutil
57+
python -m pip install --progress-bar off --upgrade pip
58+
python -m pip install --progress-bar off ninja psutil
5159
# sudo apt-get update
5260
5361
- name: Test experimental packages ${{ matrix.os }}

0 commit comments

Comments
 (0)