Skip to content

Conversation

migueldiascosta
Copy link
Member

is there a reason not to do this? Anything that doesn't pass these checks at this point will make the tests fail later...

I suppose one could allow overriding with -f, if there is some corner case where one would have a reason to submit/update a PR that doesn't pass the tests (yet)

@migueldiascosta
Copy link
Member Author

this will make at least test_new_pr fail precisely because it uses easyconfigs that don't pass the contrib style checks (which means those can actually be used to test this enchancement :) )

I will work on the tests if people agree this is a good thing

@migueldiascosta migueldiascosta changed the title run contrib style checks when using new/update/preview_pr run contrib style checks when using new/update/preview_pr (WIP) Aug 29, 2019
@migueldiascosta
Copy link
Member Author

migueldiascosta commented Aug 30, 2019

I guess one problem with this is that it requires pycodestyle or pep8, but while I understand that it is an optional dependency for using eb in general, it would make sense (?) to make it a requirement for using github integration, especially --new-pr and --update-pr (it already requires keyring, git/GitPython, etc....)

@boegel
Copy link
Member

boegel commented Sep 1, 2020

close/re-open to get updated CI results

@boegel boegel closed this Sep 1, 2020
@boegel boegel reopened this Sep 1, 2020
@boegelbot
Copy link

@migueldiascosta: Tests failed in GitHub Actions, see https://github.com/easybuilders/easybuild-framework/actions/runs/235038416
Last 100 lines of output from first failing test suite run:

== 2020-09-01 21:30:12,101 easyconfig.py:182 DEBUG setting config option sanity_check_paths: value {'files': [('bin/yot', 'bin/toy')], 'dirs': ['bin']} (type: <type 'dict'>)
== 2020-09-01 21:30:12,101 easyconfig.py:182 DEBUG setting config option homepage: value https://easybuilders.github.io/easybuild (type: <type 'str'>)
== 2020-09-01 21:30:12,101 easyconfig.py:643 INFO setting easyconfig parameter checksums: value [['be662daa971a640e40be5c804d9d7d10', '44332000aa33b99ad1e00cbd1a7da769220d74647060a10e807b916d73ea27bc', ('adler32', '0x998410035'), ('crc32', '0x1553842328'), ('md5', 'be662daa971a640e40be5c804d9d7d10'), ('sha1', 'f618096c52244539d0e89867405f573fdb0b55b0'), ('size', 273)]] (type: <type 'list'>)
== 2020-09-01 21:30:12,101 easyconfig.py:643 INFO setting easyconfig parameter description: value Toy C program, 100% toy. (type: <type 'str'>)
== 2020-09-01 21:30:12,101 easyconfig.py:643 INFO setting easyconfig parameter homepage: value https://easybuilders.github.io/easybuild (type: <type 'str'>)
== 2020-09-01 21:30:12,101 easyconfig.py:643 INFO setting easyconfig parameter moduleclass: value tools (type: <type 'str'>)
== 2020-09-01 21:30:12,101 easyconfig.py:643 INFO setting easyconfig parameter name: value toy (type: <type 'str'>)
== 2020-09-01 21:30:12,101 easyconfig.py:643 INFO setting easyconfig parameter patches: value ['toy-0.0_fix-silly-typo-in-printf-statement.patch', ('toy-extra.txt', 'toy-0.0')] (type: <type 'list'>)
== 2020-09-01 21:30:12,101 easyconfig.py:643 INFO setting easyconfig parameter postinstallcmds: value ['echo TOY > %(installdir)s/README'] (type: <type 'list'>)
== 2020-09-01 21:30:12,102 easyconfig.py:643 INFO setting easyconfig parameter sanity_check_paths: value {'files': [('bin/yot', 'bin/toy')], 'dirs': ['bin']} (type: <type 'dict'>)
== 2020-09-01 21:30:12,102 easyconfig.py:643 INFO setting easyconfig parameter sources: value ['%(name)s-%(version)s.tar.gz'] (type: <type 'list'>)
== 2020-09-01 21:30:12,102 easyconfig.py:643 INFO setting easyconfig parameter toolchain: value {'version': 'system', 'name': 'system'} (type: <type 'dict'>)
== 2020-09-01 21:30:12,102 easyconfig.py:643 INFO setting easyconfig parameter version: value 0.0 (type: <type 'str'>)
== 2020-09-01 21:30:12,102 easyconfig.py:704 INFO Parsing dependency specifications...
== 2020-09-01 21:30:12,102 easyconfig.py:1600 INFO Generating template values...
== 2020-09-01 21:30:12,102 templates.py:163 DEBUG config: <easybuild.framework.easyconfig.easyconfig.EasyConfig object at 0x7f93a56cb110>
== 2020-09-01 21:30:12,102 templates.py:190 DEBUG version found in easyconfig is 0.0
== 2020-09-01 21:30:12,102 templates.py:275 DEBUG name: bitbucket_account, config: %(namelower)s
== 2020-09-01 21:30:12,102 templates.py:275 DEBUG name: github_account, config: %(namelower)s
== 2020-09-01 21:30:12,103 templates.py:275 DEBUG name: name, config: toy
== 2020-09-01 21:30:12,103 templates.py:275 DEBUG name: parallel, config: None
== 2020-09-01 21:30:12,103 templates.py:275 DEBUG name: version, config: 0.0
== 2020-09-01 21:30:12,103 templates.py:275 DEBUG name: versionsuffix, config: 
== 2020-09-01 21:30:12,103 templates.py:275 DEBUG name: versionprefix, config: 
== 2020-09-01 21:30:12,103 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.categorized_hmns
== 2020-09-01 21:30:12,103 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.categorized_mns
== 2020-09-01 21:30:12,104 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.easybuild_mns
== 2020-09-01 21:30:12,104 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.hierarchical_mns
== 2020-09-01 21:30:12,104 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.migrate_from_eb_to_hmns
== 2020-09-01 21:30:12,104 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.mns
== 2020-09-01 21:30:12,104 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.toolchain
== 2020-09-01 21:30:12,104 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.utilities
== 2020-09-01 21:30:12,104 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.categorized_hmns
== 2020-09-01 21:30:12,104 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.categorized_mns
== 2020-09-01 21:30:12,104 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.easybuild_mns
== 2020-09-01 21:30:12,105 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.hierarchical_mns
== 2020-09-01 21:30:12,105 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.migrate_from_eb_to_hmns
== 2020-09-01 21:30:12,105 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.mns
== 2020-09-01 21:30:12,105 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.toolchain
== 2020-09-01 21:30:12,105 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.utilities
== 2020-09-01 21:30:12,105 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.categorized_hmns
== 2020-09-01 21:30:12,105 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.categorized_mns
== 2020-09-01 21:30:12,105 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.easybuild_mns
== 2020-09-01 21:30:12,105 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.hierarchical_mns
== 2020-09-01 21:30:12,106 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.migrate_from_eb_to_hmns
== 2020-09-01 21:30:12,106 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.mns
== 2020-09-01 21:30:12,106 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.toolchain
== 2020-09-01 21:30:12,106 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.utilities
== 2020-09-01 21:30:12,106 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.broken_module_naming_scheme
== 2020-09-01 21:30:12,106 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.test_module_naming_scheme
== 2020-09-01 21:30:12,106 utilities.py:143 DEBUG importing module easybuild.tools.module_naming_scheme.test_module_naming_scheme_more
== 2020-09-01 21:30:12,106 easyconfig.py:2433 DEBUG List of available module naming schemes: ['BrokenModuleNamingScheme', 'HierarchicalMNS', 'CategorizedHMNS', 'TestModuleNamingScheme', 'TestModuleNamingSchemeMore', 'AnotherTestIncludedMNS', 'EasyBuildMNS', 'MigrateFromEBToHMNS', 'CategorizedModuleNamingScheme']
== 2020-09-01 21:30:12,107 utilities.py:101 DEBUG Skipping importing of toolchain modules, processing of toolchain constants is already done.
== 2020-09-01 21:30:12,107 systemtools.py:268 DEBUG Determined CPU architecture: x86_64
== 2020-09-01 21:30:12,107 systemtools.py:268 DEBUG Determined CPU architecture: x86_64
== 2020-09-01 21:30:12,107 systemtools.py:304 DEBUG Determined CPU vendor on Linux as being 'Intel' via regex 'vendor_id\s+:\s*(\S+)' in /proc/cpuinfo
== 2020-09-01 21:30:12,108 systemtools.py:330 DEBUG Using vendor as CPU family: Intel
== 2020-09-01 21:30:12,108 utilities.py:140 DEBUG Obtained new toolchain instance for ('system', 'system'): {'full_mod_name': None, 'versionsuffix': '', 'version': 'system', 'toolchain': {'version': '', 'name': 'system'}, 'name': 'system', 'short_mod_name': None, 'hidden': False, 'parsed': True, 'system': True}
== 2020-09-01 21:30:12,108 options.py:63 DEBUG Using toolchain options {'precise': (False, 'High precision'), 'verbose': (False, 'Verbose output'), 'rpath': (True, 'Use RPATH wrappers when --rpath is enabled in EasyBuild configuration'), 'pic': (False, 'Use PIC'), 'static': (False, 'Build static library'), 'optarch': (True, 'Enable architecture optimizations'), 'ieee': (False, 'Adhere to IEEE-754 rules'), 'vectorize': (None, 'Enable compiler auto-vectorization, default except for noopt and lowopt'), 'veryloose': (False, 'Very loose precision'), 'strict': (False, 'Strict (highest) precision'), 'unroll': (False, 'Unroll loops'), 'lowopt': (False, 'Low compiler optimizations'), 'shared': (False, 'Build shared library'), 'opt': (False, 'High compiler optimizations'), 'i8': (False, 'Integers are 8 byte integers'), 'loose': (False, 'Loose precision'), 'cstd': (None, 'Specify C standard'), 'defaultprec': (False, 'Default precision'), 'openmp': (False, 'Enable OpenMP'), 'noopt': (False, 'Disable compiler optimizations'), 'packed-linker-options': (False, 'Pack the linker options as comma separated list'), 'r8': (False, 'Real is 8 byte real'), 'cciscxx': (False, 'Use CC as CXX'), '32bit': (False, 'Compile 32bit target'), 'debug': (False, 'Enable debug'), 'defaultopt': (False, 'Default compiler optimizations')}
== 2020-09-01 21:30:12,108 easyconfig.py:1126 DEBUG Initialized toolchain: {'full_mod_name': None, 'versionsuffix': '', 'version': 'system', 'toolchain': {'version': '', 'name': 'system'}, 'name': 'system', 'short_mod_name': None, 'hidden': False, 'parsed': True, 'system': True} (opts: None)
== 2020-09-01 21:30:12,108 templates.py:163 DEBUG config: <easybuild.framework.easyconfig.easyconfig.EasyConfig object at 0x7f93a56cb110>
== 2020-09-01 21:30:12,108 templates.py:190 DEBUG version found in easyconfig is 0.0
== 2020-09-01 21:30:12,109 templates.py:275 DEBUG name: bitbucket_account, config: %(namelower)s
== 2020-09-01 21:30:12,109 templates.py:275 DEBUG name: github_account, config: %(namelower)s
== 2020-09-01 21:30:12,109 templates.py:275 DEBUG name: name, config: toy
== 2020-09-01 21:30:12,109 templates.py:275 DEBUG name: parallel, config: None
== 2020-09-01 21:30:12,109 templates.py:275 DEBUG name: version, config: 0.0
== 2020-09-01 21:30:12,109 templates.py:275 DEBUG name: versionsuffix, config: 
== 2020-09-01 21:30:12,109 templates.py:275 DEBUG name: versionprefix, config: 
== 2020-09-01 21:30:12,109 easyconfig.py:1619 INFO Template values: arch='x86_64', bitbucket_account='toy', github_account='toy', name='toy', nameletter='t', nameletterlower='t', namelower='toy', toolchain_name='system', toolchain_version='system', version='0.0', version_major='0', version_major_minor='0.0', version_minor='0', versionprefix='', versionsuffix=''
== 2020-09-01 21:30:12,109 easyconfig.py:2520 DEBUG Determining full module name for <easybuild.framework.easyconfig.easyconfig.EasyConfig object at 0x7f93a56cb110> (force_visible: False)
== 2020-09-01 21:30:12,110 easyconfig.py:2497 DEBUG No alternative software name specified to determine module name with
== 2020-09-01 21:30:12,110 utilities.py:102 DEBUG Module name toy/0.0 validated
== 2020-09-01 21:30:12,110 easyconfig.py:2528 DEBUG Obtained valid full module name toy/0.0
== 2020-09-01 21:30:12,110 easyconfig.py:2549 DEBUG Determining short module name for <easybuild.framework.easyconfig.easyconfig.EasyConfig object at 0x7f93a56cb110> (force_visible: False)
== 2020-09-01 21:30:12,110 easyconfig.py:2497 DEBUG No alternative software name specified to determine module name with
== 2020-09-01 21:30:12,110 utilities.py:102 DEBUG Module name toy/0.0 validated
== 2020-09-01 21:30:12,110 easyconfig.py:2551 DEBUG Obtained valid short module name toy/0.0
== 2020-09-01 21:30:12,110 mns.py:169 DEBUG Checking whether 'toy/0.0' is a module name for software with name 'toy' via regex ^toy(/\S+)?$: True
== 2020-09-01 21:30:12,110 easyconfig.py:2561 DEBUG Determining module subdir for <easybuild.framework.easyconfig.easyconfig.EasyConfig object at 0x7f93a56cb110>
== 2020-09-01 21:30:12,110 easyconfig.py:2563 DEBUG Obtained subdir 
== 2020-09-01 21:30:12,111 easyconfig.py:1062 DEBUG Dependencies BEFORE filtering: []
== 2020-09-01 21:30:12,111 easyconfig.py:1065 DEBUG Dependencies AFTER filtering: []


======================================================================
FAIL: test_toy_toy (test.framework.toy_build.ToyBuildTest)
Test building two easyconfigs in a single go, with one depending on the other.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/framework/toy_build.py", line 1905, in test_toy_toy
    self.assertTrue(os.path.exists(mod1) or os.path.exists('%s.lua' % mod1))
AssertionError: False is not true

----------------------------------------------------------------------
Ran 730 tests in 543.638s

FAILED (failures=38, errors=70)
ERROR: Not all tests were successful.

bleep, bloop, I'm just a bot (boegelbot v20200716.01)
Please talk to my owner @boegel if you notice you me acting stupid),
or submit a pull request to https://github.com/boegel/boegelbot fix the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants