From 0bdbd0aba6cbbd0cb2cb0cb8c5ca272b042f0167 Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Sun, 17 Dec 2017 21:50:06 +0000 Subject: Add AppVeyor configuration, based on .travi.yml's contents and http://buildbot.scons.org/. --- .appveyor.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .appveyor.yml diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000..2ddc8ee --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,20 @@ +shallow_clone: true + +environment: + matrix: + # Match the Python versions currently tested at http://buildbot.scons.org/#/, + # but include 32 and 64-bit variants. + - PYTHON: "C:\\Python27" + - PYTHON: "C:\\Python27-x64" + - PYTHON: "C:\\Python35" + - PYTHON: "C:\\Python35-x64" + - PYTHON: "C:\\Python36" + - PYTHON: "C:\\Python36-x64" + +install: + - "set PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" + - python --version + - pip install lxml + +test_script: + - python runtest.py -a || if [[ $? == 2 ]]; then exit 0; else exit 1; fi \ No newline at end of file -- cgit v0.12 From 54b53169c480eeb87c280be6c61fb6ed078b82c8 Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Sun, 17 Dec 2017 21:54:30 +0000 Subject: Disable AppVeyor's build phase. --- .appveyor.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.appveyor.yml b/.appveyor.yml index 2ddc8ee..eab31f5 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -16,5 +16,7 @@ install: - python --version - pip install lxml +build: off + test_script: - python runtest.py -a || if [[ $? == 2 ]]; then exit 0; else exit 1; fi \ No newline at end of file -- cgit v0.12 From 8e1effb436ca17251bbe847fdd8afd60f20d198d Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Sun, 17 Dec 2017 22:21:45 +0000 Subject: Convert test command to Windows batch script equivalent. --- .appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index eab31f5..a8f37ef 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -19,4 +19,4 @@ install: build: off test_script: - - python runtest.py -a || if [[ $? == 2 ]]; then exit 0; else exit 1; fi \ No newline at end of file + - cmd: (python runtest.py -a) || if %errorlevel% == 2 then exit 0 else exit 1 \ No newline at end of file -- cgit v0.12 From 124b0bccb31fc9d6deaf9d1396403de2173c755c Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Sun, 17 Dec 2017 22:29:35 +0000 Subject: Tweaking tets_scripts section. --- .appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index a8f37ef..fe86c58 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -19,4 +19,4 @@ install: build: off test_script: - - cmd: (python runtest.py -a) || if %errorlevel% == 2 then exit 0 else exit 1 \ No newline at end of file + - cmd: python runtest.py -a || if %errorlevel% == 2 then exit 0 else exit 1 \ No newline at end of file -- cgit v0.12 From c4312d1ae58bfb6919d2eda3bfaf0d86a008c5da Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Sun, 17 Dec 2017 22:48:18 +0000 Subject: Add AppVeyor CI status badge to README.rst. --- README.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.rst b/README.rst index 2a911e8..286b14c 100644 --- a/README.rst +++ b/README.rst @@ -1,6 +1,10 @@ SCons - a software construction tool #################################### +.. image:: https://ci.appveyor.com/api/projects/status/github/ajf58/scons + :target: https://ci.appveyor.com/project/ajf58/scons + :alt: AppVeyor CI Status + .. image:: https://img.shields.io/badge/IRC-scons-blue.svg :target: http://webchat.freenode.net/?channels=%23scons&uio=d4 :alt: IRC -- cgit v0.12 From 93c6e297e4146448bd5fa24812d3170d8d4cfd30 Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Sun, 17 Dec 2017 22:51:04 +0000 Subject: SVG format for CI badge. --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 286b14c..9021d25 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ SCons - a software construction tool #################################### -.. image:: https://ci.appveyor.com/api/projects/status/github/ajf58/scons +.. image:: https://ci.appveyor.com/api/projects/status/github/ajf58/scons?svg=true :target: https://ci.appveyor.com/project/ajf58/scons :alt: AppVeyor CI Status -- cgit v0.12 From 22c0be84b20e74a31d01c0833cf942c60a8c99e3 Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Sun, 17 Dec 2017 23:09:48 +0000 Subject: Add tools for the D programming language. --- .appveyor.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.appveyor.yml b/.appveyor.yml index fe86c58..bdff1e9 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -15,6 +15,8 @@ install: - "set PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - python --version - pip install lxml + - choco install dmd + - choco install ldc build: off -- cgit v0.12 From bf843a80861d87154bd63387a737e9f0c9141f2d Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Sun, 17 Dec 2017 23:10:39 +0000 Subject: Add SWIG to the Window's CI VM. --- .appveyor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.appveyor.yml b/.appveyor.yml index bdff1e9..b25b7ff 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -17,6 +17,7 @@ install: - pip install lxml - choco install dmd - choco install ldc + - choco install swig build: off -- cgit v0.12 From 78152975cd9f87fa34c91c8480ae1552d3756738 Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Wed, 20 Dec 2017 16:07:37 +0000 Subject: Try and run 2 jobs in parallel to use both virtual cores of AppVeyor's VM, and get under the one hour time limit. --- .appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index b25b7ff..cedf8e0 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -22,4 +22,4 @@ install: build: off test_script: - - cmd: python runtest.py -a || if %errorlevel% == 2 then exit 0 else exit 1 \ No newline at end of file + - cmd: python runtest.py -a -j 2 || if %errorlevel% == 2 then exit 0 else exit 1 \ No newline at end of file -- cgit v0.12 From 7670917c366a1faa7b383f10b13991dda2b10856 Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Wed, 20 Dec 2017 16:08:17 +0000 Subject: Add more dependencies for improved test coverage. --- .appveyor.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.appveyor.yml b/.appveyor.yml index cedf8e0..889aeeb 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -15,9 +15,11 @@ install: - "set PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - python --version - pip install lxml + - choco install clang - choco install dmd - choco install ldc - choco install swig + - choco install vswhere build: off -- cgit v0.12 From 34d627e24d4a5ff609492b930a58881f6918d249 Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Wed, 20 Dec 2017 16:36:22 +0000 Subject: Threading module should definitely be present. Don't try and soldier on without it. --- runtest.py | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/runtest.py b/runtest.py index 487100b..99e1d6b 100755 --- a/runtest.py +++ b/runtest.py @@ -88,17 +88,11 @@ import stat import sys import time -try: - import threading - try: # python3 - from queue import Queue - except ImportError as e: # python2 - from Queue import Queue - threading_ok = True -except ImportError: - print("Can't import threading or queue") - threading_ok = False - +import threading +try: # python3 + from queue import Queue +except ImportError as e: # python2 + from Queue import Queue import subprocess @@ -850,7 +844,7 @@ class RunTest(threading.Thread): run_test(t, io_lock, True) self.queue.task_done() -if jobs > 1 and threading_ok: +if jobs > 1: print("Running tests using %d jobs"%jobs) # Start worker threads queue = Queue() @@ -864,9 +858,6 @@ if jobs > 1 and threading_ok: queue.put(t) queue.join() else: - # Run tests serially - if jobs > 1: - print("Ignoring -j%d option; no python threading module available."%jobs) for t in tests: run_test(t, None, False) -- cgit v0.12 From 756de648868f9fb57620dbbafd4104117b5d29dc Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Wed, 20 Dec 2017 16:36:57 +0000 Subject: Removed attempt to install clang using choco. --- .appveyor.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index 889aeeb..e2189a8 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -15,7 +15,6 @@ install: - "set PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - python --version - pip install lxml - - choco install clang - choco install dmd - choco install ldc - choco install swig -- cgit v0.12 From f542b2156cc423bb54e95aab857a2db858e93627 Mon Sep 17 00:00:00 2001 From: Andrew Featherstone Date: Wed, 20 Dec 2017 19:32:02 +0000 Subject: Change the AppVeyor VM image. --- .appveyor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.appveyor.yml b/.appveyor.yml index e2189a8..d4b6624 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,3 +1,4 @@ +image: Visual Studio 2017 shallow_clone: true environment: -- cgit v0.12 From 4e8a7b5b1733a8cb6e8aa197c8c90a6434f7a066 Mon Sep 17 00:00:00 2001 From: Daniel Moody Date: Fri, 22 Dec 2017 03:28:27 -0500 Subject: split the tests in multiple jobs for multiple python environments. --- .appveyor.yml | 82 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 68 insertions(+), 14 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index d4b6624..a9d2dfc 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,27 +1,81 @@ image: Visual Studio 2017 shallow_clone: true -environment: - matrix: - # Match the Python versions currently tested at http://buildbot.scons.org/#/, - # but include 32 and 64-bit variants. - - PYTHON: "C:\\Python27" - - PYTHON: "C:\\Python27-x64" - - PYTHON: "C:\\Python35" - - PYTHON: "C:\\Python35-x64" - - PYTHON: "C:\\Python36" - - PYTHON: "C:\\Python36-x64" - install: - "set PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - python --version - pip install lxml + - pip install pypiwin32 - choco install dmd - choco install ldc - choco install swig - choco install vswhere -build: off +environment: + matrix: + - PYTHON: "C:\\Python27" + BUILD_JOB_NUM: 1 + - PYTHON: "C:\\Python27" + BUILD_JOB_NUM: 2 + - PYTHON: "C:\\Python27" + BUILD_JOB_NUM: 3 + - PYTHON: "C:\\Python27" + BUILD_JOB_NUM: 4 + + - PYTHON: "C:\\Python35" + BUILD_JOB_NUM: 1 + - PYTHON: "C:\\Python35" + BUILD_JOB_NUM: 2 + - PYTHON: "C:\\Python35" + BUILD_JOB_NUM: 3 + - PYTHON: "C:\\Python35" + BUILD_JOB_NUM: 4 -test_script: - - cmd: python runtest.py -a -j 2 || if %errorlevel% == 2 then exit 0 else exit 1 \ No newline at end of file + - PYTHON: "C:\\Python36" + BUILD_JOB_NUM: 1 + - PYTHON: "C:\\Python36" + BUILD_JOB_NUM: 2 + - PYTHON: "C:\\Python36" + BUILD_JOB_NUM: 3 + - PYTHON: "C:\\Python36" + BUILD_JOB_NUM: 4 + + - PYTHON: "C:\\Python27-x64" + BUILD_JOB_NUM: 1 + - PYTHON: "C:\\Python27-x64" + BUILD_JOB_NUM: 2 + - PYTHON: "C:\\Python27-x64" + BUILD_JOB_NUM: 3 + - PYTHON: "C:\\Python27-x64" + BUILD_JOB_NUM: 4 + + - PYTHON: "C:\\Python35-x64" + BUILD_JOB_NUM: 1 + - PYTHON: "C:\\Python35-x64" + BUILD_JOB_NUM: 2 + - PYTHON: "C:\\Python35-x64" + BUILD_JOB_NUM: 3 + - PYTHON: "C:\\Python35-x64" + BUILD_JOB_NUM: 4 + + - PYTHON: "C:\\Python36-x64" + BUILD_JOB_NUM: 1 + - PYTHON: "C:\\Python36-x64" + BUILD_JOB_NUM: 2 + - PYTHON: "C:\\Python36-x64" + BUILD_JOB_NUM: 3 + - PYTHON: "C:\\Python36-x64" + BUILD_JOB_NUM: 4 + +build: off +build_script: + - cmd: python runtest.py -l -a > all_tests.txt + - ps: >- + $TOTAL_BUILD_JOBS = 4; + $Lines = (Get-Content all_tests.txt | Measure-Object -line).Lines; + $start = ($Lines / $TOTAL_BUILD_JOBS) * ($Env:BUILD_JOB_NUM - 1); + $end = ($Lines / $TOTAL_BUILD_JOBS) * $Env:BUILD_JOB_NUM; + if ( $Env:BUILD_JOB_NUM -eq $TOTAL_BUILD_JOBS){ $end = $Lines }; + if ( $start -eq 0 ){ $start = 1 }; + get-content all_tests.txt | select -first ($end - $start) -skip ($start - 1) | Out-File -Encoding ASCII build_tests.txt; + - cmd: powershell -Command "& { python runtest.py -j 2 -f build_tests.txt; if($LastExitCode -eq 2 -Or $LastExitCode -eq 0) { $host.SetShouldExit(0 )} else {$host.SetShouldExit(1)}}" \ No newline at end of file -- cgit v0.12 From 199c0bc17250623ab0b90f0150f1b77ad8561316 Mon Sep 17 00:00:00 2001 From: Daniel Moody Date: Fri, 22 Dec 2017 03:29:38 -0500 Subject: updated badge to point to SCons. --- README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index f01d5dc..38086b6 100644 --- a/README.rst +++ b/README.rst @@ -1,10 +1,6 @@ SCons - a software construction tool #################################### -.. image:: https://ci.appveyor.com/api/projects/status/github/ajf58/scons?svg=true - :target: https://ci.appveyor.com/project/ajf58/scons - :alt: AppVeyor CI Status - .. image:: https://img.shields.io/badge/IRC-scons-blue.svg :target: http://webchat.freenode.net/?channels=%23scons&uio=d4 :alt: IRC @@ -20,6 +16,10 @@ SCons - a software construction tool .. image:: https://travis-ci.org/SCons/scons.svg?branch=master :target: https://travis-ci.org/SCons/scons :alt: Travis CI build status + +.. image:: https://ci.appveyor.com/api/projects/status/github/SCons/scons?svg=true&branch=master + :target: https://ci.appveyor.com/project/SCons/scons + :alt: AppVeyor CI Status .. image:: https://coveralls.io/repos/github/SCons/scons/badge.svg :target: https://coveralls.io/github/SCons/scons -- cgit v0.12