Merge ~freddie-akeroyd/epics-base:appveyor_debug_builds into ~epics-core/epics-base/+git/epics-base:7.0

Proposed by Freddie Akeroyd
Status: Rejected
Rejected by: Andrew Johnson
Proposed branch: ~freddie-akeroyd/epics-base:appveyor_debug_builds
Merge into: ~epics-core/epics-base/+git/epics-base:7.0
Diff against target: 53 lines (+20/-6)
2 files modified
.appveyor.yml (+3/-0)
.ci/appveyor-prepare.bat (+17/-6)
Reviewer Review Type Date Requested Status
Andrew Johnson Disapprove
Review via email: mp+373382@code.launchpad.net

Description of the change

Enable VS 2019 and debug builds on Appveyor

* Add VS2019 build target
* Install Strawberry perl when building VS2019 (this image is missing perl)
* Build debug configuration with MSVC (previously just mingw and cygwin)
* allow static-debug on MSVC by setting -static and modifying CONFIG_SITE

LP: #1845887

To post a comment you must log in.
Revision history for this message
Andrew Johnson (anj) wrote :

Group 10/4: Looks reasonable.

review: Approve
Revision history for this message
mdavidsaver (mdavidsaver) wrote :

FYI, this MR will not be included in the forthcoming 7.0.3.1 release. Not due to any issue with the appveyor config changes, but rather to the runtime issues (hang or crash on exit) it seemingly uncovers with the unittest suite and MSVC 2019.

Revision history for this message
Andrew Johnson (anj) wrote :

This branch now has merge conflicts with the latest appveyor CI files.

@Ralph, when you get a chance can you take a look at this and work out what needs doing?

review: Needs Fixing
43a0eb8... by Freddie Akeroyd

Merge remote-tracking branch 'upstream' into appveyor_debug_builds

Revision history for this message
Freddie Akeroyd (freddie-akeroyd) wrote :

I have resolved the merge conflict, most of the changes on this branch seem to have already been included upstream and the only item remaining here is to cache downloads of external tools.

Revision history for this message
Andrew Johnson (anj) wrote :

Gropu review 2020-03-25: Approve.

review: Approve
Revision history for this message
Andrew Johnson (anj) wrote :

@Ralph can you take a look at this MR and see if it should still be applied. It has been sitting in this Approved state since March but we haven't actually merged it yet (Sorry Freddie!).

Revision history for this message
Andrew Johnson (anj) wrote :

This merge request is no longer relevant to epics-base, the functionality of the script it's modifying has been taken over by Python code in the ci-scripts module.

review: Disapprove

Unmerged commits

43a0eb8... by Freddie Akeroyd

Merge remote-tracking branch 'upstream' into appveyor_debug_builds

d855d3a... by Freddie Akeroyd

Add build cache

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/.appveyor.yml b/.appveyor.yml
2index bba0292..9e867fa 100644
3--- a/.appveyor.yml
4+++ b/.appveyor.yml
5@@ -6,6 +6,9 @@
6 # Version format
7 version: base-{branch}-{build}
8
9+cache:
10+- C:\Downloads -> .ci\appveyor-prepare.bat
11+
12 #---------------------------------#
13 # repository cloning #
14 #---------------------------------#
15diff --git a/.ci/appveyor-prepare.bat b/.ci/appveyor-prepare.bat
16index 312223d..63b67ff 100644
17--- a/.ci/appveyor-prepare.bat
18+++ b/.ci/appveyor-prepare.bat
19@@ -35,17 +35,28 @@ echo.%CONFIGURATION% | findstr /C:"debug">nul && (
20 echo [INFO] EPICS set up for optimized build
21 )
22
23-echo [INFO] Installing Make 4.2.1 from ANL web site
24-curl -fsS --retry 3 -o C:\tools\make-4.2.1.zip https://epics.anl.gov/download/tools/make-4.2.1-win64.zip
25+:: C:\Downloads is listed as an appveyor chache directory in .appveyor.yml
26+if not exist "C:\Downloads" (
27+ mkdir C:\Downloads
28+)
29+if not exist "C:\Downloads\make-4.2.1.zip" (
30+ echo [INFO] Downloading Make 4.2.1 from ANL web site
31+ curl -fsS --retry 3 -o C:\Downloads\make-4.2.1.zip https://epics.anl.gov/download/tools/make-4.2.1-win64.zip
32+)
33+set "PERLVER=5.30.0.1"
34+if not exist "C:\Downloads\perl-%PERLVER%.zip" (
35+ echo [INFO] Downloading Strawberry Perl %PERLVER%
36+ curl -fsS --retry 3 -o C:\Downloads\perl-%PERLVER%.zip http://strawberryperl.com/download/%PERLVER%/strawberry-perl-%PERLVER%-64bit.zip
37+)
38+
39+echo [INFO] Installing Make 4.2.1
40 cd \tools
41-"C:\Program Files\7-Zip\7z" e make-4.2.1.zip
42+"C:\Program Files\7-Zip\7z" e c:\Downloads\make-4.2.1.zip
43
44-set "PERLVER=5.30.0.1"
45 if "%TOOLCHAIN%"=="2019" (
46 echo [INFO] Installing Strawberry Perl %PERLVER%
47- curl -fsS --retry 3 -o C:\tools\perl-%PERLVER%.zip http://strawberryperl.com/download/%PERLVER%/strawberry-perl-%PERLVER%-64bit.zip
48 cd \tools
49- "C:\Program Files\7-Zip\7z" x perl-%PERLVER%.zip -oC:\strawberry
50+ "C:\Program Files\7-Zip\7z" x C:\Downloads\perl-%PERLVER%.zip -oC:\strawberry
51 cd \strawberry
52 :: we set PATH in appveyor-build.bat
53 call relocation.pl.bat

Subscribers

People subscribed via source and target branches