EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: AppVeyor native Windows build support for ci-scripts (Beta)
From: Freddie Akeroyd - UKRI STFC via Core-talk <core-talk at aps.anl.gov>
To: "EPICS core-talk (core-talk at aps.anl.gov)" <core-talk at aps.anl.gov>
Date: Sun, 19 Apr 2020 17:23:33 +0000

Hi Ralph,

 

This works really well – I just noticed a few things when trying to add it to the EPICS galil driver on GitHub

 

 

The initial git clone didn’t seem to be recursive for me, so I didn’t get the .ci submodule checked out unless I added the following to my appveyor.yml file:

 

clone_script:

- cmd: git clone -q --recursive --branch=%APPVEYOR_REPO_BRANCH% https://github.com/%APPVEYOR_REPO_NAME%.git %APPVEYOR_BUILD_FOLDER%

- cmd: git checkout -qf %APPVEYOR_REPO_COMMIT%

 

Am I missing a setting somewhere?

 

 

You have a couple of lines commented out as examples in the in_failure: section of appveyor.yml. The line with “$blockRdp = $true” would work well there and halt on a failed build, but I think the line

 

#  - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

 

Isn’t needed there in addition to the other line and on its own would just print the RDP connections and not stop a build. I think this line was probably meant to be in the “init:” section and to allow you to monitor a build in progress and analyse why it had hung rather than failed.

 

 

The galil driver has an extra directory level i.e. the root of the Github repository with the appveyor.yml is not $(TOP) and also lacks a configure directory in that location. I see the CI script prepare() method copies the RELEASE.local to a configure directory if it exists, but if one does not exist then it doesn’t copy the file. To get the galil main build to work I had to create a configure directory at this level and use  $(TOP)/../configure/RELEASE.local  in the galil module RELEASE file. I wondered if the prepare() method should copy the generated RELEASE.local to the top of the build/checkout area if there is no configure directory, so allowing $(TOP)/../RELEASE.local to work in the galil RELEASE file?

 

Regards,

 

Freddie

 

From: Core-talk <core-talk-bounces at aps.anl.gov> On Behalf Of Ralph Lange via Core-talk
Sent: 14 April 2020 17:17
To: EPICS Core Talk <core-talk at aps.anl.gov>
Subject: AppVeyor native Windows build support for ci-scripts (Beta)

 

Dear colleagues,

 

With a lot of help from Michael Davidsaver, the AppVeyor based native Windows build support for the ci-scripts module is ready for beta testing.

 

Check out the scripts (and the README files!) at  https://github.com/ralphlange/ci-scripts/tree/devel/add-appveyor.

 

The ci-scripts configuration of dependency modules (including setup files) can be shared between Travis and AppVeyor.

 

To update your source module to use this Pull Request branch, you need to do something like this in your module that uses ci-scripts (choose any branch name instead of 'win-beta'):

 

cd .ci

git fetch origin pull/29/head:win-beta

git checkout win-beta

 

Once you have an AppVeyor account, you need to enable the repository - any following commit to GitHub should be built if it happens on a branch with the .appveyor.yml configuration in place.

 

Careful: Since AppVeyor only offers one builder VM and no usable caching, every job you define in your build matrix will be complete and take its full time (~10min for Base plus all other modules) every time the build is run.

 

Please test and feed back any irregularities and/or missing documentation.

 

Cheers,
~Ralph


References:
AppVeyor native Windows build support for ci-scripts (Beta) Ralph Lange via Core-talk

Navigate by Date:
Prev: Build failed: EPICS Base base-7.0-590 AppVeyor via Core-talk
Next: Build failed: epics-base base-fix-epicsFindSymbol-469 AppVeyor via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: AppVeyor native Windows build support for ci-scripts (Beta) Ralph Lange via Core-talk
Next: Jenkins build became unstable: epics-base-3.15-win32-test #288 APS Jenkins via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 19 Apr 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·