Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/serlo/configure-repositories
Helper CLI for setting up and for configuring GitHub repositories of the Serlo organization
https://github.com/serlo/configure-repositories
developer-tools serlo
Last synced: 4 days ago
JSON representation
Helper CLI for setting up and for configuring GitHub repositories of the Serlo organization
- Host: GitHub
- URL: https://github.com/serlo/configure-repositories
- Owner: serlo
- License: cc0-1.0
- Created: 2023-07-16T13:59:26.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-22T03:13:31.000Z (24 days ago)
- Last Synced: 2024-10-23T04:48:45.228Z (23 days ago)
- Topics: developer-tools, serlo
- Language: Python
- Homepage:
- Size: 7.88 MB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://github.com/serlo).## Installation
### Linux and Darwin (x86)
Download corresponding artifact file from the [Releases](https://github.com/serlo/configure-repositories/releases)
and make it executable: `chmod +x FILENAME`### Windows
Download the executable (`.exe`) file from the [Releases](https://github.com/serlo/configure-repositories/releases).
### Darwin (arm64)
* Follow the steps in [Development](#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:
```bash
./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:```bash
./configure_repositories --help
``````bash
./configure_repositories
```### Example: Sort the yarn scripts alphabetically
```bash
./configure_repositories sort-yarn-scripts ../api.serlo.org
```### Example: Configure a local MySQL database
```bash
./configure_repositories setup-local-mysql ../db-migrations
```## Development
* Install the Python version in [.tool-versions](.tool-versions)
* You may use [asdf](https://asdf-vm.com/) for the installation.### Using pipenv
* Install [pipenv](https://pipenv.pypa.io/en/latest/installation/#installing-pipenv)
* Run `pipenv shell` to activate the project's [virtual environment](https://docs.python.org/3/library/venv.html).
* 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
* Change the version in [setup.py](setup.py)
* Push a new tag with the format `major.minor.patch`
* The push of a new tag will trigger the creation of the releases for:
* [Linux (x86)](.github/workflows/release-linux.yml)
* [macOS (x86)](.github/workflows/release-macos.yml)
* [Windows (x86)](.github/workflows/release-windows.yml)