Code Monkey home page Code Monkey logo

configure-repositories's Introduction

Configure repositories of the Serlo GitHub organization

This repo contains the utility CLI configure-repositories that configures a repository based on predefined rules. It is used mainly for repositories of the Serlo GitHub organization.

Installation

Linux and Darwin (x86)

Download corresponding artifact file from the Releases and make it executable: chmod +x FILENAME

Windows

Download the executable (.exe) file from the Releases.

Darwin (arm64)

  • Follow the steps in Development
  • Build the executable depending on the Platform:
    • Darwin arm64: pipenv run build_darwin_arm64

Usage

Run ./configure_repositories with one or more paths to repositories:

./configure_repositories [OPTIONS] COMMAND REPO

Via COMMAND you can define the changes which shall be applied to the repository. Run any of the following commands to see the list of all possible commands:

./configure_repositories --help
./configure_repositories

Example: Sort the yarn scripts alphabetically

./configure_repositories sort-yarn-scripts ../api.serlo.org

Example: Configure a local MySQL database

./configure_repositories setup-local-mysql ../db-migrations

Development

Using pipenv

  • Install pipenv
  • Run pipenv shell to activate the project's virtual environment.
  • Run pipenv install --dev to install the dev dependencies.
  • Run pipenv run lint to run the linting.
  • Run pipenv run format to format the code.

Testing

  • You can test the commands running python configure_repositories.py [OPTIONS] COMMAND REPO

Releases

configure-repositories's People

Contributors

andreashuber avatar dependabot[bot] avatar eliflores avatar hugotiburtino avatar kulla avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

configure-repositories's Issues

Distribute configure-repositories as a CLI

As a developer, I would like configure-repositories to be distributed as a CLI that I can download directly from the releases of the repository.

This way in my Dev machine, I can install it with:

pip install git+https://github.com/serlo/configure-repositories@RELEASE_TAG

and I don't need to clone the repository, or know about the internal scripts that exist in the code base, and I only need to run it as: configure-repositories --help.

Add a linting workflow

As a developer I would like to have a linting workflow in the configure-repositories repository that runs on pull_request and push to main events, so that patterns that might cause errors or other problems are flagged.

In the case of the Python code pylint could be used for this purpose.

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.