Skip to main content

Command-line alternative for https://github.com/jenkinsci/warnings-plugin. Useable with plugin-less CI systems.

Project description

Apache2 License Build status Code Coverage Code Climate Status Issue Count Requirements Status Contributions welcome

Command line warnings-plugin

Command-line alternative for https://github.com/jenkinsci/warnings-plugin. Useable with plugin-less CI systems. It can be used with GitLab-CI to enable warning threshold setting for failing the job and for parsing warnings from various tools and report them as errors.

Installation

Every release is uploaded to pip so it can be installed simply by using pip.

# Python2
pip2 install mlx.warnings

# Python3
pip3 install mlx.warnings

You can find more details in Installation guide

Usage

Warnings plugin parses log messages as well as direct command stream. In case you want to create log file, you will need to redirect your stderr to some text file. You can do that with shell pipes or with command line arguments to command (if it supports outputting errors to file instead of stderr). Be aware that some commands print warnings on stdout.

Also warnings plugin log files need to be the last argument as otherwise the arguments after that are discarded, because they are considered as command arguments (with or without command flag).

Pipe example

Below is one of the ways to redirect your stderr to stdout and save it inside file.

yourcommand 2>&1 | tee doc_log.txt

Command example

Below is the command example for the plugin (keep in mind that parse commands are required).

mlx-warnings --command <yourcommand>

Running command

There are few ways to run warnings plugin. If you are playing with Python on your computer you want to use virtualenv. This will separate your packages per project and there is less chance of some dependency hell. You can initialize virtual environment in current directory by virtualenv . .

Melexis Warnings plugin can be called directly from shell/console using:

mlx-warnings -h

It has also possibility to be called as module from Python2 or Python3. In that case command will look like:

python -m mlx.warnings -h
python3 -m mlx.warnings -h

Help prints all currently supported commands and their usages.

The command returns (shell $? variable):

  • value 0 when the number of counted warnings is within the supplied minimum and maximum limits: ok,

  • number of counted warnings (positive) when the counter number is not within those limit.

Parse for Sphinx warnings

After you saved your Sphinx warnings to the file, you can parse it with command:

# command line log file
mlx-warnings doc_log.txt --sphinx
# command line command execution
mlx-warnings --command --sphinx <commandforsphinx>

# explicitly as python module for log file
python3 -m mlx.warnings --sphinx doc_log.txt
python -m mlx.warnings --sphinx doc_log.txt
# explicitly as python module
python3 -m mlx.warnings --command --sphinx <commandforsphinx>
python -m mlx.warnings --command --sphinx <commandforsphinx>

Parse for Doxygen warnings

After you saved your Doxygen warnings to the file, you can parse it with command:

# command line log file
mlx-warnings doc_log.txt --doxygen
# command line command execution
mlx-warnings --command --doxygen <commandfordoxygen>

# explicitly as python module for log file
python3 -m mlx.warnings --doxygen doc_log.txt
python -m mlx.warnings --doxygen doc_log.txt
# explicitly as python module
python3 -m mlx.warnings --command --doxygen <commandfordoxygen>
python -m mlx.warnings --command --doxygen <commandfordoxygen>

Parse for JUnit failures

After you saved your JUnit XML output to the file, you can parse it with command:

# command line log file
mlx-warnings junit_output.xml --junit
# command line command execution
mlx-warnings --command --junit <commandforjunit>

# explicitly as python module for log file
python3 -m mlx.warnings --junit junit_output.xml
python -m mlx.warnings --junit junit_output.xml
# explicitly as python module
python3 -m mlx.warnings --command --junit <commandforjunit>
python -m mlx.warnings --command --junit <commandforjunit>

Other options

Since plugin is under active development there are new Features added fast. Important options currently include setting maximum number of warnings or minimum number of warnings, that are still acceptable to return 0 (success) return code. Look at scripts help, for more details about the options.

Issues and new Features

In case you have any problems with usage of the plugin, please open an issue on GitHub. Provide as many valid information as possible, as this will help us to resolve Issues faster. We would also like to hear your suggestions about new features which would help your Continuous Integration run better.

Contribute

There is a Contribution guide available if you would like to get involved in development of the plugin. We encourage anyone to contribute to our repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mlx.warnings-0.1.2.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mlx.warnings-0.1.2-py2.py3-none-any.whl (11.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file mlx.warnings-0.1.2.tar.gz.

File metadata

  • Download URL: mlx.warnings-0.1.2.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mlx.warnings-0.1.2.tar.gz
Algorithm Hash digest
SHA256 61c32b5034515263dcc9f377426746fd360386ee7b725b4cf08e9961797ac79c
MD5 c728eaa6fad8ba472ca8c7c27e83004e
BLAKE2b-256 a76cfd4ebab506e8bfb141028ee937b56405c77b482fa82fe8723cb921062789

See more details on using hashes here.

File details

Details for the file mlx.warnings-0.1.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for mlx.warnings-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d62e169dc32720e7dd4d23b19716f8d6b9dc34add63f7d06181e38331d36e006
MD5 e9562db67bc4f711e0ce55c2fbc21573
BLAKE2b-256 b53a6e6076c2f519ea0bd815f091b1763496c2902d9ddc5d84e069703efe324a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page