Giter Site home page Giter Site logo

crawler's Introduction

Infra Backend Crawlers

These scripts generate machine readable tool installer metadata. You need Groovy 2.0 or later to run them. You can add new one by doing monkey-see monkey-do. Any one of these scripts are individually runnable, for example:

groovy -Dgrape.config=./grapeConfig.xml ./lib/runner.groovy mongodb.groovy

Signing Files

If you need to "only" sign the JSON files (after an update center certificate renewal for instance):

mkdir -p ./target/
rsync -av "${source}/*.json" ./target/
export JENKINS_SIGNER="-key path/to/uc-cert.key -certificate path/to/uc-cert.cert -root-certificate path/to/uc-root-ca.crt"
groovy -Dgrape.config=./grapeConfig.xml ./lib/runner.groovy ./lib/signer.groovy
# You can find the signed files in ./target/*.html

crawler's People

Contributors

15knots avatar abayer avatar adamdecaf avatar aheritier avatar basil avatar daniel-beck avatar dduportal avatar eroshenkoam avatar fcamblor avatar gssiyankai avatar halkeye avatar henryju avatar hrmohr avatar kiy0taka avatar kohsuke avatar larrys avatar lefou avatar lemeurherve avatar liozn avatar markewaite avatar mickael-caro-sonarsource avatar ndeloof avatar olblak avatar orrc avatar prospero238 avatar stevendick avatar timja avatar wolfg1969 avatar ydubreuil avatar zastai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

crawler's Issues

Not able to run the the selenium Test cases on chrome driver version121

Reproduction steps

Currently jenkins supports only 114 version (https://updates.jenkins.io/updates/org.jenkins-ci.plugins.chromedriver.ChromeDriver.json)

so latest version is not getting picked

Expected Results

It has to pick the latest version of chrome driver while executing .

https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json

Actual Results

https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json

Anything else?

No response

scriptler.groovy fails since 2022-03-12

Noticed in jenkins-infra/helpdesk#2950

Caught: java.io.FileNotFoundException: /home/jenkins/workspace/crawler/./jenkins-scripts/scriptler
java.io.FileNotFoundException: /home/jenkins/workspace/crawler/./jenkins-scripts/scriptler
at scriptler.run(scriptler.groovy:18)
at runner$_run_closure1.doCall(runner.groovy:13)
at runner.run(runner.groovy:10)

groovy.groovy fails

While working on jenkins-infra/helpdesk#2950 we noticed the script https://github.com/jenkins-infra/crawler/blob/master/groovy.groovy to retrieve last groovy versions fails with the following error, preventing it to be signed and updated on Update Center.

12:00:44 + export JENKINS_SIGNER=-key ****/update-center.key -certificate ****/update-center.cert -root-certificate ****/jenkins-update-center-root-ca.crt
12:00:44 + groovy -Dgrape.config=./grapeConfig.xml ./lib/runner.groovy groovy.groovy
12:02:22 loading dependencies...done
12:02:22 Caught: com.gargoylesoftware.htmlunit.ScriptException: ReferenceError: "fetch" is not defined. (https://groovy.jfrog.io/ui/externals/systemjs/dist/s.min.js#1)
12:02:22 ======= EXCEPTION START ========
12:02:22 EcmaError: lineNumber=[1] column=[0] lineSource=[] name=[ReferenceError] sourceName=[https://groovy.jfrog.io/ui/externals/systemjs/dist/s.min.js] message=[ReferenceError: "fetch" is not defined. (https://groovy.jfrog.io/ui/externals/systemjs/dist/s.min.js#1)]
12:02:22 com.gargoylesoftware.htmlunit.ScriptException: ReferenceError: "fetch" is not defined. (https://groovy.jfrog.io/ui/externals/systemjs/dist/s.min.js#1)
12:02:22 at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:883)

Ref: jenkins-infra/helpdesk#2950 (comment)

Fix the JDK crawler and get rid of the hack from INFRA-2345

Reproduction steps

Notice the use of a hack for the JDK crawler:

crawler/jdk.groovy

Lines 29 to 31 in 5b0906a

// HACK HACK HACK INFRA-2345
// Temporary bandaid to give up scraping and use a snapshot
return JSONObject.fromObject(new File("jdk.hack.json").text)

jdk.hack.json is a snapshot of the last successful run dated from November 2019.

Expected Results

No hack, JDK retrieved from Oracle website or other source of truth.

Actual Results

The returned JDK list dates from November 2019.

Anything else?

Source of the hack:

Add paging or sensible page size for GitHub release crawlers

Reproduction steps

  • Use a Jenkins plugin that utilizes tools and provides and "Install from GitHub" option
  • The tool has more than 30 released versions returned from GitHub API

  • execute crawler script locally that uses github API to list releases
  • if the github repo has more than 30 releases, only last 30 will be listed in the result

Expected Results

Seing all releases of the said tool.

Actual Results

Only maximum of 30 releases are shown for selection

Anything else?

After checking all crawlers, the following might be affected:

  • codeql.groovy
  • dependencycheck.groovy (seemingly aware of this issue, only one to mention the "per_page" parameter)
  • leiningen.groovy
  • sonarqubescannermsbuild.groovy (already submitted PR #137 )

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.