jazzband / icalevents

Python module for iCal URL/file parsing and querying.
MIT License
157 stars 72 forks source link

Implement Jazzband guidelines for icalevents #82

Closed jazzband-bot closed 2 years ago

jazzband-bot commented 2 years ago

This issue tracks the implementation of the Jazzband guidelines for the project icalevents

It was initiated by @irgangla who was automatically assigned in addition to the Jazzband roadies.

See the TODO list below for the generally required tasks, but feel free to update it in case the project requires it.

Feel free to ping a Jazzband roadie if you have any question.

TODOs

Project details

Description Python module for iCal URL/file parsing and querying.
Homepage None
Stargazers 79
Open issues 27
Forks 48
Default branch master
Is a fork False
Has Wiki True
Has Pages False
irgangla commented 2 years ago

@eigenmannmartin @Hultner Can one of you take care of moving the tests from Travis CI to Github Actions?

jezdez commented 2 years ago

@eigenmannmartin @Hultner Can one of you take care of moving the tests from Travis CI to Github Actions?

Please don't hesitate to take examples from other Jazzband projects to simplify the move.

eigenmannmartin commented 2 years ago

I will do that this week :-)

irgangla commented 2 years ago

@jezdez Is there a way to move Codecov to Jazzband?

Hultner commented 2 years ago

I will do that this week :-)

Thanks, I can help with reviewing/second pair of eyes if you want :)

jezdez commented 2 years ago

@jezdez Is there a way to move Codecov to Jazzband?

I think it should just work on the next CI run and posting coverage results to their API. IIRC they notice when a project is moved from one user/org to another.

irgangla commented 2 years ago

@jezdez icalevents doesn't use readthedocs at the moment. Is this mandatory?

jezdez commented 2 years ago

@irgangla Not mandatory but something else is, from https://jazzband.co/about/guidelines#documentation:

Projects require prose documentation for end users and contributors. Inline code documentation is considered an indicator for a high quality of code and is also strongly recommended.

Document as much as possible and don’t rely on autodoc alone. Write like you’re addressing yourself in a few years.

FWIW, it's best practice to use Read The Docs for hosting Sphinx documentation (compared to GitHub Pages which can be messy to maintain). It simplifies the project setup quite a bit and outsources documentation building to the well-known community project Read The Docs.

irgangla commented 2 years ago

@irgangla Not mandatory but something else is, from https://jazzband.co/about/guidelines#documentation:

Projects require prose documentation for end users and contributors. Inline code documentation is considered an indicator for a high quality of code and is also strongly recommended. Document as much as possible and don’t rely on autodoc alone. Write like you’re addressing yourself in a few years.

FWIW, it's best practice to use Read The Docs for hosting Sphinx documentation (compared to GitHub Pages which can be messy to maintain). It simplifies the project setup quite a bit and outsources documentation building to the well-known community project Read The Docs.

Ok, I will take care. I already started a Sphinx docu in source folder, long ago.

Hultner commented 2 years ago

@jezdez Thanks for all the help and guidance :) It's appreciated!

On a side note, should I as a maintainer join the Jazzband org somehow? I authenticated with my gh-account via the website.

irgangla commented 2 years ago

@eigenmannmartin @Hultner If you provide your readthedocs account name to me, I will also add you as maintainer. @jezdez I prepared a Sphinx doc and created the readthedocs project, but I haven't the rights anymore to add the webhook to the repo.Will the bot do this or can you do this?

irgangla commented 2 years ago

@jezdez I don't have the necessary rights to give codecov access to the jazzband organization. Can you please help me to fix the codecov integration?

jezdez commented 2 years ago

@jezdez I prepared a Sphinx doc and created the readthedocs project, but I haven't the rights anymore to add the webhook to the repo.Will the bot do this or can you do this?

Done!

jezdez commented 2 years ago

@jezdez I don't have the necessary rights to give codecov access to the jazzband organization. Can you please help me to fix the codecov integration?

I think it should just work once you send coverage data to codecov, the link will be https://app.codecov.io/gh/jazzband/icalevents/

irgangla commented 2 years ago

@jezdez I don't have the necessary rights to give codecov access to the jazzband organization. Can you please help me to fix the codecov integration?

irgangla commented 2 years ago

@jezdez I don't have the necessary rights to give codecov access to the jazzband organization. Can you please help me to fix the codecov integration?

I tried to delete the old codecov project and set it up again, but the codecov app isn't able to access the jazzband repos with my Github integration.

Regarding closing and reopening the issue, time to go to bed for me.

Hultner commented 2 years ago

@eigenmannmartin @Hultner If you provide your readthedocs account name to me, I will also add you as maintainer.

It's "Hultner"

irgangla commented 2 years ago

@eigenmannmartin @Hultner Does one of you want to act as project lead? I don't use this library anymore, and also have no active Python projects since a while.

irgangla commented 2 years ago

@jezdez Will/shall this also work for icalevents:

- name: Upload packages to Jazzband
  if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
  uses: pypa/gh-action-pypi-publish@master
  with:
    user: jazzband
    password: ${{ secrets.JAZZBAND_RELEASE_KEY }}
    repository_url: https://jazzband.co/projects/django-formtools/upload    

Since I haven't access to settings anymore, I can't setup a key.

irgangla commented 2 years ago

@Hultner @eigenmannmartin Releasing a new version should trigger https://github.com/jazzband/icalevents/actions/workflows/python-publish.yml and upload the release to PyPi. Pushes or merges should trigger https://github.com/jazzband/icalevents/actions/workflows/python-test.yml and run the tests.

Hultner commented 2 years ago

@eigenmannmartin @Hultner Does one of you want to act as project lead? I don't use this library anymore, and also have no active Python projects since a while.

@irgangla I can volunteer as project lead unless someone else wants to. But can't promise any major changes, will mainly review PRs, merge fixes and cut new releases. And of course act as a sparring partner/mentor if someone wants to contribute and need help.

Hultner commented 2 years ago

I will do that this week :-)

@eigenmannmartin Did you get started on moving things to GitHub Actions?

ghost commented 2 years ago

@eigenmannmartin @Hultner Does one of you want to act as project lead? I don't use this library anymore, and also have no active Python projects since a while.

@irgangla I can volunteer as project lead unless someone else wants to. But can't promise any major changes, will mainly review PRs, merge fixes and cut new releases. And of course act as a sparring partner/mentor if someone wants to contribute and need help.

@Hultner +1

ghost commented 2 years ago

I will do that this week :-)

@eigenmannmartin Did you get started on moving things to GitHub Actions?

I prepared an action for automatic publishing changes: https://github.com/jazzband/icalevents/actions/workflows/python-publish.yml If you create a new release (or push something to master, for test purpose), it should release a new version to pypi.

eigenmannmartin commented 2 years ago

@pro70 @Hultner I am so sorry for the long delay! I got overrun with soo much work. I will start work on this now :-)

Sorry again - I should at least had informed you :-)

eigenmannmartin commented 2 years ago

@pro70 @irgangla @Hultner If I get admin rights for this repo I can setup codecov.

Hultner commented 2 years ago

@pro70 @Hultner I am so sorry for the long delay! I got overrun with soo much work. I will start work on this now :-)

Sorry again - I should at least had informed you :-)

No worries, we're all volunteers doing this in what little extra bandwidth we have available :)

Hultner commented 2 years ago

@pro70 @irgangla @Hultner If I get admin rights for this repo I can setup codecov.

From what I can see I neither have admin rights to the repository. Maybe @jezdez can help?

eigenmannmartin commented 2 years ago

@pro70 I would love to share project lead duty with @Hultner

eigenmannmartin commented 2 years ago

@pro70 CI and linters and pre-commit.ci and codecov is added. How does the release process work?

jezdez commented 2 years ago

I've added the JAZZBAND_RELEASE_KEY secret to the repo and updated the GitHub Actions workflow to only release on creating a git tag. That means that the release workflow will only run when you actually create a git tag and push it.

I've also enabled the setting in ReadTheDocs to install the project when building the docs to fix the autodoc API section at the end of the document, https://icalevents.readthedocs.io/en/latest/#api.

With that, this issues is done! Please don't hesitate to ping me when you do your first release so I can be of assistance if needed.