30 Commits

Author SHA1 Message Date
Ralph Lange
20f8e05393 test: explicitly run tests using 'python3'
Some checks failed
ci-scripts build/test / cross linux-aarch64 / / default (push) Successful in 2m58s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.10 / / default (push) Successful in 3m50s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabi / / default (push) Successful in 2m51s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabihf / / default (push) Successful in 3m2s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.9 / / default (push) Successful in 3m55s
ci-scripts build/test / cross linux-ppc / / default (push) Successful in 3m33s
ci-scripts build/test / cross linux-ppc64 / / default (push) Successful in 3m35s
ci-scripts build/test / cross RTEMS-pc686-qemu@5 / / default (push) Successful in 5m33s
ci-scripts build/test / cross win32-x86-mingw / / default (push) Successful in 4m21s
ci-scripts build/test / cross windows-x64-mingw / / default (push) Successful in 5m3s
ci-scripts build/test / Unit tests on macos-11 (push) Has been cancelled
ci-scripts build/test / Unit tests on macos-12 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2019 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2022 (push) Has been cancelled
ci-scripts build/test / clang / debug / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / clang / debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / default / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / clang / default / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / static / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / clang / static / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / static-debug / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / clang / static-debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / debug / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / gcc / debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / default / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / gcc / default / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-11 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-12 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-11 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-12 (push) Has been cancelled
ci-scripts build/test / gcc / debug / windows-2019 (push) Has been cancelled
ci-scripts build/test / gcc / debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / default / windows-2019 (push) Has been cancelled
ci-scripts build/test / gcc / default / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / static / windows-2019 (push) Has been cancelled
ci-scripts build/test / gcc / static / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / windows-2019 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2019 / debug / windows-2019 (push) Has been cancelled
ci-scripts build/test / vs2019 / default / windows-2019 (push) Has been cancelled
ci-scripts build/test / vs2019 / static / windows-2019 (push) Has been cancelled
ci-scripts build/test / vs2019 / static-debug / windows-2019 (push) Has been cancelled
ci-scripts build/test / vs2022 / debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / default / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / static / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / static-debug / windows-2022 (push) Has been cancelled
- 'python' is Python 2.7 on MacOS 12
2023-11-03 10:29:39 +01:00
Ralph Lange
2246ee79e4 Merge pull request #86 from mdavidsaver/win32-fix-make-path
Fix make path on Windows builds
2023-11-03 09:17:06 +01:00
Ralph Lange
7def04dc0e test: follow changes in unittest
- rename assertRegexpMatches() to assertRegex() (Python 3.2)
- rename assertRaisesRegexp() to assertRaisesRegex() (Python 3.2)
(fixes #88)
2023-11-03 09:14:03 +01:00
Ralph Lange
c153c10a11 Merge branch 'master' into win32-fix-make-path 2023-11-02 14:44:48 +01:00
Ralph Lange
a133e160ee Use get_platform() from sysconfig instead distutils.util
- distutils is dropped in python 3.10/3.12
- fixes #87
2023-11-02 11:32:08 +01:00
Michael Davidsaver
f57c9d5930 windows choose intended make.exe 2023-10-24 18:50:32 -07:00
Michael Davidsaver
dffe32c23e finish PATH manipulation before probing "make" 2023-10-24 11:39:54 -07:00
Michael Davidsaver
afeb69564c print tool location along with version 2023-10-24 10:48:54 -07:00
Michael Davidsaver
6ec067da78 Revert "workaround make -Otarget bug on windows"
This reverts commit 899b18336b.
2023-10-24 10:37:16 -07:00
Michael Davidsaver
899b18336b workaround make -Otarget bug on windows
Sometimes triggers "invalid output sync mutex" error from make.
2023-10-22 13:26:47 -07:00
Ralph Lange
8e0cb61c12 Merge pull request #83 from dirk-zimoch/colors
(fixes #82)
2023-10-03 11:58:59 +02:00
Ralph Lange
4028a10be9 removed debug message that spamed log files 2023-10-03 11:56:16 +02:00
Ralph Lange
b61f5079b7 Pull Request #83: removed debug message that spamed log files 2023-10-03 10:14:53 +02:00
e79a7fbf1e removed debug message that spamed log files 2023-10-03 10:12:30 +02:00
Ralph Lange
e0a7c52160 Merge pull request #81 from simon-ess/update_seq_url
Update default sequencer url
2023-09-15 10:08:05 +02:00
Simon Rose
6e190542d6 Update default sequencer url
Due to issues at CSR-bessy, sequencer is no longer hosted there. M.
Davidsaver is currently maintaining a mirror of that repository, which
we can point to instead.
2023-09-15 10:05:12 +02:00
Ralph Lange
a8bffdcfb7 Merge pull request #79 from dirk-zimoch/colors 2023-05-24 18:21:44 +02:00
Ralph Lange
8ea51154c0 enable compiler color output if available 2023-05-24 18:18:16 +02:00
Ralph Lange
4248dffeca Pull Request #79: enable compiler color output if available 2023-05-24 17:47:04 +02:00
9721faa716 enable compiler color output if available 2023-05-22 11:36:42 +02:00
Michael Davidsaver
c8b2773316 gha: drop ubuntu-18.04 2023-05-04 09:11:19 -07:00
Ralph Lange
1e0e326f74 Merge pull request #73 from mdavidsaver/split-extra
(closes #73)
2023-03-09 11:59:08 +00:00
Ralph Lange
bd0cd5434c Do not run tests on pc386-qemu@4.10
These started to fail with apparent reason.
2023-03-09 11:40:07 +00:00
Ralph Lange
819c2abba0 Readme: add paragraph on EXTRA args for make 2023-03-09 11:37:26 +00:00
Ralph Lange
6491f0116f Merge pull request #76 from FreddieAkeroyd/retry-choco
(closes #76)
2023-03-09 10:23:36 +00:00
Ralph Lange
f47280547b Fix unit tests to allow shlex.split() on EXTRA* 2023-03-09 10:04:31 +00:00
Freddie Akeroyd
e32822b9a3 Retry choco install 2023-03-09 00:09:47 +00:00
Michael Davidsaver
918feccf51 use shlex.split on $EXTRA* 2023-02-01 09:04:27 -08:00
Ralph Lange
fd925d83b6 Merge pull request #71 from mdavidsaver/master
GHA update to actions/checkout@v3
2022-10-17 12:17:43 +02:00
Michael Davidsaver
cd21488ec7 GHA update to actions/checkout@v3 2022-10-12 10:16:02 -07:00
6 changed files with 87 additions and 37 deletions

View File

@@ -19,13 +19,13 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-22.04, ubuntu-20.04, ubuntu-18.04, windows-2022, windows-2019, macos-12, macos-11] os: [ubuntu-22.04, ubuntu-20.04, windows-2022, windows-2019, macos-12, macos-11]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Show initial environment - name: Show initial environment
run: python cue-test.py env run: python3 cue-test.py env
- name: Run unit tests - name: Run unit tests
run: python cue-test.py run: python3 cue-test.py
build-linux: build-linux:
name: ${{ matrix.cmp }} / ${{ matrix.configuration }} / ${{ matrix.os }} name: ${{ matrix.cmp }} / ${{ matrix.configuration }} / ${{ matrix.os }}
@@ -36,11 +36,11 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-22.04, ubuntu-20.04, ubuntu-18.04] os: [ubuntu-22.04, ubuntu-20.04]
cmp: [gcc, clang] cmp: [gcc, clang]
configuration: [default, static, debug, static-debug] configuration: [default, static, debug, static-debug]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Prepare and compile dependencies - name: Prepare and compile dependencies
run: python cue.py prepare run: python cue.py prepare
- name: Build main module (example app) - name: Build main module (example app)
@@ -63,7 +63,7 @@ jobs:
cmp: [clang] cmp: [clang]
configuration: [default, debug] configuration: [default, debug]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Prepare and compile dependencies - name: Prepare and compile dependencies
run: python cue.py prepare run: python cue.py prepare
- name: Build main module (example app) - name: Build main module (example app)
@@ -93,7 +93,7 @@ jobs:
cmp: vs2022 cmp: vs2022
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Prepare and compile dependencies - name: Prepare and compile dependencies
run: python cue.py prepare run: python cue.py prepare
- name: Build main module (example app) - name: Build main module (example app)
@@ -105,18 +105,19 @@ jobs:
build-cross: build-cross:
name: cross ${{ matrix.cross }} / ${{ matrix.cmp }} / ${{ matrix.configuration }} name: cross ${{ matrix.cross }} / ${{ matrix.cmp }} / ${{ matrix.configuration }}
runs-on: ubuntu-20.04 runs-on: ubuntu-latest
env: env:
CMP: gcc CMP: gcc
BCFG: default BCFG: default
CI_CROSS_TARGETS: ${{ matrix.cross }} CI_CROSS_TARGETS: ${{ matrix.cross }}
TEST: ${{ matrix.test }}
APT: re2c APT: re2c
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
# configuration: [default, static, debug, static-debug] # configuration: [default, static, debug, static-debug]
configuration: [default] configuration: [default]
cross: cross:
- linux-aarch64 - linux-aarch64
- linux-arm@arm-linux-gnueabi - linux-arm@arm-linux-gnueabi
- linux-arm@arm-linux-gnueabihf - linux-arm@arm-linux-gnueabihf
@@ -127,8 +128,11 @@ jobs:
- RTEMS-pc386-qemu@4.9 - RTEMS-pc386-qemu@4.9
- RTEMS-pc386-qemu@4.10 - RTEMS-pc386-qemu@4.10
- RTEMS-pc686-qemu@5 - RTEMS-pc686-qemu@5
include:
- cross: RTEMS-pc386-qemu@4.10
test: NO
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Prepare and compile dependencies - name: Prepare and compile dependencies
run: python cue.py prepare run: python cue.py prepare
- name: Build main module (example app) - name: Build main module (example app)

View File

@@ -189,6 +189,19 @@ Collect the results of your tests and print a summary.
`exec`\ `exec`\
Execute the remainder of the line using the default command shell. Execute the remainder of the line using the default command shell.
## Extra arguments to `make`
You can add additional arguments to the make runs that the `cue.py` script
starts. Put your additional arguments into environment variables named
`EXTRA`, `EXTRA1`, ... `EXTRA5`.
The variables may contain multiple arguments, separated by whitespace.
Use regular shell script quoting (single/double quotes, backslash escapes)
if you need spaces inside an extra argument.
The YAML syntax needed to set environment variables depends on the CI
service and platform. (See the full example configuration file.)
## Setup Files ## Setup Files
Your module might depend on EPICS Base and a few other support modules. Your module might depend on EPICS Base and a few other support modules.

View File

@@ -8,7 +8,6 @@
from __future__ import print_function from __future__ import print_function
import sys, os, shutil, fileinput import sys, os, shutil, fileinput
import distutils.util
import re import re
import subprocess as sp import subprocess as sp
import unittest import unittest
@@ -81,10 +80,10 @@ class TestSourceSet(unittest.TestCase):
def test_EmptySetupDirsPath(self): def test_EmptySetupDirsPath(self):
del os.environ['SETUP_PATH'] del os.environ['SETUP_PATH']
self.assertRaisesRegexp(NameError, '\(SETUP_PATH\) is empty', cue.source_set, 'test01') self.assertRaisesRegex(NameError, '\(SETUP_PATH\) is empty', cue.source_set, 'test01')
def test_InvalidSetupName(self): def test_InvalidSetupName(self):
self.assertRaisesRegexp(NameError, 'does not exist in SETUP_PATH', cue.source_set, 'xxdoesnotexistxx') self.assertRaisesRegex(NameError, 'does not exist in SETUP_PATH', cue.source_set, 'xxdoesnotexistxx')
def test_ValidSetupName(self): def test_ValidSetupName(self):
capturedOutput = getStringIO() capturedOutput = getStringIO()
@@ -121,7 +120,7 @@ class TestSourceSet(unittest.TestCase):
sys.stdout = capturedOutput sys.stdout = capturedOutput
cue.source_set('test03') cue.source_set('test03')
sys.stdout = sys.__stdout__ sys.stdout = sys.__stdout__
self.assertRegexpMatches(capturedOutput.getvalue(), 'Ignoring already included setup file') self.assertRegex(capturedOutput.getvalue(), 'Ignoring already included setup file')
class TestUpdateReleaseLocal(unittest.TestCase): class TestUpdateReleaseLocal(unittest.TestCase):
@@ -530,7 +529,7 @@ class TestTravisDetectContext(unittest.TestCase):
sys.stdout = capturedOutput sys.stdout = capturedOutput
cue.detect_context() cue.detect_context()
sys.stdout = sys.__stdout__ sys.stdout = sys.__stdout__
self.assertRegexpMatches(capturedOutput.getvalue(), "Variable 'STATIC' not supported anymore") self.assertRegex(capturedOutput.getvalue(), "Variable 'STATIC' not supported anymore")
def test_MisspelledBcfgGetsWarning(self): def test_MisspelledBcfgGetsWarning(self):
os.environ['BCFG'] = 'static-dubug' os.environ['BCFG'] = 'static-dubug'
@@ -538,7 +537,7 @@ class TestTravisDetectContext(unittest.TestCase):
sys.stdout = capturedOutput sys.stdout = capturedOutput
cue.detect_context() cue.detect_context()
sys.stdout = sys.__stdout__ sys.stdout = sys.__stdout__
self.assertRegexpMatches(capturedOutput.getvalue(), "Unrecognized build configuration setting") self.assertRegex(capturedOutput.getvalue(), "Unrecognized build configuration setting")
@unittest.skipIf(ci_service != 'appveyor', 'Run appveyor tests only on appveyor') @unittest.skipIf(ci_service != 'appveyor', 'Run appveyor tests only on appveyor')
@@ -691,7 +690,7 @@ class TestAppveyorDetectContext(unittest.TestCase):
sys.stdout = capturedOutput sys.stdout = capturedOutput
cue.detect_context() cue.detect_context()
sys.stdout = sys.__stdout__ sys.stdout = sys.__stdout__
self.assertRegexpMatches(capturedOutput.getvalue(), "Variable 'STATIC' not supported anymore") self.assertRegex(capturedOutput.getvalue(), "Variable 'STATIC' not supported anymore")
def test_MisspelledConfigurationGetsWarning(self): def test_MisspelledConfigurationGetsWarning(self):
os.environ['CONFIGURATION'] = 'static-dubug' os.environ['CONFIGURATION'] = 'static-dubug'
@@ -699,7 +698,7 @@ class TestAppveyorDetectContext(unittest.TestCase):
sys.stdout = capturedOutput sys.stdout = capturedOutput
cue.detect_context() cue.detect_context()
sys.stdout = sys.__stdout__ sys.stdout = sys.__stdout__
self.assertRegexpMatches(capturedOutput.getvalue(), "Unrecognized build configuration setting") self.assertRegex(capturedOutput.getvalue(), "Unrecognized build configuration setting")
class TestSetupForBuild(unittest.TestCase): class TestSetupForBuild(unittest.TestCase):
@@ -841,7 +840,7 @@ class TestSetupForBuild(unittest.TestCase):
def test_ExtraMakeArgs(self): def test_ExtraMakeArgs(self):
os.environ['EXTRA'] = 'bla' os.environ['EXTRA'] = 'bla'
for ind in range(1,5): for ind in range(1,5):
os.environ['EXTRA{0}'.format(ind)] = 'bla {0}'.format(ind) os.environ['EXTRA{0}'.format(ind)] = '"bla {0}"'.format(ind)
cue.setup_for_build(self.args) cue.setup_for_build(self.args)
self.assertTrue(cue.extra_makeargs[0] == 'bla', 'Extra make arg [0] not set') self.assertTrue(cue.extra_makeargs[0] == 'bla', 'Extra make arg [0] not set')
for ind in range(1,5): for ind in range(1,5):

62
cue.py
View File

@@ -4,14 +4,16 @@
from __future__ import print_function from __future__ import print_function
import sys, os, stat, shutil import sys, os, stat, shlex, shutil
import fileinput import fileinput
import logging import logging
import re import re
import time
import threading import threading
from glob import glob from glob import glob
import subprocess as sp import subprocess as sp
import distutils.util import sysconfig
import shutil
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -31,6 +33,11 @@ def log_modified():
sys.stdout.write(F.read()) sys.stdout.write(F.read())
sys.stdout.write(os.linesep) sys.stdout.write(os.linesep)
def whereis(cmd):
if hasattr(shutil, 'which'): # >= py3.3
loc = shutil.which(cmd)
print('{0}Found exec {1} at {2!r} {3}'.format(ANSI_CYAN, cmd, loc, ANSI_RESET))
def prepare_env(): def prepare_env():
'''HACK '''HACK
github actions yaml configuration doesn't allow github actions yaml configuration doesn't allow
@@ -313,7 +320,7 @@ def host_info():
print('PYTHONPATH') print('PYTHONPATH')
for dname in sys.path: for dname in sys.path:
print(' ', dname) print(' ', dname)
print('platform =', distutils.util.get_platform()) print('platform =', sysconfig.get_platform())
if ci['os'] == 'windows': if ci['os'] == 'windows':
print('{0}Available Visual Studio versions{1}'.format(ANSI_CYAN, ANSI_RESET)) print('{0}Available Visual Studio versions{1}'.format(ANSI_CYAN, ANSI_RESET))
@@ -686,8 +693,10 @@ def setup_for_build(args):
if ci['os'] == 'windows': if ci['os'] == 'windows':
if os.path.exists(r'C:\Strawberry\perl\bin'): if os.path.exists(r'C:\Strawberry\perl\bin'):
# Put strawberry perl in front of the PATH (so that Git Perl is further behind) # Put strawberry perl in front of the PATH (so that Git Perl is further behind)
# Put Chocolatey\bin ahead to select correct make.exe
logger.debug('Adding Strawberry Perl in front of the PATH') logger.debug('Adding Strawberry Perl in front of the PATH')
os.environ['PATH'] = os.pathsep.join([r'C:\Strawberry\c\bin', os.environ['PATH'] = os.pathsep.join([r'C:\ProgramData\Chocolatey\bin',
r'C:\Strawberry\c\bin',
r'C:\Strawberry\perl\site\bin', r'C:\Strawberry\perl\site\bin',
r'C:\Strawberry\perl\bin', r'C:\Strawberry\perl\bin',
os.environ['PATH']]) os.environ['PATH']])
@@ -755,14 +764,6 @@ def setup_for_build(args):
if re.match('^test-results:', line): if re.match('^test-results:', line):
has_test_results = True has_test_results = True
# Check make version
if re.match(r'^GNU Make 3', sp.check_output(['make', '-v']).decode('ascii')):
is_make3 = True
logger.debug('Check if make is a 3.x series: %s', is_make3)
# apparently %CD% is handled automagically
os.environ['TOP'] = os.getcwd()
addpaths = [] addpaths = []
for path in args.paths: for path in args.paths:
try: try:
@@ -774,11 +775,23 @@ def setup_for_build(args):
os.environ['PATH'] = os.pathsep.join([os.environ['PATH']] + addpaths) os.environ['PATH'] = os.pathsep.join([os.environ['PATH']] + addpaths)
logger.debug('Final PATH')
for loc in os.environ['PATH'].split(os.pathsep):
logger.debug(' %r', loc)
# Check make version
if re.match(r'^GNU Make 3', sp.check_output(['make', '-v']).decode('ascii')):
is_make3 = True
logger.debug('Check if make is a 3.x series: %s', is_make3)
# apparently %CD% is handled automagically
os.environ['TOP'] = os.getcwd()
# Add EXTRA make arguments # Add EXTRA make arguments
for tag in ['EXTRA', 'EXTRA1', 'EXTRA2', 'EXTRA3', 'EXTRA4', 'EXTRA5']: for tag in ['EXTRA', 'EXTRA1', 'EXTRA2', 'EXTRA3', 'EXTRA4', 'EXTRA5']:
val = os.environ.get(tag, "") val = os.environ.get(tag, "")
if len(val)>0: if len(val)>0:
extra_makeargs.append(val) extra_makeargs.extend(shlex.split(val))
def fix_etc_hosts(): def fix_etc_hosts():
@@ -1208,11 +1221,27 @@ PERL = C:/Strawberry/perl/bin/perl -CSD'''
with open(os.path.join(places['EPICS_BASE'], 'configure', 'CONFIG_SITE'), 'a') as f: with open(os.path.join(places['EPICS_BASE'], 'configure', 'CONFIG_SITE'), 'a') as f:
f.write(extra_config) f.write(extra_config)
# enable color in error and warning messages if the (cross) compiler supports it
with open(os.path.join(places['EPICS_BASE'], 'configure', 'CONFIG'), 'a') as f:
f.write('''
ifdef T_A
COLOR_FLAG_$(T_A) := $(shell $(CPP) -fdiagnostics-color -E - </dev/null >/dev/null 2>/dev/null && echo -fdiagnostics-color)
USR_CPPFLAGS += $(COLOR_FLAG_$(T_A))
endif''')
fold_end('set.up.epics_build', 'Configuring EPICS build system') fold_end('set.up.epics_build', 'Configuring EPICS build system')
if ci['os'] == 'windows' and ci['choco']: if ci['os'] == 'windows' and ci['choco']:
fold_start('install.choco', 'Installing CHOCO packages') fold_start('install.choco', 'Installing CHOCO packages')
sp.check_call(['choco', 'install'] + ci['choco'] + ['-y', '--limitoutput', '--no-progress']) for i in range(0,3):
try:
sp.check_call(['choco', 'install'] + ci['choco'] + ['-y', '--limitoutput', '--no-progress'])
except Exception as e:
print(e)
print("Retrying choco install attempt {} after 30 seconds".format(i+1))
time.sleep(30)
else:
break
fold_end('install.choco', 'Installing CHOCO packages') fold_end('install.choco', 'Installing CHOCO packages')
if ci['os'] == 'linux' and ci['apt']: if ci['os'] == 'linux' and ci['apt']:
@@ -1229,23 +1258,28 @@ PERL = C:/Strawberry/perl/bin/perl -CSD'''
setup_for_build(args) setup_for_build(args)
print('{0}EPICS_HOST_ARCH = {1}{2}'.format(ANSI_CYAN, os.environ['EPICS_HOST_ARCH'], ANSI_RESET)) print('{0}EPICS_HOST_ARCH = {1}{2}'.format(ANSI_CYAN, os.environ['EPICS_HOST_ARCH'], ANSI_RESET))
whereis('make')
print('{0}$ make --version{1}'.format(ANSI_CYAN, ANSI_RESET)) print('{0}$ make --version{1}'.format(ANSI_CYAN, ANSI_RESET))
sys.stdout.flush() sys.stdout.flush()
call_make(['--version'], parallel=0) call_make(['--version'], parallel=0)
whereis('perl')
print('{0}$ perl --version{1}'.format(ANSI_CYAN, ANSI_RESET)) print('{0}$ perl --version{1}'.format(ANSI_CYAN, ANSI_RESET))
sys.stdout.flush() sys.stdout.flush()
sp.check_call(['perl', '--version']) sp.check_call(['perl', '--version'])
if re.match(r'^vs', ci['compiler']): if re.match(r'^vs', ci['compiler']):
whereis('cl')
print('{0}$ cl{1}'.format(ANSI_CYAN, ANSI_RESET)) print('{0}$ cl{1}'.format(ANSI_CYAN, ANSI_RESET))
sys.stdout.flush() sys.stdout.flush()
sp.check_call(['cl']) sp.check_call(['cl'])
else: else:
cc = ci['compiler'] cc = ci['compiler']
whereis(cc)
print('{0}$ {1} --version{2}'.format(ANSI_CYAN, cc, ANSI_RESET)) print('{0}$ {1} --version{2}'.format(ANSI_CYAN, cc, ANSI_RESET))
sys.stdout.flush() sys.stdout.flush()
sp.check_call([cc, '--version']) sp.check_call([cc, '--version'])
if cxx: if cxx:
whereis(cxx)
print('{0}$ {1} --version{2}'.format(ANSI_CYAN, cxx, ANSI_RESET)) print('{0}$ {1} --version{2}'.format(ANSI_CYAN, cxx, ANSI_RESET))
sys.stdout.flush() sys.stdout.flush()
sp.check_call([cxx, '--version']) sp.check_call([cxx, '--version'])

View File

@@ -18,7 +18,7 @@ NTYPES_REPONAME=normativeTypesCPP
NTYPES_REPOOWNER=epics-base NTYPES_REPOOWNER=epics-base
# Sequencer # Sequencer
SNCSEQ_REPOURL=https://www-csr.bessy.de/control/SoftDist/sequencer/repo/branch-2-2.git SNCSEQ_REPOURL=https://github.com/mdavidsaver/sequencer-mirror.git
SNCSEQ_DEPTH=0 SNCSEQ_DEPTH=0
SNCSEQ_DIRNAME=seq SNCSEQ_DIRNAME=seq

View File

@@ -160,7 +160,7 @@ jobs:
name: "Win2022 MSC-22, static" name: "Win2022 MSC-22, static"
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
with: with:
submodules: true submodules: true
- name: Automatic core dumper analysis - name: Automatic core dumper analysis
@@ -216,7 +216,7 @@ jobs:
- RTEMS-pc386-qemu@4.10 - RTEMS-pc386-qemu@4.10
- RTEMS-pc686-qemu@5 - RTEMS-pc686-qemu@5
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Prepare and compile dependencies - name: Prepare and compile dependencies
run: python cue.py prepare run: python cue.py prepare
- name: Build main module - name: Build main module