GithubHelp home page GithubHelp logo

cucumber-ltd / cucumber-pro-plugin-jvm Goto Github PK

View Code? Open in Web Editor NEW
0.0 5.0 0.0 334 KB

Cucumber plugin for Cucumber Pro

Home Page: https://app.cucumber.pro/projects/cucumber-pro-plugin-jvm

License: MIT License

Java 99.26% Gherkin 0.48% Shell 0.26%

cucumber-pro-plugin-jvm's Introduction

Jam Plugin for Cucumber-JVM

CircleCI

The documentation is here

Release process

Artifacts are signed with GPG. Before you release, verify that you have GPG configured properly:

# The GPG key is in 1Password
gpg --use-agent --local-user [email protected] -ab README.md

If that works, remove the generated README.md.asc. You're ready to release:

Update the version number

  • Update pom.xml to [desired version]-SNAPSHOT. (It usually has the right number unless you're making a major or minor release).
  • Update the version number in src/test/resources/io/cucumber/pro/README.md.
  • Update CHANGELOG.md.
    • Remove any empty sections for the released version.
    • Update diff links at the bottom of the file.
  • Commit everything.
  • Update Jam docs
mvn release:clean
mvn --batch-mode -P release-sign-artifacts release:prepare
mvn --batch-mode -P release-sign-artifacts release:perform

Log in to https://oss.sonatype.org/, close and release the project.

cucumber-pro-plugin-jvm's People

Contributors

aslakhellesoy avatar tooky avatar mattwynne avatar

Watchers

 avatar James Cloos avatar Seb Rose avatar Theo avatar Zeeshan avatar

cucumber-pro-plugin-jvm's Issues

Add docs for how to get/set `CUCUMBER_PRO_GIT_HOST_KEY` correctly

CUCUMBER_PRO_GIT_HOST_KEY requires the public host key from the server.

e.g. you can find it by running:

ssh-keyscan git.cucumber.pro

# git.cucumber.pro:22 SSH-2.0-OpenSSH_7.5
# git.cucumber.pro:22 SSH-2.0-OpenSSH_7.5
git.cucumber.pro ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC117MiDcxhiTG+G1oG9aOduoQmxzm0Ll6um7ZgWXYuQ8fkDPKWkZdhwqH7GFZjhHf7fncX8+jRDH6vsnccsSGKKsckgLRMHhv7HDJTN33uDoXOB2qmxuaFASesscbycxee1SL4ctdLbfuCEOF1BnByUygXYLgxcpug9Jik7rzCrars1+c87BsGS6AeUi9LYLhQxWAsmY0bSpCYScTF6tHFZji+Kc628g47rLsbYjTvEUdyclOwzeCFw7mjuXZw2KYcCbXSrS10cdjWvat5KkUmOMRFz8dneo7Jphj/pHT1WY/kgzhrGSmC1V3rjyD7+wVQVFlfejXouzELJWAVLehinK/krPXCsfnYVZLd9GCIrthzkYXff7DEXfCMeE9bk+dRIX28xqcYp7QO8i1BY3LArJQ6mleBGmnaUd6qz0MYhdDoJOuHOXFrcOejkDME+5vekznHTDK5lT0EaJGMroZW8Tg1EaA8osfuYRIZ/eKDvQ07Y3FLKSkKtofkWIe2sQnr75tLnvC9A9V48P2P6Bi7GqZqU01sX+hpZONM8YzNhtkqD3tLqCt/zcu9zwcotj5iaukYuDkc6IwRf2P13YtR7OPZHzIgw4mPB2lmJN6VpuXAmmvwfRx3hK6uSDD9sUqahArQTd/sJHvbb6ghczkNLpGOgSEjKIJoDooWcE/Bhw==
# git.cucumber.pro:22 SSH-2.0-OpenSSH_7.5

The CUCUMBER_PRO_GIT_HOST_KEY should be set to:

AAAAB3NzaC1yc2EAAAADAQABAAACAQC117MiDcxhiTG+G1oG9aOduoQmxzm0Ll6um7ZgWXYuQ8fkDPKWkZdhwqH7GFZjhHf7fncX8+jRDH6vsnccsSGKKsckgLRMHhv7HDJTN33uDoXOB2qmxuaFASesscbycxee1SL4ctdLbfuCEOF1BnByUygXYLgxcpug9Jik7rzCrars1+c87BsGS6AeUi9LYLhQxWAsmY0bSpCYScTF6tHFZji+Kc628g47rLsbYjTvEUdyclOwzeCFw7mjuXZw2KYcCbXSrS10cdjWvat5KkUmOMRFz8dneo7Jphj/pHT1WY/kgzhrGSmC1V3rjyD7+wVQVFlfejXouzELJWAVLehinK/krPXCsfnYVZLd9GCIrthzkYXff7DEXfCMeE9bk+dRIX28xqcYp7QO8i1BY3LArJQ6mleBGmnaUd6qz0MYhdDoJOuHOXFrcOejkDME+5vekznHTDK5lT0EaJGMroZW8Tg1EaA8osfuYRIZ/eKDvQ07Y3FLKSkKtofkWIe2sQnr75tLnvC9A9V48P2P6Bi7GqZqU01sX+hpZONM8YzNhtkqD3tLqCt/zcu9zwcotj5iaukYuDkc6IwRf2P13YtR7OPZHzIgw4mPB2lmJN6VpuXAmmvwfRx3hK6uSDD9sUqahArQTd/sJHvbb6ghczkNLpGOgSEjKIJoDooWcE/Bhw==

Bake the dependency (and runner config) into Cucumber-JVM

User feedback we're getting shows that the current three-step process (add to pom, annotate runner(s), create config file) is creating friction when on-boarding new users.

We'd like to ease this by shipping future versions of Cucumber-JVM with the plugin dependency, and having the plugin auto-loaded if it looks like Cucumber is running in a CI environment.

Would it be possible to load the plugin automatically?

In the installation instructions, we tell the user to add the an entry to their pom then we tell them to add the RunWith annotation.

Is there any way we could avoid that second step by having Cucumber detect that the plugin is there in the pom?

Don't fail when server misbehaves

The formatter currently ignores connection errors by default.

if (config.getBoolean(Keys.CUCUMBERPRO_CONNECTION_IGNOREERROR)) {
logger.log(Logger.Level.WARN, "Failed to publish results to %s\n", url);
} else {
throw logger.log(e, String.format("Failed to publish results to %s\nYou can set %s to true to treat this as a warning instead of an error", url, Keys.CUCUMBERPRO_CONNECTION_IGNOREERROR));
}

However, 5xx status or unparseable JSON responses will always result in an exception:


We should add a ignoreerror top level config option to ignore those errors (and log instead).

Improve results plugin installation documentation

From @mattwynne:

I have a puzzle about this feedback[1] from a user testing session installing the cucumber-jvm results plugin, around where we put the installation instructions for the test results plugin.

On the one hand, it makes sense to keep the documentation near to the plugin, so we remember to keep it up to date as the plugin changes. (The docs in pro were out of date in at least two ways that I spotted). The plugin’s docs might also want to be more comprehensive than a “getting started” guide which needs to be as brief as possible and not offer too many options.

On the other hand, displaying the instructions within a component in Pro helps the user to not get lost in lots of browser tabs, and also allows us to put things like project names and tokens into the instructions dynamically.

I think I’m erring towards us having a “quick start” guide built into pro, and then having comprehensive docs that we link to. The one snag with this in my mind is how we’d keep the version number up to date in the pom.xml snippet - it seems like something that would be so easy to forget when you do a release, and indeed it was out of date as we used it today.

What are your thoughts? Can you see a fancy way we could get the latest plugin version into Cucumber Pro so it was always correct? Or should we just make it part of a manual checklist when doing a release to go and update the “quick start” instructions in Pro? Or something else I haven’t thought of yet?

Possible problem with a run with zero features?

We had a user who was trying to reproduce another problem we had with large sets of features, and she "commented out most of her feature files" so that there would be less of them.

What I saw when she showed me her subsequent results bar on pro was that there were JSON errors in some of her profile runs:

image

I didn't get a support bundle, but it would be worth trying to reproduce this and see if there's something different we need to do with the JSON when there's a run with zero scenarios in it.

Prefix environment variable lookup with `bamboo_` on Bamboo

Bamboo allows users/admins to define environment variables.

We're not currently clear on how to instruct people to set them, and how to access them.

  • Should they be defined as system.CUCUMBER_PRO_LOG_LEVEL or just CUCUMBER_PRO_LOG_LEVEL?
  • Should we access it as bamboo.CUCUMBER_PRO_LOG_LEVEL or bamboo_CUCUMBER_PRO_LOG_LEVEL or something else?

We probably need to set up an instance to play around with this, because the Bamboo docs are confusing.

Instructive error message when plugin needs to be added to runner class

A user just tried to set this up on a project, and had the following experience:

I’m working with Craig Kaminski to set up Cucumber Pro for our new Healthcare Estimator (HCE) service. I updated the cucumber inner source dependency, and updated the Cuke Runner files but am getting a build error “Couldn't load plugin class: io.cucumber.pro.JsonReporter”.

Is there another plugin that I am missing?

I'm not 100% sure how things fit together, but is it possible for us to give a more helpful error message here that instructs them to add the extra plugin to their runner?

environment variables not backwards compatible in 2.x

I just upgraded to 2.1.0 with a client and we got an error that it was trying to hit app.cucumber.pro. We set CUCUMBERPRO_URL and it worked again.

The changelog says that the old ones will be supported, but it looks like that's not the case.

Just FYI in case anyone else hits this same problem.

Allow configuration of GIT SSH port

Some appliances run with Git SSH on a non-standard port e.g. 2222 (this is actually the default configuration for the appliance if users don't move to port 22).

CucumberException thrown from plugin

------------------------------------------------------- 
04-Dec-2017 10:12:00   T E S T S 
04-Dec-2017 10:12:00  ------------------------------------------------------- 
04-Dec-2017 10:12:00  Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 
04-Dec-2017 10:12:02  Running com.vanguard.shared.advice.cucumber.RunIntegrationCukeTest 
04-Dec-2017 10:12:03  Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 1.075 sec <<< FAILURE! - in com.vanguard.shared.advice.cucumber.RunIntegrationCukeTest 
04-Dec-2017 10:12:03  com.vanguard.shared.advice.cucumber.RunIntegrationCukeTest  Time elapsed: 1.074 sec  <<< ERROR! 
04-Dec-2017 10:12:03  cucumber.runtime.CucumberException: java.lang.IllegalArgumentException: One of setGitDir or setWorkTree must be called. 
04-Dec-2017 10:12:03          at cucumber.runtime.formatter.PluginFactory.instantiate(PluginFactory.java:114) 
04-Dec-2017 10:12:03          at cucumber.runtime.formatter.PluginFactory.create(PluginFactory.java:87) 
04-Dec-2017 10:12:03          at cucumber.runtime.RuntimeOptions.getPlugins(RuntimeOptions.java:241) 
04-Dec-2017 10:12:03          at cucumber.runtime.RuntimeOptions$1.invoke(RuntimeOptions.java:287) 
04-Dec-2017 10:12:03          at com.sun.proxy.$Proxy17.uri(Unknown Source) 
04-Dec-2017 10:12:03          at cucumber.runtime.junit.JUnitReporter.uri(JUnitReporter.java:160) 
04-Dec-2017 10:12:03          at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:68) 
04-Dec-2017 10:12:03          at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) 
04-Dec-2017 10:12:03          at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) 
04-Dec-2017 10:12:03          at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
04-Dec-2017 10:12:03          at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
04-Dec-2017 10:12:03          at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
04-Dec-2017 10:12:03          at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
04-Dec-2017 10:12:03          at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
04-Dec-2017 10:12:03          at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
04-Dec-2017 10:12:03          at cucumber.api.junit.Cucumber.run(Cucumber.java:98) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) 
04-Dec-2017 10:12:03  Caused by: java.lang.IllegalArgumentException: One of setGitDir or setWorkTree must be called. 
04-Dec-2017 10:12:03          at org.eclipse.jgit.lib.BaseRepositoryBuilder.requireGitDirOrWorkTree(BaseRepositoryBuilder.java:590) 
04-Dec-2017 10:12:03          at org.eclipse.jgit.lib.BaseRepositoryBuilder.setup(BaseRepositoryBuilder.java:555) 
04-Dec-2017 10:12:03          at org.eclipse.jgit.storage.file.FileRepositoryBuilder.build(FileRepositoryBuilder.java:92) 
04-Dec-2017 10:12:03          at io.cucumber.pro.revision.jgit.JGitRevisionProvider.<init>(JGitRevisionProvider.java:26) 
04-Dec-2017 10:12:03          at io.cucumber.pro.revision.jgit.JGitRevisionProvider.<init>(JGitRevisionProvider.java:16) 
04-Dec-2017 10:12:03          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
04-Dec-2017 10:12:03          at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
04-Dec-2017 10:12:03          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
04-Dec-2017 10:12:03          at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
04-Dec-2017 10:12:03          at java.lang.Class.newInstance(Class.java:442) 
04-Dec-2017 10:12:03          at io.cucumber.pro.revision.RevisionProviderFactory.create(RevisionProviderFactory.java:15) 
04-Dec-2017 10:12:03          at io.cucumber.pro.results.ResultsPublisherFactory.create(ResultsPublisherFactory.java:23) 
04-Dec-2017 10:12:03          at io.cucumber.pro.JsonReporter12.<init>(JsonReporter12.java:44) 
04-Dec-2017 10:12:03          at io.cucumber.pro.JsonReporter12.<init>(JsonReporter12.java:54) 
04-Dec-2017 10:12:03          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
04-Dec-2017 10:12:03          at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
04-Dec-2017 10:12:03          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
04-Dec-2017 10:12:03          at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
04-Dec-2017 10:12:03          at cucumber.runtime.formatter.PluginFactory.instantiate(PluginFactory.java:107) 
04-Dec-2017 10:12:03          at cucumber.runtime.formatter.PluginFactory.create(PluginFactory.java:87) 
04-Dec-2017 10:12:03          at cucumber.runtime.RuntimeOptions.getPlugins(RuntimeOptions.java:241) 
04-Dec-2017 10:12:03          at cucumber.runtime.RuntimeOptions$1.invoke(RuntimeOptions.java:287) 
04-Dec-2017 10:12:03          at com.sun.proxy.$Proxy17.uri(Unknown Source) 
04-Dec-2017 10:12:03          at cucumber.runtime.junit.JUnitReporter.uri(JUnitReporter.java:160) 
04-Dec-2017 10:12:03          at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:68) 
04-Dec-2017 10:12:03          at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) 
04-Dec-2017 10:12:03          at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) 
04-Dec-2017 10:12:03          at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
04-Dec-2017 10:12:03          at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
04-Dec-2017 10:12:03          at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
04-Dec-2017 10:12:03          at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
04-Dec-2017 10:12:03          at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
04-Dec-2017 10:12:03          at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
04-Dec-2017 10:12:03          at cucumber.api.junit.Cucumber.run(Cucumber.java:98) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) 
04-Dec-2017 10:12:03   
04-Dec-2017 10:12:03  com.vanguard.shared.advice.cucumber.RunIntegrationCukeTest  Time elapsed: 1.075 sec  <<< ERROR! 
04-Dec-2017 10:12:03  cucumber.runtime.CucumberException: Only one formatter can use STDOUT, now both pretty and pretty use it. If you use more than one formatter you must specify output path with PLUGIN:PATH_OR_URL 
04-Dec-2017 10:12:03          at cucumber.runtime.formatter.PluginFactory.defaultOutOrFailIfAlreadyUsed(PluginFactory.java:185) 
04-Dec-2017 10:12:03          at cucumber.runtime.formatter.PluginFactory.convertOrNull(PluginFactory.java:144) 
04-Dec-2017 10:12:03          at cucumber.runtime.formatter.PluginFactory.instantiate(PluginFactory.java:99) 
04-Dec-2017 10:12:03          at cucumber.runtime.formatter.PluginFactory.create(PluginFactory.java:87) 
04-Dec-2017 10:12:03          at cucumber.runtime.RuntimeOptions.getPlugins(RuntimeOptions.java:241) 
04-Dec-2017 10:12:03          at cucumber.runtime.RuntimeOptions$1.invoke(RuntimeOptions.java:287) 
04-Dec-2017 10:12:03          at com.sun.proxy.$Proxy17.done(Unknown Source) 
04-Dec-2017 10:12:03          at cucumber.runtime.junit.JUnitReporter.done(JUnitReporter.java:208) 
04-Dec-2017 10:12:03          at cucumber.api.junit.Cucumber.run(Cucumber.java:99) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) 
04-Dec-2017 10:12:03          at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128) 
04-Dec-2017 10:12:03   
04-Dec-2017 10:12:03   
04-Dec-2017 10:12:03  Results : 
04-Dec-2017 10:12:03   
04-Dec-2017 10:12:03  Tests in error:  
04-Dec-2017 10:12:03    RunIntegrationCukeTest.com.vanguard.shared.advice.cucumber.RunIntegrationCukeTest ª Cucumber 
04-Dec-2017 10:12:03    JUnit4Provider.invoke:128->executeTestSet:153->executeWithRerun:173->execute:283 ª Cucumber 
04-Dec-2017 10:12:03   
04-Dec-2017 10:12:03  Tests run: 2, Failures: 0, Errors: 2, Skipped: 0 
04-Dec-2017 10:12:03   
04-Dec-2017 10:12:03  [INFO] ------------------------------------------------------------------------ 
04-Dec-2017 10:12:03  [INFO] BUILD FAILURE 
04-Dec-2017 10:12:03  [INFO] ------------------------------------------------------------------------ 
04-Dec-2017 10:12:03  [INFO] Total time: 14.733 s 
04-Dec-2017 10:12:03  [INFO] Finished at: 2017-12-04T10:12:03-05:00 
04-Dec-2017 10:12:03  [INFO] Final Memory: 73M/1237M 
04-Dec-2017 10:12:03  [INFO] ------------------------------------------------------------------------ 
04-Dec-2017 10:12:03  [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (integration-cuke-tests) on project model-child-exemplar.webservice: There are test failures. 
04-Dec-2017 10:12:03  [ERROR]  
04-Dec-2017 10:12:03  [ERROR] Please refer to /opt/vgi/cto/bamboo/agents/bamboo-agent-6/xml-data/build-dir/ESSMCE-WEBSERVICE8-INTEGRATIONTEST/target/surefire-reports for the individual test results. 
04-Dec-2017 10:12:03  [ERROR] -> [Help 1] 
04-Dec-2017 10:12:03  [ERROR]  
04-Dec-2017 10:12:03  [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
04-Dec-2017 10:12:03  [ERROR] Re-run Maven using the -X switch to enable full debug logging. 
04-Dec-2017 10:12:03  [ERROR]  
04-Dec-2017 10:12:03  [ERROR] For more information about the errors and possible solutions, please read the following articles: 
04-Dec-2017 10:12:03  [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 
04-Dec-2017 10:12:03  Failing task since return code of [/opt/vgi/maven/apache-maven-3.2.5/bin/mvn prepare-package -DskipJasmineTests -U -Psanity-check,integration-tests -Djersey.config.test.container.port=59218 -DfailIfNoTests=false -Djava.io.tmpdir=/opt/vgi/cto/bamboo/tmp -s /opt/vgi/maven/apache-maven-3.2.5/conf/settings.xml -DJava_Home=/opt/vgi/java/jdk1.8.0_current] was 1 while expected 0 
04-Dec-2017 10:12:03  Finished task 'Runs tests categorized as integration tests' with result: Failed 
04-Dec-2017 10:12:03  Running post build plugin 'NCover Results Collector' 
04-Dec-2017 10:12:03  Running post build plugin 'Clover Results Collector' 
04-Dec-2017 10:12:03  Running post build plugin 'Docker Container Cleanup' 
04-Dec-2017 10:12:03  Running post build plugin 'npm Cache Cleanup' 
04-Dec-2017 10:12:03  Running post build plugin 'Artifact Copier' 
04-Dec-2017 10:12:03  Publishing an artifact: SurefireIntegrationTests 
04-Dec-2017 10:12:03  Finished publishing of artifact Shared artifact: [SurefireIntegrationTests], pattern: [target/surefire-reports/*integration*] anchored at: [.] in 15.05 ms 
04-Dec-2017 10:12:03  Publishing an artifact: Classes 
04-Dec-2017 10:12:03  Finished publishing of artifact Shared artifact: [Classes], pattern: [target/classes/**] anchored at: [.] in 44.57 ms 
04-Dec-2017 10:12:03  Publishing an artifact: CucumberIntegrationTests 
04-Dec-2017 10:12:03  Finished publishing of artifact Shared artifact: [CucumberIntegrationTests], pattern: [target/cucumber-reports/integration/**] anchored at: [.] in 9.427 ms 
04-Dec-2017 10:12:03  Publishing an artifact: JacocoIntegrationTests 
04-Dec-2017 10:12:03  Finished publishing of artifact Shared artifact: [JacocoIntegrationTests], pattern: [target/jacoco-it.exec] anchored at: [.] in 9.769 ms 
04-Dec-2017 10:12:04  Successfully removed working directory at '/opt/vgi/cto/bamboo/agents/bamboo-agent-6/xml-data/build-dir/ESSMCE-WEBSERVICE8-INTEGRATIONTEST' 
04-Dec-2017 10:12:04  Finalising the build... 
04-Dec-2017 10:12:04  Stopping timer. 
04-Dec-2017 10:12:04  Build ESSMCE-WEBSERVICE8-INTEGRATIONTEST-5 completed. 
04-Dec-2017 10:12:04  Running on server: post build plugin 'Build Hanging Detection Configuration' 
04-Dec-2017 10:12:04  Running on server: post build plugin 'Clover Delta Calculator' 
04-Dec-2017 10:12:04  Running on server: post build plugin 'Maven Dependencies Postprocessor' 
04-Dec-2017 10:12:04  All post build plugins have finished 
04-Dec-2017 10:12:04  Generating build results summary... 
04-Dec-2017 10:12:04  Saving build results to disk... 
04-Dec-2017 10:12:04  Logging substituted variables... 
04-Dec-2017 10:12:04  Indexing build results... 
04-Dec-2017 10:12:04  Finished building ESSMCE-WEBSERVICE8-INTEGRATIONTEST-5. 

@tooky can you confirm what plugin version this is for?

Push tags

Looks like it only pushes branches for now...

Be resilient if the connection to pro fails

If there's a problem connecting to pro, we need to decide what to do.

  1. make sure we log something useful to stderr so you can see what's going on.
  2. depending on the user's preference, we should either fail or not fail the build. I suggest we default to failing the build, but we allow a configuration to make it tolerant of connection issues.

Allow first CPro push to come from plugin

When I was setting up the plugin for Shouty on circle I hadn't pushed any docs to CPro. I was expecting the git publisher in the plugin to allow this.

It didn't fail the build, but this output from Git was in the build output:

error: Could not read 6b747f2d8eb3e3072afb692a6e48e57328976a08
fatal: Failed to traverse parents of commit eb681ff9b5a58a40eb9427170a22c04432ea5051
error: Could not read 6b747f2d8eb3e3072afb692a6e48e57328976a08
fatal: Failed to traverse parents of commit eb681ff9b5a58a40eb9427170a22c04432ea5051

Published documentation to Cucumber Pro: [email protected]:shouty.java.git

I think it may be related to the bare repo, and how circle clones the repo from Github.

Rename `CUCUMBER_PRO_URL` to `CUCUMBER_PRO_BASE_URL`

I see there's been a great deal of work done in here to build the URL for the user and minimise the amount of configuration they need to do. Great effort!

I'd still like to keep the option open to allow users to specify the whole URL. We don't need to implement it yet, but if we can rename CUCUMBER_PRO_URL to CUCUMBER_PRO_BASE_URL that will keep that option open.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.