All Projects → buildkite-plugins → junit-annotate-buildkite-plugin

buildkite-plugins / junit-annotate-buildkite-plugin

Licence: MIT License
📈 Summarise your test failures as a build annotation

Programming Languages

ruby
36898 projects - #4 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to junit-annotate-buildkite-plugin

flyway-junit5-extensions
Flyway JUnit 5 Extension to clean / migrate your database in tests.
Stars: ✭ 14 (-22.22%)
Mutual labels:  tests, junit
ecr-buildkite-plugin
🔐 Login to an AWS ECR registry
Stars: ✭ 24 (+33.33%)
Mutual labels:  buildkite, buildkite-plugin
docker-buildkite-plugin
🐳📦 Run any build step in a Docker container
Stars: ✭ 90 (+400%)
Mutual labels:  buildkite, buildkite-plugin
artifacts-buildkite-plugin
🆙 Automatically upload and download artifacts
Stars: ✭ 26 (+44.44%)
Mutual labels:  buildkite, buildkite-plugin
docker-compose-buildkite-plugin
🐳⚡️ Run build scripts, and build + push images, w/ Docker Compose
Stars: ✭ 137 (+661.11%)
Mutual labels:  buildkite, buildkite-plugin
k8s-buildkite-plugin
Run any buildkite build step as a Kubernetes Job
Stars: ✭ 37 (+105.56%)
Mutual labels:  buildkite, buildkite-plugin
knapsack pro-ruby
Knapsack Pro gem splits tests across parallel CI nodes and makes sure that tests will run in optimal time on each node.
Stars: ✭ 101 (+461.11%)
Mutual labels:  buildkite
companion
This repository has been archived, currently maintained version is at https://github.com/iii-companion/companion
Stars: ✭ 21 (+16.67%)
Mutual labels:  annotation
AndroidTestingBox
Android project to experiment various testing tools
Stars: ✭ 63 (+250%)
Mutual labels:  junit
texthighlighter
a no dependency typescript npm package for highlighting user selected text
Stars: ✭ 17 (-5.56%)
Mutual labels:  annotation
AT-browser-tests
HTML tests for various uses, including HTML5accessibility.com and JAWS tests
Stars: ✭ 74 (+311.11%)
Mutual labels:  tests
bksr
Run and test your Buildkite pipeline steps locally, just as they'd run in CI (discontinued)
Stars: ✭ 22 (+22.22%)
Mutual labels:  buildkite
metadatamanagement
Metadatamanagement (MDM) - Data Search for Higher Education Research and Science Studies
Stars: ✭ 21 (+16.67%)
Mutual labels:  junit
doccano-client
A simple client wrapper for doccano API.
Stars: ✭ 52 (+188.89%)
Mutual labels:  annotation
whats-new-in-java
Overview of features that were introduced in Java 8-13.
Stars: ✭ 29 (+61.11%)
Mutual labels:  tests
OOP-Design-Patterns
MET CS665 - OOP Design Patterns Code Examples
Stars: ✭ 74 (+311.11%)
Mutual labels:  junit
page-content-tester
Paco is a Java based framework for non-blocking and highly parallelized Dom testing.
Stars: ✭ 13 (-27.78%)
Mutual labels:  junit
loci
Testing remote CI scripts locally
Stars: ✭ 25 (+38.89%)
Mutual labels:  tests
PinFloyd
MapKit annotations clustering for iOS
Stars: ✭ 29 (+61.11%)
Mutual labels:  annotation
acl2020-interactive-entity-linking
No description or website provided.
Stars: ✭ 26 (+44.44%)
Mutual labels:  annotation

JUnit Annotate Buildkite Plugin Build status

A Buildkite plugin that parses junit.xml artifacts (generated across any number of parallel steps) and creates a build annotation listing the individual tests that failed.

Example

The following pipeline will run test.sh jobs in parallel, and then process all the resulting JUnit XML files to create a summary build annotation.

steps:
  - command: test.sh
    parallelism: 50
    artifact_paths: tmp/junit-*.xml
  - wait: ~
    continue_on_failure: true
  - plugins:
      - junit-annotate#v2.0.2:
          artifacts: tmp/junit-*.xml

Configuration

artifacts (required)

The artifact glob path to find the JUnit XML files.

Example: tmp/junit-*.xml

job-uuid-file-pattern (optional)

Default: -(.*).xml

The regular expression (with capture group) that matches the job UUID in the junit file names. This is used to create the job links in the annotation.

To use this, configure your test reporter to embed the $BUILDKITE_JOB_ID environment variable into your junit file names. For example "junit-buildkite-job-$BUILDKITE_JOB_ID.xml".

failure-format (optional)

Default: classname

This setting controls the format of your failed test in the main annotation summary.

There are two options for this:

  • classname
    • displays: MyClass::UnderTest text of the failed expectation in path.to.my_class.under_test
  • file
    • displays: MyClass::UnderTest text of the failed expectation in path/to/my_class/under_test.file_ext

fail-build-on-error (optional)

Default: false

If this setting is true and any errors are found in the JUnit XML files during parsing, the annotation step will exit with a non-zero value, which should cause the build to fail.

context (optional)

Default: junit

The buildkite annotation context to use. Useful to differentiate multiple runs of this plugin in a single pipeline.

report-slowest (optional)

Default: 0

Include the specified number of slowest tests in the annotation. The annotation will always be shown.

Developing

To test the plugin hooks (in Bash) and the junit parser (in Ruby):

docker-compose run --rm plugin &&
docker-compose run --rm ruby

To test the Ruby parser locally:

cd ruby
rake

To test your plugin in your builds prior to opening a pull request, you can refer to your fork and SHA from a branch in your pipeline.yml.

steps:
  - label: Annotate
    plugins:
      - YourGithubHandle/junit-annotate#v2.0.2:
          ...

License

MIT (see LICENSE)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].