cloudef / buildhck Goto Github PK
View Code? Open in Web Editor NEWMicro build automation client/server framework
License: Other
Micro build automation client/server framework
License: Other
abi-dumper, abi-compliance-checker
This is something I'm willing on working on but hoping to get some input before I start hacking:
The project already depends on yaml. So why not, instead of having a python recipe file, load from yaml instead? So this:
# pylint: disable=C0103
'''buildhck recipe for buildhck'''
name = 'buildhck'
upstream = 'https://github.com/Cloudef/buildhck'
source = 'git+git://github.com/Cloudef/buildhck.git#branch=master'
build = ['python3 -m py_compile "$srcdir/buildhck.py"',
'python3 -m py_compile "$srcdir/client/client.py"']
test = ['python3 "$srcdir/test.py"']
analyze = ['pylint "$srcdir/buildhck.py" "$srcdir/client/client.py"']
analyze_re = '^W:'
Turns into something like:
---
buildhck:
upstream: https://github.com/Cloudef/buildhck
source: git+git://github.com/Cloudef/buildhck.git#branch=master
build:
- python3 -m py_compile "$srcdir/buildhck.py
- python3 -m py_compile "$srcdir/client/client.py
test: python3 "$srcdir/test.py
analyze: pylint "$srcdir/buildhck.py" "$srcdir/client/client.py"
analyze_re: ^W:
Some advantages:
This would make builds reproducible, whereas the current recipes depend on the system's packages.
The tests seems to fail at pylint phase.
Logs seems to indicate that it fails to find names from bottle module:
========================================================= FAILURES ==========================================================
____________________________________________________ [pylint] client.py _____________________________________________________
C: 1, 0: Missing module docstring (missing-docstring)
--------------------------------------------------- Captured stderr call ----------------------------------------------------
No config file found, using default configuration
______________________________________________________ [pylint] run.py ______________________________________________________
C: 20, 0: Exactly one space required after comma
config.config.update({k:v for k,v in vars(args).items() if v})
^ (bad-whitespace)
C: 1, 0: Missing module docstring (missing-docstring)
W: 4, 0: Uses of a deprecated module 'optparse' (deprecated-module)
E: 6, 0: No name 'run' in module 'bottle' (no-name-in-module)
W: 3, 0: Unused chdir imported from os (unused-import)
W: 3, 0: Unused path imported from os (unused-import)
W: 7, 0: Unused buildhck imported from buildhck (unused-import)
--------------------------------------------------- Captured stderr call ----------------------------------------------------
No config file found, using default configuration
_____________________________________________________ [pylint] setup.py _____________________________________________________
C: 1, 0: Missing module docstring (missing-docstring)
C: 6, 0: Missing class docstring (missing-docstring)
W: 18, 8: Unused variable 'errno' (unused-variable)
W: 9, 8: Attribute 'pytest_args' defined outside __init__ (attribute-defined-outside-init)
W: 13, 8: Attribute 'test_args' defined outside __init__ (attribute-defined-outside-init)
W: 14, 8: Attribute 'test_suite' defined outside __init__ (attribute-defined-outside-init)
C: 20, 0: Missing class docstring (missing-docstring)
W: 23, 8: Attribute 'pytest_args' defined outside __init__ (attribute-defined-outside-init)
--------------------------------------------------- Captured stderr call ----------------------------------------------------
No config file found, using default configuration
_______________________________________________ [pylint] buildhck/buildhck.py _______________________________________________
W:349, 0: FIXME: separate views (fixme)
W:541, 0: FIXME: use os.walk, silly pants (fixme)
C:526, 0: Exactly one space required after assignment
systempath =config.build_directory(project, branch, system)
^ (bad-whitespace)
E: 5, 0: No name 'BaseTemplate' in module 'bottle' (no-name-in-module)
E: 5, 0: No name 'template' in module 'bottle' (no-name-in-module)
E: 6, 0: No name 'static_file' in module 'bottle' (no-name-in-module)
E: 6, 0: No name 'response' in module 'bottle' (no-name-in-module)
E: 6, 0: No name 'request' in module 'bottle' (no-name-in-module)
E: 6, 0: No name 'redirect' in module 'bottle' (no-name-in-module)
E: 6, 0: No name 'route' in module 'bottle' (no-name-in-module)
E: 6, 0: No name 'abort' in module 'bottle' (no-name-in-module)
E: 15, 0: Module 'bottle' has no 'BaseRequest' member (no-member)
C: 35, 0: Missing function docstring (missing-docstring)
C: 38, 0: Invalid constant name "template" (invalid-name)
C:622, 0: Invalid constant name "application" (invalid-name)
E:622,14: Module 'bottle' has no 'default_app' member (no-member)
--------------------------------------------------- Captured stderr call ----------------------------------------------------
No config file found, using default configuration
________________________________________________ [pylint] buildhck/config.py ________________________________________________
C: 1, 0: Missing module docstring (missing-docstring)
C: 5, 0: Invalid constant name "config" (invalid-name)
C: 13, 0: Missing function docstring (missing-docstring)
C: 15,34: Invalid variable name "f" (invalid-name)
C: 22, 0: Missing function docstring (missing-docstring)
C: 24, 4: Invalid variable name "p" (invalid-name)
--------------------------------------------------- Captured stderr call ----------------------------------------------------
No config file found, using default configuration
____________________________________________ [pylint] buildhck/client/client.py _____________________________________________
W:310, 0: FIXME: hack (fixme)
C:314, 0: Exactly one space required after comma
config.config.update({k:v for k,v in vars(args).items() if v})
^ (bad-whitespace)
W:311, 4: Global variable 'STARTDIR' undefined at the module level (global-variable-undefined)
--------------------------------------------------- Captured stderr call ----------------------------------------------------
No config file found, using default configuration
_______________________________________ [pylint] buildhck/client/services/buildhck.py _______________________________________
W: 16, 0: FIXME: use urljoin (fixme)
--------------------------------------------------- Captured stderr call ----------------------------------------------------
No config file found, using default configuration
________________________________________________ [pylint] tests/conftest.py _________________________________________________
W: 16, 0: FIXME: terrible hacks (fixme)
W: 23, 0: Bad indentation. Found 11 spaces, expected 12 (bad-indentation)
C: 1, 0: Missing module docstring (missing-docstring)
E: 4, 0: No name 'Process' in module 'multiprocessing' (no-name-in-module)
E: 9, 0: No name 'run' in module 'bottle' (no-name-in-module)
C: 15, 0: Missing function docstring (missing-docstring)
C: 19, 4: Invalid variable name "p" (invalid-name)
C: 28, 4: Missing function docstring (missing-docstring)
W: 1, 0: Unused chdir imported from os (unused-import)
W: 1, 0: Unused path imported from os (unused-import)
W: 8, 0: Unused config imported from buildhck (unused-import)
W: 8, 0: Unused buildhck imported from buildhck (unused-import)
--------------------------------------------------- Captured stderr call ----------------------------------------------------
No config file found, using default configuration
______________________________________________ [pylint] tests/test_buildhck.py ______________________________________________
C: 1, 0: Missing module docstring (missing-docstring)
W: 54,26: Unused argument 'method' (unused-argument)
W: 54,20: Unused argument 'self' (unused-argument)
--------------------------------------------------- Captured stderr call ----------------------------------------------------
No config file found, using default configuration
_______________________________________________ [pylint] tests/test_index.py ________________________________________________
C: 1, 0: Missing module docstring (missing-docstring)
--------------------------------------------------- Captured stderr call ----------------------------------------------------
No config file found, using default configuration
__________________________________________________ [pylint] tests/util.py ___________________________________________________
W: 8, 0: FIXME: need to check return status (fixme)
C: 19, 0: Line too long (103/100) (line-too-long)
C: 34, 0: Line too long (107/100) (line-too-long)
C: 36, 0: Line too long (125/100) (line-too-long)
C: 45, 0: Line too long (128/100) (line-too-long)
C: 1, 0: Missing module docstring (missing-docstring)
W: 2, 0: Unused import random (unused-import)
--------------------------------------------------- Captured stderr call ----------------------------------------------------
No config file found, using default configuration
=========================================== 11 failed, 27 passed in 7.76 seconds ============================================
ERROR: InvocationError: '/mnt/storage/dev/projektit/buildhck/.tox/py34/bin/py.test --pylint'
__________________________________________________________ summary __________________________________________________________
ERROR: py34: commands failed
Pick one, so contributors/users know what they're getting into. Not having an explicit license is actually technically even more restrictive.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.