Skip to content
This repository was archived by the owner on Oct 6, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/phpunit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml
fail_ci_if_error: true
fail_ci_if_error: false
flags: unittests
name: codecov-umbrella
verbose: true
Expand Down
42 changes: 34 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,45 @@
# good first issue
# Good First Issues

Make your first open-source contribution.
**Good First Issues** is an initiative to curate easy pickings from popular projects, so developers who've never contributed to open-source can get started quickly.

Website: [good-first-issues.github.io](https://good-first-issues.github.io)

https://gomzyakov.github.io/good-first-issue/
This website is primarily targeted at developers who want to contribute to open source software but do not know where or how to start.

Open-source maintainers are always looking to get more people involved, but new developers generally think it's challenging to become a contributor. We believe getting developers to fix super-easy issues removes the barrier for future contributions. This is why *Good First Issues* exists.

# Как добавить свой репозиторий?
## Adding a new project

todo [repositories.json](https://github.com/gomzyakov/good-first-issue/blob/main/repositories.json)
You're welcome to add a new project in *Good First Issues*, just follow these steps:

- To maintain the quality of projects in *Good First Issues*, please make sure your GitHub repository meets the following criteria:

# Как это работает?
- It has at least three issues with the `good first issue` label. This label is already present on all repositories by default. If not, you can follow the steps [here](https://help.github.com/en/github/managing-your-work-on-github/applying-labels-to-issues-and-pull-requests).

- It contains a `README.md` with detailed setup instructions for the project

https://api.github.com/repos/gomzyakov/good-first-issue/issues?state=open&sort=updated&labels=good%20first%20issue
- It is actively maintained (last update less than 1 month ago)

Ежедневно запускается [cron.yml](#TODO) который _TODO_
- Add your repository's path (in the format `owner/name` and lexicographic order) in [repositories.json](https://github.com/gomzyakov/good-first-issue/blob/main/repositories.json).

- Create a new pull-request. Please add the link to the issues page of the repository in the PR description. Once the pull request is merged, the changes will be live on [good-first-issues.github.io](https://good-first-issues.github.io).

## How does it work?

- First *Good First Issues* is a static website that uses [PHP](https://www.php.net)` to generate HTML files.
- We use [GitHub REST API](https://docs.github.com/en/rest) to fetch issues from the repositories listed in [repositories.json](https://github.com/gomzyakov/good-first-issue/blob/main/repositories.json).
- To periodically cycle through issues (twice a day), we use [GitHub Workflow](https://docs.github.com/en/actions/using-workflows).

## Help us grow

Navigating open-source projects can be quite overwhelming for beginners and experienced contributors alike. *Good First Issues* looks to solve this problem by providing a platform that serves as a starting point for those looking to get started with open-source or those who are looking to get into a new project.

The more people who know about [good-first-issues.github.io](https://good-first-issues.github.io), the better. There are various ways you can help us grow: you could contribute to `awesome` lists, blog about us, reach out to bloggers, tech influences, developer and open-source on Twitter and YouTube, for example. Try and get [good-first-issues.github.io](https://good-first-issues.github.io) mentioned in a video or tweet!

## Suggestions and wishes

If you have questions or suggestions (or found a bug), you can always write to [issues](https://github.com/good-first-issues/good-first-issues.github.io/issues).

## License

This is open-sourced software licensed under the [MIT License](https://github.com/good-first-issues/good-first-issues.github.io/blob/main/LICENSE).
1 change: 1 addition & 0 deletions src/Generator.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public function run(): void
$repositories = $this->github_api_client->requestRepositoriesData($repository_names);

// TODO сортируем репозитории по updated at
// TODO удаляем неактивные репозитории

foreach ($repositories as $repository) {
print_r('Get issues for repository: ' . $repository->full_name . "\n");
Expand Down
21 changes: 21 additions & 0 deletions tests/RendererTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php

declare(strict_types = 1);

namespace Tests;

use GoodFirstIssue\Renderer;
use PHPUnit\Framework\TestCase;

/**
* @covers \GoodFirstIssue\Renderer
*/
final class RendererTest extends TestCase
{
public function test_instance_of_generator(): void
{
$generator = new Renderer(__DIR__);

$this->assertInstanceOf(Renderer::class, $generator);
}
}