Git Product home page Git Product logo

willnorris / check-my-repo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from saucelabs/check-my-repo

1.0 2.0 0.0 1.08 MB

Automatically check repositories health and quality and build reports that help us understand the current state of Sauce Labs repositories

Home Page: https://opensource.saucelabs.com/check-my-repo/

License: MIT License

JavaScript 58.35% HTML 2.59% Vue 37.75% Shell 1.31%

check-my-repo's Introduction

Check My Repo

Check My Repo is a tool for OSPOs - Open Source Program Offices - to automatically check their repositories health and quality. Built upon Repolinter and using open source best practices as reference, this tool verifies if all public repositories under an organization contains:

  • [] Readme.md file
  • [] Changelog.md file or uses GitHub Releases
  • [] Codeowners file with a “Maintain” role
  • [] License file
  • [] Security: if does not have binaries
  • [] Test directory

Although part of best practices, as all Sauce Labs repositories are under SauceLabs:

  • Code of conduct
  • Contribution guidelines
  • Support file This tool does not check for those files, but they can easily be implemented on your project by adding them into repolinter.json configuration file, using repolinter dafault file.

How does it works

This application can run locally or under a GitHub pages. When running locally, it nicelly shows you the results in terminal. It also generates a frontend.json file with an array of objects containing the filtered results of this verification process.

check-my-repo-demo-short

It uses this same frontend.json file to send data to our frontend application made with Vue.js This is SauceLabs OSPO Check-My-Repo website. It is setup to daily lint all of our respositories and re-deploy to the page above using GitHub Actions CI/CD. This means that information is updated daily automalicaly.

Technologies used

This project is build with

How to make it run on your machine

To run in terminal

  1. Clone this project
git clone https://github.com/saucelabs/check-my-repo.git
  1. Install dependencies
npm install
  1. Run script
node src/index.js

It enables you to verify all Sauce Labs public repositories, as it is set up as default. If you would like to check your own organization repos, run:

node src/index.js <your organization github name>

You can also change the code at src/index.js line 19, to your organization's name

const organization = process.argv[2] || 'saucelabs'

To run in browser

  1. Open frontend folder
cd frontend
  1. Install dependencies
npm install
  1. Run server
npm run serve
  1. Open in browser network link provided in terminal
Cmd + click
  1. Click Repositories button to check all repositories fail results or Healthy Repos button to see the list of all of your fully healthy repositories

If you have any questions or comments, get in touch with us opensource@saucelabs

Prerequisites

You need to have Node.js install version 12 or latter. This project is currently using version 14. To check if you have and which Node.js version you can type:

node -v

Running the tests

To run tests, run

npm test

Enabling GitHub Actions for your organization

Under .github/workflows you will find 3 actions:

  • One that run tests on every commit And 3 others that: checks the repositories, overwrites the frontend.json file, sends it to frontend than deploys the new data to GitHub pages
  • One when a push is made to main branch
  • One daily at midnight (cron time)

It now uses Sauce Labs environment variables. You can change the information for your organization one by changing the following values (just for deployment actions):

with:
          publish_branch: gh-pages
          user_name: 'OSS Sauce Bot'
          user_email: '[email protected]'

If you would like to know more about how to deploy Vue.js to GitHub pages and how to set up GitHub Pages from your repository, I recommend the following articles:

Contributing

Please read CONTRIBUTING.md for details on our process for submitting pull requests, and please ensure you follow the CODE_OF_CONDUCT.md.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Thanks to Todo Group for developing Repolinter and kindly supporting us during this development.

check-my-repo's People

Contributors

diemol avatar discombobulateme avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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.