ARCHIVED PROJECT MIGRATED TO OUR GITLAB
Base docker image for Odoo 6.1, 7.0, 8.0,9.0 and 10.0 instances
This image has all de Odoo dependencies installed so you just have to configure the instance as you please
Base docker image for instances
License: GNU General Public License v2.0
Base docker image for Odoo 6.1, 7.0, 8.0,9.0 and 10.0 instances
This image has all de Odoo dependencies installed so you just have to configure the instance as you please
I've seen that in Odoo 10.0 a python module is needed
In this case is xlsxwriter
, see the bash log below to get it
2016-12-01 17:53:39,161 5621 INFO openerp_template odoo.modules.registry: module account_bank_statement_import: creating or updating database tables
2016-12-01 17:53:39,396 5621 INFO openerp_template odoo.modules.loading: loading account_bank_statement_import/account_bank_statement_import_view.xml
2016-12-01 17:53:39,446 5621 INFO openerp_template odoo.modules.loading: loading account_bank_statement_import/account_import_tip_data.xml
2016-12-01 17:53:39,448 5621 INFO openerp_template odoo.modules.loading: loading account_bank_statement_import/wizard/journal_creation.xml
2016-12-01 17:53:39,463 5621 INFO openerp_template odoo.modules.loading: loading account_bank_statement_import/demo/partner_bank.xml
2016-12-01 17:53:39,650 5621 INFO openerp_template odoo.modules.registry: module account_extension: creating or updating database tables
2016-12-01 17:53:39,686 5621 INFO openerp_template odoo.modules.loading: loading account_extension/views/account_report_menu_invisible.xml
2016-12-01 17:53:39,736 5621 INFO openerp_template odoo.models.unlink: User #1 deleted ir.model.data records with IDs: [8626, 8769, 8765, 8767, 8482, 8629, 8773, 8475, 8752, 8748, 8743, 8738]
2016-12-01 17:53:39,737 5621 INFO openerp_template odoo.models.unlink: User #1 deleted ir.ui.menu records with IDs: [153, 152, 137, 168, 169, 171, 172, 170, 173, 130, 173, 167, 166]
2016-12-01 17:53:39,749 5621 INFO openerp_template odoo.models.unlink: User #1 deleted ir.model.data records with IDs: [8634]
2016-12-01 17:53:39,754 5621 INFO openerp_template odoo.models.unlink: User #1 deleted ir.values records with IDs: [44]
2016-12-01 17:53:39,754 5621 INFO openerp_template odoo.models.unlink: User #1 deleted ir.actions.report.xml records with IDs: [214]
2016-12-01 17:53:39,777 5621 CRITICAL openerp_template odoo.modules.module: Couldn't load module account_reports
2016-12-01 17:53:39,777 5621 CRITICAL openerp_template odoo.modules.module: No module named xlsxwriter
2016-12-01 17:53:39,777 5621 ERROR openerp_template odoo.modules.registry: Failed to load registry
Traceback (most recent call last):
File "/home/travis/odoo-10.0/odoo/modules/registry.py", line 78, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/travis/odoo-10.0/odoo/modules/loading.py", line 337, in load_modules
loaded_modules, update_module)
File "/home/travis/odoo-10.0/odoo/modules/loading.py", line 235, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "/home/travis/odoo-10.0/odoo/modules/loading.py", line 122, in load_module_graph
load_openerp_module(package.name)
File "/home/travis/odoo-10.0/odoo/modules/module.py", line 367, in load_openerp_module
__import__('odoo.addons.' + module_name)
File "/home/travis/odoo-10.0/odoo/modules/module.py", line 81, in load_module
execfile(modfile, new_mod.__dict__)
File "/home/travis/enterprise/account_reports/__init__.py", line 4, in <module>
import models
File "/home/travis/enterprise/account_reports/models/__init__.py", line 4, in <module>
import account_report_context_common
File "/home/travis/enterprise/account_reports/models/account_report_context_common.py", line 5, in <module>
import xlsxwriter
ImportError: No module named xlsxwriter
Use vx-pylint-odoo and vx-confs to configure vim enabling checks.
I suggest that each Dockerfile to be built on Travis is done in different jobs through the use of the matrix feature of .travis.yml
. This way we can better determine which build failed and also the builds are done in parallel.
Currently if a command inside a script fails, the script continues and exits 0. The correct approch is to inmediately exit 1 so the docker build command can fail. We cannot allow that these failures occur silently.
This can be solve by adding the next package to the image
sudo apt-get install ghostscript graphviz
Note: reference how to isntall ps2pdf command here
We need install python3 in the big-image to test quickly t2d apps using tox with different versions of python.
My local fails because we don't have python-3.x
IMHO is a good idea install different version of python-3.x
FYI in my local container I have installed with the following gist
To valid that It's working fine you can run:
git clone [email protected]:PyCQA/pylint.git
cd pylint
tox -e py27,py33,py34,py35
Show print-screen in the pr, please
We need add a manual, new packages, use t2d parameters (--add-config
) use in order to create containers with the feature of sign the commit:
Hello,
wkhtmltopdf has moved the downloads provider from SourceForge to gna.org. As mentioned in the linked message, all earlier downloads have been removed from SourceForge and you are strongly advised to migrate to the new URLs. The following files in your repository will need to be updated:
It is recommended to either subscribe to the mailing list or Twitter feed to receive updates on new releases and further changes.
Thanks,
wkhtmltopdf maintainer
The odoo-80-image is failing because of this:
ERROR:
You are using pip>=8.1.2, which changed some internal data structures pip-tools
depends on. Support for this is scheduled for pip-tools>=1.7. Until then,
consider downgrading your pip:
$ pip install --upgrade pip==8.1.1
The command '/bin/sh -c bash /usr/share/vx-docker-internal/odoo80/build-image.sh' returned a non-zero code: 4
The command "cd ${TRAVIS_BUILD_DIR}/odoo80 && docker build --rm -t vauxoo/odoo-80-image:latest ." exited with 1.
Which is being caused by jazzband/pip-tools#358
The maintainer suggests that pip==8.1.1 should be installed.
It would be great that each container created by travisfile2dockerfile is installed git-hook
Odoo now show the following warning:
2016-05-16 20:20:44,659 141 WARNING openerp_test openerp.addons.base.res.res_lang: Unable to get information for locale fr_FR. Information from the default locale (en_US) have been used.
Because unittest run with fr_FR
If we applied next configuration:
http://askubuntu.com/questions/469143/how-to-enable-ssh-root-access-on-ubuntu-14-04
We will allow use ssh connection to runbot builds, and developer container...
Currently (after #104 gets merged) there's a routine that recursively discovers pip and oca dependencies that is written in bash, but that it would be shorter and less hackish if it was rewritten in python.
When ruining the container i will like that bash have the auto complete feature when i type a command name
Current Behavior
git check
then press the tab key. nothing happendExpected Behavior
git check
then press the tab key and the command line shouls show me git checkout
In some point there is a need to validate if a Dockerfile is correctly structured, well there is a package to do that, if Dockerfile files are going to be maintained here.
The following website indicate how to use it
https://www.npmjs.com/package/validate-dockerfile
targeting to docklint as the following (using it)
https://github.com/Runnable/validate-dockerfile/blob/master/bin/docklint
Let me know your comments
Currently a clone of a private repository will fail inside the build because it does not have the proper credentials to do it. This can be achieved by the use of Travis encrypted keys to store deployment tokens.
However, this will mean two things:
[Forwarded from internal list]
Hola, buenos días.
Revisando el Dockerfile de odoo-shippable encuentro que desactivamos la creación automática de los clusters y luego los creamos manualmente.
https://github.com/Vauxoo/docker-odoo-image/blob/master/odoo-shippable/Dockerfile#L34
En una primera suposición me imagino que esto es debido a algún problema con la localización que no se hacía correctamente y por eso hay que pasar -e utf-8 como parámetro a pg_createcluster.
A partír de acá hago las siguientes conclusiones.
La página de manual de pg_createcluster dice lo siguiente en cuanto a la descripción del parámetro -e:
Select the encoding of the template database. This will also be the default encoding of any database you create later, unless you override it there. The default is derived from the locale, or SQL_ASCII if that does not work. The character sets supported by the PostgreSQL server are described in the documentation. Note: It is not recommended to set this option directly! Set the locale instead.
Entonces al parecer el encoding se toma automáticamente de la configuración del locale.
Luego, inspeccionando el script de postinstalación propio de postgresql:
https://sources.debian.net/src/postgresql-9.5/9.5.2-1/debian/postgresql-9.5.postinst/#L10
https://sources.debian.net/src/postgresql-common/173/debian/maintscripts-functions/#L79
https://sources.debian.net/src/postgresql-common/173/debian/maintscripts-functions/#L54
Se puede observar que si la codificación del locale está bien configurada en /etc/default/locale, entonces el comando pg_createcluster lo toma de ahí.
Todo este análisis es para explicar que es seguro dejar que los clusters los genere el propio script de postinstalación del paquete postgresql, y por lo tanto simplificar el Dockerfile.
Saludos.
As you can see below there is a empty-fetched git repo but not used
...
&& mkdir -p ${REPO_REQUIREMENTS}/addons-vauxoo/ \
&& git init ${REPO_REQUIREMENTS}/addons-vauxoo/ \
&& git --git-dir=${REPO_REQUIREMENTS}/addons-vauxoo/.git remote add vauxoo https://github.com/vauxoo/addons-vauxoo.git \
&& git --git-dir=${REPO_REQUIREMENTS}/addons-vauxoo/.git fetch --all
...
and that generates the following:
root@7a8e6c34c7dd:/# ls -asl /.repo_requirements/addons-vauxoo/
total 12
4 drwxr-xr-x 5 root root 4096 Mar 22 20:49 .
4 drwxr-xr-x 11 root root 4096 Mar 22 20:49 ..
4 drwxr-xr-x 14 root root 4096 Mar 22 20:49 .git
root@7a8e6c34c7dd:/#
Is this directory used?
Hello,
Upon inspection at the odoo-80-image
i've found that the /tmp is not clean after finishing the image, resulting in an extra +660MB.
$ docker run -it vauxoo/odoo-80-image bash
root@e753f32b21ce:/# du -hs /*
6.3M /bin
4.0K /boot
0 /dev
3.8M /etc
4.0K /home
24M /lib
4.0K /lib64
4.0K /media
4.0K /mnt
4.0K /opt
0 /proc
7.3M /root
44K /run
6.8M /sbin
4.0K /srv
0 /sys
663M /tmp <<<<<<<<<
921M /usr
16M /var
I'll be making a PR soon.
These images need to have their purpose documented. Which software should be contained in them?
We have four layers of images:
ubuntu > docker-ubuntu-base > odoo-80-image > yoytec
or
ubuntu > docker-ubuntu-base > odoo-80-image > odoo-shippable
It seems to me that one of these images is unnecessary. Or docker-ubuntu-base or odoo-80-image. What do you think? @moylop260 @ruiztulio @nhomar
This issue should be resolved by providing a good README, and a few wiki pages explaining what software is included in each image and what's its purpose.
Hello
I'm analyzing this script:
https://github.com/Vauxoo/docker-odoo-image/blob/master/odoo-shippable/files/entrypoint_image#L61
And that line is giving the following error on Travis:
sed: can't read /root/*/openerp/cli/server.py: No such file or directory
Because the Odoo source is on /.repo_requirements and not on /root/
I'm wondering, is this script up to date? Is it still necessary?
Thanks in advance.
If you add
travis_wait travis_run_tests
in your script section of .travis.yml now it doesn't works.
Thanks @hbto
Currently we have 2 users: shippable and root.
root
user has all bash configured done.
shippable
user hasn't bash configured correctly. (bash colors don't work, GIT_STATUS=1...)
We need propagate the bash configuration to all users (not just hardcoded for root and shippable, if other user is created this one should use same bash scripts)
If #109 gets implemented, automated builds on the docker hub will need to be deprecated because a clone of a private repository will fail there. One solution to this problem could be to use Travis builds to push the images to hub.docker.com if they pass all tests (after #111 is done). This can be easily done by storing push credentials in the Travis encrypted tokens.
The last build of the image odoo-shippable show the following traceback:
Failed to build M2Crypto numexpr
Installing collected packages: docutils, wstools, defusedxml, SOAPpy, suds, pillow, qrcode, xmltodict, M2Crypto, recaptcha-client, egenix-mx-base, PyWebDAV, simplejson, mygengo, python-dateutil, pytz, numpy, pandas, numexpr, setuptools, logilab-common, astroid, pylint, pylint-plugin-utils, Pygments, restructuredtext-lint, pylint-odoo, PyYAML, argh, pathtools, watchdog, isort, docopt, coverage, requests, coveralls, line-profiler, enum34
Running setup.py install for M2Crypto: started
Running setup.py install for M2Crypto: finished with status 'error'
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-N2cPYH/M2Crypto/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-fBLcEe-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/m2xmlrpclib.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/util.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/Err.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/EVP.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/RSA.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/m2urllib.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/BN.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/Engine.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/X509.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/__init__.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/BIO.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/ASN1.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/Rand.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/EC.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/ftpslib.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/RC4.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/callback.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/m2urllib2.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/AuthCookie.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/threading.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/DSA.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/m2.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/DH.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/SMIME.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/httpslib.py -> build/lib.linux-x86_64-2.7/M2Crypto
creating build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Session.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Cipher.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Connection.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/TwistedProtocolWrapper.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/ssl_dispatcher.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/__init__.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Checker.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/cb.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/SSLServer.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Context.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/timeout.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
creating build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/PublicKey.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/packet.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/PublicKeyRing.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/RSA.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/__init__.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/constants.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
running build_ext
building 'M2Crypto.__m2crypto' extension
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
swig -python -D__x86_64__ -I/usr/include/python2.7 -I/usr/include -I/usr/include/x86_64-linux-gnu -includeall -modern -builtin -outdir build/lib.linux-x86_64-2.7/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
SWIG/_m2crypto.i:31: Error: Unable to find 'openssl/opensslv.h'
SWIG/_m2crypto.i:45: Error: Unable to find 'openssl/safestack.h'
SWIG/_evp.i:12: Error: Unable to find 'openssl/opensslconf.h'
SWIG/_ec.i:7: Error: Unable to find 'openssl/opensslconf.h'
error: command 'swig' failed with exit status 1
----------------------------------------
�[91mCommand "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-N2cPYH/M2Crypto/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-fBLcEe-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-N2cPYH/M2Crypto/
�[0m�[91mYou are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
�[0m1
�[91msed: can't read /root/.zshrc: No such file or directory
�[0mRemoving intermediate container 8ad54051881c
The command '/bin/sh -c apt-get remove -y git && apt-get update && apt-get install -y software-properties-common && add-apt-repository ppa:gi
@LuisAlejandro dice:
Hola, buenos días.
Estoy tratando de entender el propósito de este script de inicio custom que colocamos en odoo-shippable.
https://github.com/Vauxoo/docker-odoo-image/blob/master/odoo-shippable/files/etc_initd_postgresql
Según entiendo es para evitar que dos clusters de diferentes versiones de postgresql corran al mismo tiempo. Vi algunos ejemplos en donde la instalación de dos versiones de postgresql fallaba si las modificaciones de ese script no estaban presentes, lo que me hace entender su importancia.
https://travis-ci.org/zenitraM/test-travis/builds/113662868#L195
https://travis-ci.org/mgaitan/preciosa#L195
https://travis-ci.org/rochoa/test-travis/builds/113438047#L151
Sin embargo, desde el punto de vista de la imagen es una mala práctica sobreescribir un script que provee un paquete de esa manera, por lo que estoy tratando de buscar una alternativa para lograr el mismo efecto de una manera más limpia.
Si lo que se quiere es que solo se levante el cluster de una sola version cada vez que se hace "service postgresql restart", entonces eso se puede lograr editando el archivo:
/etc/postgresql/<version>/<cluster>/start.conf
De cada version-cluster, colocar "manual" en los version-cluster que no queremos arrancar automaticamente, y colocar "auto" en el que querramos que arranque automaticamente con el inicio/reiunicio del servicio.
¿Que les parece?
I have been using zsh (with oh-my-zsh!) for a while locally after use Fish (another one of its kind) and I think that using it inside a Docker container would be helpful in some cases. Oh-my-zsh! has plugins and themes that simplifies terminal look and feel and the use of some packages with auto-completion that its plugins provide.
Very few plugins inside oh-my-zsh!:
Use Locally:
Use internal (inside Docker container)
Here is a video demonstration of what is happening.
Some observations:
Rationale:
Currently the docker image used by Vauxoo's core processes is considerably heavy and has many unnecessary files that can be removed to improve download, test, and overall development times.
Objective:
Relevant file:
Related issues:
Work in progress:
--add-rcfile
parameters to copy from local host configuration files to containers, then create a proof of concept of use this parameter in order to create all containers with sync to online wakatimeI have a repo in git.vauxoo.com and it uses odoo-shippable image to execute the tests it was green until the image was updated, the checking the logs I realized that for some reason it was using odoo 8.0 instead of 9.0 (the few lasts lines):
And in the previous one (the is from yesterday):
We didn't change the tests nor the code because we're testing the CI system.
Compared with the one that was successfully tested:
Regards
Based on #112, each image should be tested for a common set of tasks:
The big image has /.repo_requirements/odoo
where a repository git with odoo/odoo project is cached.
But if you use:
cd /.repo_requirements/odoo && git checkout -b 8.0-odoo odoo/8.0
is not found it
But we can't download the full repositories because are bigger.
Could you check if there is a way to cache better this one?
Current Behavior
The current docker version is 1.9.x.
With 1.9.X version it is not available drop option in git rebase -i
Expected behavior
I would like the docker version is updated to 2.7.x
Because in git rebase -i it is available drop option.
Currently the bundle YouCompleteMe
is enabled by default.
But some users like as @luistorresm is not agree with that.
Then we need disable it by default:
sed -i "s/Bundle 'Valloric\/YouCompleteMe'/\" Bundle 'Valloric\/YouCompleteMe'/g" ~/.spf13-vim-3/.vimrc.bundles
And enabled from environment variable from ~/.vimrc.bundles.local
adding:
cat >> ~/.vimrc.bundles.local << EOF
" YouCompleteMe bundle {
if count(g:spf13_bundle_groups, 'youcompleteme') && $VIM_YOUCOMPLETEME=1
`Bundle 'Valloric/YouCompleteMe'` with a `if`
endif
" }
EOF
Notice: $VIM_YOUCOMPLETEME
this means that if the environment variable is enabled then enable the bundle too.
Note: I don't know how to get a environment variable value from .bundle
file but if is not posible then you could use a special file to use: filereadable(expand("~/vim_youcompleteme.enable"))
or something similar.
As discussed in #130, currently the /entrypoint_image script outputs the following error when being executed inside the build script of vauxoo/odoo-80-image-shippable-auto
:
sed: can't read /root/*/openerp/cli/server.py: No such file or directory
This is because the script expects the odoo codebase to be in /root
and not in /.repo_requirements
. The script should be adapted to run both on test and build environments.
git_fetch_pr() {
REMOTE=$1
shift 1
git fetch -p $REMOTE +refs/pull/*/head:refs/pull/$REMOTE/*
}
alias rgrep='rgrep -n'
And load source ~/container.profile
file if exists. (currently is not exists, but we can add it from t2d command)
The command multitail -cS log4j -f archivo.log
show a tail -f
colorized
But the name and parameters are even missed
alias tail2="multitail -cS log4j"
/etc/multitail.conf
the TEST
log cs_re_s:blue:^[^ ]* *[^,]*,[^ ]* *[0-9]* *(TEST) *[^ ]* [^ ]* *(.*)$
/etc/multitail.conf
the WARN
log (currently just exists WARNING
add similar entry for WARN
There is a really cool feature called diff-highlight
it is a PyPi package.
after installed it is just question of adding this small piece of setup code on the ~/.gitconfig
file
[pager]
log = diff-highlight | less
show = diff-highlight | less
diff = diff-highlight | less
this will result in a better console diff like this:
Rationale:
The docker image in which the shippable image bases, has room for improvements. Shrinking this image will also result in a smaller shippable image.
Objective:
Relevant file:
Related issues:
Work in progress:
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.