Closed taraspos closed 6 years ago
Yep, we are working on it :(
Isn't it possible to force fetching from the Maven central repo instead?
I have downloaded and install this way
wget https://github.com/allure-framework/allure2/releases/download/2.7.0/allure-2.7.0.tgz tar xzvf allure-2.7.0.tgz export PATH=/home/jenkins/allure-2.7.0/bin/:$PATH
But in jenkins when generate the allure report got this error
ERROR: Step ?Allure Report? aborted due to exception:
Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Docker-Frontend-ff3c1c731f46
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1741)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
at hudson.remoting.Channel.call(Channel.java:955)
at ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation.getMajorVersion(AllureCommandlineInstallation.java:58)
at ru.yandex.qatools.allure.jenkins.ReportBuilder.build(ReportBuilder.java:44)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.generateReport(AllureReportPublisher.java:294)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.perform(AllureReportPublisher.java:218)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:81)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
at hudson.model.Build$BuildExecution.post2(Build.java:186)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
at hudson.model.Run.execute(Run.java:1840)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
java.io.IOException: Can't find allure commandline
bintray download available now)
Still having this error when downloading from: https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0/allure-2.7.0.zip Should I be using this url instead? https://github.com/allure-framework/allure2/releases/download/2.7.0/allure-2.7.0.zip Is this a temporary fix?
Jenkins workaround
Maven workaround
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.8</version>
<configuration>
<allureDownloadUrl>https://github.com/allure-framework/allure2/releases/download/2.7.0/allure-2.7.0.zip</allureDownloadUrl>
</configuration>
</plugin>
Gradle workaround
allure {
autoconfigure = true
downloadLink = "https://github.com/allure-framework/allure2/releases/download/2.7.0/allure-2.7.0.zip"
}
@eroshenkoam Should I still use reportVersion>2.7.0</reportVersion with maven workaround? If I do then I get 403, i.e. tries to find from bintray and not from github even if I configure allure.download.url as github url. If I don't configure reportVersion then report generation result is "Generate Allure report (report) with version 2.0.1", so old version and not 2.7.0? Below is my setup:
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.9</version>
<configuration>
<allure.download.url>https://github.com/allure-framework/allure2/releases/download/2.7.0/allure-2.7.0.zip</allure.download.url>
<resultsDirectory>allure-results</resultsDirectory>
</configuration>
</plugin>
@eroshenkoam still reproduces for bintray :(
despite the setting, it try go to bintray. What am I doing wrong ? and bintray still 403
@hks225 you need to delete default installer From Maven Central
@eroshenkoam for maven - works only if
<allureDownloadUrl>https://github.com/allure-framework/allure2/releases/download/2.7.0/allure-2.7.0.zip</allureDownloadUrl>
not
<allure.download.url>https://github.com/allure-framework/allure2/releases/download/2.7.0/allure-2.7.0.zip</allure.download.url>
I'd recommend to use pattern instead direct link:
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.9</version>
<configuration>
<reportVersion>2.7.0</reportVersion>
<allureDownloadUrl>https://github.com/allure-framework/allure2/releases/download/%s/allure-%s.zip</allureDownloadUrl>
</configuration>
</plugin>
@sidelnikovmike I tried your solution but it still doesn't work for me, tried calling bintray anyway. I am on allure 2.6.0 and using artifact allure-testng
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.6.0</version>
<configuration>
<allureDownloadUrl>https://github.com/allure-framework/allure2/releases/download/2.6.0/allure-2.6.0.zip</allureDownloadUrl>
</configuration>
</plugin>
@martynawojna look on artifact Id allure-testng
-> allure-maven
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.8</version>
<configuration>
<allureDownloadUrl>https://github.com/allure-framework/allure2/releases/download/2.7.0/allure-2.7.0.zip</allureDownloadUrl>
</configuration>
</plugin>
Cannot get this working. With this setup report is generated but with old 2.0.1 version, from where this default version 2.0.1 comes from? If I add reportVersion tag then generating report is stucked (never ends). Please comment!
[INFO] --- allure-maven:2.9:report (default-cli) @ muse_inkr --- [INFO] Allure installation directory /Users/heikmjar/vagrant/tds_git/integrations/muse_inkr/.allure [INFO] Try to finding out allure 2.0.1 [INFO] Generate Allure report (report) with version 2.0.1 [INFO] Generate Allure report to /Users/heikmjar/vagrant/tds_git/integrations/muse_inkr/target/site/allure-maven-plugin [INFO] Found results directory /Users/heikmjar/vagrant/tds_git/integrations/muse_inkr/target/allure-results [INFO] Can't find information about categories. [INFO] Generate report to /Users/heikmjar/vagrant/tds_git/integrations/muse_inkr/target/site/allure-maven-plugin Report successfully generated to /Users/heikmjar/vagrant/tds_git/integrations/muse_inkr/target/site/allure-maven-plugin [INFO] Report generated successfully.
@jaheikki make sure you have configuration like in my comment https://github.com/allure-framework/allure2/issues/832#issuecomment-417274040
1) latest allure-maven version (2.9
at the moment)
2) reportVersion
specified (2.7.0
)
3) allureDownloadUrl
specified with pattern https://github.com/allure-framework/allure2/releases/download/%s/allure-%s.zip
@baev I copied your example as such to my (parent) pom.xml, but report get's never generated, last line printed is "Proxy is not specified"? Which mechanism should fill the pattern (%s) fields?
Jaris-MacBook-Pro-2:LoadTool heikmjar$ mvn allure:report [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for fi.tietoallas.integration.load:loadtool:jar:1.3.9 [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.apache.spark:spark-hive_${scala.binary.version}:jar -> version ${spark.version} vs (?) @ line 112, column 21 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building copytool 1.3.9 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- allure-maven:2.9:report (default-cli) @ loadtool --- [INFO] Allure installation directory /Users/heikmjar/vagrant/tds_git/integrations/LoadTool/.allure [INFO] Try to finding out allure 2.7.0 [INFO] Downloading allure commandline... [INFO] Proxy is not specified.
@jaheikki Proxy is not specified
is regular log message. An example log of successful report generation:
[INFO] Generating "Allure" report --- allure-maven:2.9
[INFO] Allure installation directory /Users/charlie/projects/allure-testng-example/.allure
[INFO] Try to finding out allure 2.7.0
[INFO] Downloading allure commandline...
[INFO] Proxy is not specified.
[INFO] Downloading allure commandline complete
[INFO] Generate Allure report (aggregate) with version 2.7.0
[INFO] Generate Allure report to /Users/charlie/projects/allure-testng-example/target/site/allure-maven-plugin
[INFO] Found results directory /Users/charlie/projects/allure-testng-example/target/allure-results
[INFO] Can't find information about categories.
[INFO] Generate report to /Users/charlie/projects/allure-testng-example/target/site/allure-maven-plugin
Report successfully generated to /Users/charlie/projects/allure-testng-example/target/site/allure-maven-plugin
[INFO] Report generated successfully.
@baev yes I know the successful report output. We have used Allure2 during months successfully, but this bintray issue caused us a blocker, so all builds failed, so need to take Allure reporting out from 40 builds, because the Maven workaround just not work for me. Just wondering why the allure commandline is downloaded online and it's not imported as a Maven dependency etc. This is highly "not wanted" feature having this kind of online dependency to bintray or github allowing builds fail without any change in the software project itself...
@jaheikki You may do workaround - put folder with allure cli into tests folder in .allure. Or download this zip to your mirror and use it in your build allure report step.
Of course, this is not good that allure download client, but now it works as it works. But your tests architecture should not depends on such issue. Maybe better to have allure configuration in one place so in case of such errors you could fix it fast.
Thanks for the hint @eroshenkoam ! I've tried your solution but my jenkins build is still downloading from bintray. I am using allure-testng
dependency:
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.7.0</version>
</dependency>
and the plugin is fixed according to your comment:
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.8</version>
<configuration>
<allureDownloadUrl>https://github.com/allure-framework/allure2/releases/download/2.7.0/allure-2.7.0.zip</allureDownloadUrl>
</configuration>
</plugin>
You may do workaround - put folder with allure cli into tests folder in .allure. Or download this zip to your mirror and use it in your build allure report step.
Of course, this is not good that allure download client, but now it works as it works. But your tests architecture should not depends on such issue. Maybe better to have allure configuration in one place so in case of such errors you could fix it fast.
Allure Maven plugin caches command line to project root to .allure
folder. So you can simply commit the folder to make it work offline
The reason Allure Maven plugin downloads zip distribution instead of using maven dependency is that we want to have same protocol for every integration. So you can generate the report in the same way no matter are you using Maven/Gradle/Command line directly or Jenkins/TeamCity/Bamboo.
At the moment the main problem is that some integrations are not using cache for downloaded tool (for example thats how Jenkins works, it downloads tools to agent directly from bintray instead of master node)
The second problem is that bintray was the single place where allure command line was stored. So in order to restore allure distributions to other place we have to manually rebuild few latest releases and store them to Github releases page.
And finally there are definitely a documentation lack for such cases (how to configure the integrations to download command line from different url)
So the resolution is:
1) We will store Allure Command line in Github Releases as well as in bintray 2) We will improve caching mechanisms for Jenkins and other integrations 3) We will update the docs with detailed instruction how to make builds that uses Allure failure tolerant
Bintray is alive 👍
fixed by now
`brew upgrade allure ==> Upgrading 1 outdated package, with result: allure 2.6.0 -> 2.7.0 ==> Upgrading allure ==> Downloading https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0/allure-2.7.0.zip
curl: (22) The requested URL returned error: 403 Forbidden Error: An exception occured within a child process: DownloadError: Failed to download resource "allure" Download failed: https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0/allure-2.7.0.zip` Still get error when I try to upgrade it with Brew this morning
We are experiencing issues with our Bintray account once again. Our team working on the problem at the moment, but I'd recommend for everyone switch from Bintray to Github releases:
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.9</version>
<configuration>
<reportVersion>2.7.0</reportVersion>
<allureDownloadUrl>https://github.com/allure-framework/allure2/releases/download/%s/allure-%s.zip</allureDownloadUrl>
</configuration>
</plugin>
allure {
version = '2.7.0'
downloadLink = 'https://github.com/allure-framework/allure2/releases/download/2.7.0/allure-2.7.0.zip'
}
http://your.jenkkins.host/configureTools
),Allure Commandline
sectionAdd installer
, select Extract from zip archive
, https://github.com/allure-framework/allure2/releases/download/2.7.0/allure-2.7.0.zip
urlScoop has been updated to use GitHub releases for Windows users.
I think the issue is back again: Server returned HTTP response code: 403 for URL: https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.6.0/allure-2.6.0.zip
Maven workaround never worked for me.
@baev I followed workaround you mentioned above and now I am using "Extract *.zip" with the link to Github, but new issues appear. Jenkins job cannot find allure binary now and it says "java.io.IOException: Can't find allure commandline
Do I need to set up the path manually? If so where does the Jenkins download and extract the plugin archive?
Hi, since bintray problem is back I tried to solve the issue by copying allure-2.7.0.zip to our own artifactory. Therefore I put our artifactory url to allure-maven plugin parameter "allureDownloadUrl". However the download failed with 401 (Unauthorized). Of course our artifactory needs authentication (username&password) so I tried to put the credentials to URL, but no success (still 401). I have verified that I am using correct url. Question: Should this kind of url with credentials work with allure-maven "allureDownloadUrl" ?: https://username:password@artifactory_url/binaries/allure/allure-2.7.0.zip
Error message I got: [ERROR] Failed to execute goal io.qameta.allure:allure-maven:2.9:report (default-cli) on project hus-ci-tests: An error has occurred in Allure report generation. Could not generate the report: Can't install allure: Server returned HTTP response code: 401 for URL
@baev is there any reason behind publishing this binary in bintray/GitHub instead of using an artifact repository? I'm asking because GitHub rate limiting will be probably hit at some point as well.
instead of using an artifact repository
what repository do you have in mind?
Since the binary is a zip file, can't this be downloaded from say, Maven central?
Still 401 problem with allure-maven plugin, credentials inside HTTPS url will not work as "allureDownloadUrl". I'm having JFrog artifactory in our company NW. I'm able to download the zip from JFrog e.g. with Chrome (incognito mode) having HTTPS url with credentials, so the problem must reside in allure-maven plugin. Who could comment on this?
we successfully moved to Maven Central https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.8.0/
During next week we are going to update integrations to use new location of command line
Regarding old releases, following docs: https://github.com/allure-framework/allure-docs/blob/c965dea22177f9b55594b77d167fddaecc9b1de6/docs/reporting/commandline.adoc#windows-and-other-unix
* (older releases, <= 2.8.0) Download the desired version as zip archive from link:https://bintray.com/qameta/generic/allure2[bintray].
However, it is Forbidden, check the link: https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.4.1/allure-2.4.1.zip
@alrf It's was unavailable few minutes ago, but it fixed now.
Can't install with
brew install allure
Same result trying download zip via Browser