Giter VIP home page Giter VIP logo

filtering's People

Contributors

abelsiqueira avatar fdiblen avatar jspaaks avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

filtering's Issues

Sort after filtering

If the number of resulting repos is too large, sorting may be necessary. This is a multicriteria problem, so we need to handle it with care, instead of simply piping sorting functions.

Criteria:

  • Number of stars
  • Number of contributors
  • Number of updates to CITATION.cff (#10)

Write the text of the pull request

Maybe things to include are:

  • who is making the issue / where we are coming from?
  • what to do next?
  • what if they don't feel like following up / accepting our suggestion?
  • where can they leave feedback?
  • include notification/mention of other team members. How can we get a clean list of notifications, only the ones that have something to do with these PRs/issues? (Maybe by including @nlescgt?)

Might be that certain repos prefer that issues are created in a certain way, using certain formats. (How) do we try to stick to those rules?

PRs for RSD repos checklist

add package.json

add a simple package.json to install the dependencies. Currently the only dependency is octokit.

decide on language

  • some of the filters would need to talk to the github API, so probably something from this list: https://docs.github.com/en/rest/overview/libraries would be convenient
  • Python is probably convenient for combining with cffconvert validator
  • node would be good (but maybe not necesssary per se) if we want to run this in a scheduled GitHub Action workflow, for example if we're interested in collecting statistics over time.

make hasMultipleChangesToCitationcff condition parameterizable

Make the condition parameterizable like the other filters.

filtering/query.mjs

Lines 90 to 101 in c78334c

const hasMultipleChangesToCitationcff = async (url) => {
const [ owner, repo, ...unuseds ] = url.slice("https://github.com/".length).split('/');
const commits = await octokit.rest.repos.listCommits({
owner,
repo,
path: 'CITATION.cff'
});
return commits.data.length > 1
}

decide on what to automate

For example,

  • the filtering steps (can they all be automated?)
  • forking of any qualifying repositories to this organization
  • submitting issues in repositories that qualify

Change data structure

Possibly not for this sprint.

Changing the data structure from an array of URLs to something more complicated that kept additional information about the repos would be useful in a few places:

Cherrypicked GitHub repositories

We used sourcegraph to list the repositories including CITATION.cff file.
https://sourcegraph.com/search?q=context:global+file:CITATION.cff+count:100&patternType=literal

Cherry picked repositories with high number of stars and contributors

Need to create pull request

Abel:

Faruk:

Jurrriaan:

Present in the filtered list, already attributed.

https://github.com/duckdb/duckdb
https://github.com/effector/effector
https://github.com/ManimCommunity/manim
https://github.com/microsoft/nni
https://github.com/PyTorchLightning/pytorch-lightning
https://github.com/Zettlr/Zettlr

Won't fix

Try to fix CFF for NLeSC repositories

Plan:

  • Fork
  • Change cffversion to 1.2.0
  • Create cffconvert.yml
  • Run validator
  • If validation work, make a PR with updated CITATION.cff and cffconvert.yml
  • If validation does not work, assess the error and decide on a case-by-case basis

Summary of repos aggregated by @fdiblen:

Abel

Faruk

Jurriaan

Filter inactive repos

Some repos have not seen activity in a while (over 3 years, for instance).
Should we remove them?

Add README.dev.md

  1. describe how to install Node, which version
  2. describe how to get token, how to use it, only needs repo permissions
  3. how to run the script
  4. editorconfig settings, plugin vscode
  5. installing docker
  6. running docker without admin rights
  7. docker pull citationcff/cffconvert:2.0.0
  8. docker run cffconvert
  9. documentation:
    1. octokit
    2. mdn
    3. github api
  10. etc

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.