PyTado icon indicating copy to clipboard operation
PyTado copied to clipboard

[Feature]: Create github pages with Code Coverage report

Open wmalgadey opened this issue 1 year ago • 7 comments

Describe the Feature

We could create github pages for this project, to display some information like

  • Documentation / Usage of the library
  • Code Coverage report

Why Is This Feature Useful?

see #104


Proposed Solution

I would like to use https://www.11ty.dev


Alternatives Considered

All types of static site generate would be good enough I guess.


Additional Context

Add any other context, screenshots, or examples that help explain your request.


Checklist

  • [x] I have searched the existing issues and discussions to ensure this is not a duplicate.
  • [x] I have provided a clear and concise description of my feature request.
  • [x] I have included any relevant examples or details to support my proposal.

Thank you for helping to improve PyTado! 🚀

wmalgadey avatar Dec 20 '24 12:12 wmalgadey

Not a contributor to this repo, but as I've recently been going through several phases of organizing the documentation for https://github.com/kritsel/tado-openapispec-v2 I simply want to share my experience. Use or ignore as you like :-)

Start

  1. Started out with putting all relevant documentation in README.md. Resulting in a README which was getting far too big.
  2. Had the need to publish at least 2 pieces of additional content: 1) Swagger UI (html page) and 2) Test report of integration tests

Solution 1: publish to GitHub pages via gh-pages branch

Started to experiment with GitHub pages for only static content by using the gh-pages branch. Did not spend too much time on it.

Didn't quite like the separate branch, too much implicit magic. Stopped the efforts before I even started thinking about how to cover my additional documentation needs.

Solution 2: publish to GitHub pages via workflow.

My repo is basically a maven project with integration tests written in Kotlin. Maven can build a local site with a combination of static content plus all kinds of code related reports such as an integration test report. I started using that to create a site with all relevant static documentation, test reports and Swagger page in my GitHub workflow, and deploy it to to GitHub pages via the actions/deploy-pages@v4 action action.

As time went by I started to dislike the fact that my static documentation was part of my git repo. Making changes to documentation should be easy, it shouldn't require a build pipeline with git commands (maybe even forcing pull requests if you want to treat your main branch with the proper respect) (this is my personal opinion, other people will have other preferences).

Solution 3: use GitHub pages for dynamic content, use the repo's Wiki for static content (current state)

I enabled the Wiki functionality for my repo to manage all static content, and shortened the text in the README: https://github.com/kritsel/tado-openapispec-v2/wiki The site generated by Maven and published to GitHub pages is still used, but only for the dynamic content (test report) and HTML based content (Swagger UI): https://kritsel.github.io/tado-openapispec-v2/failsafe-report.html

Having a split in GitHub Wiki content and GitHub page content is not ideal, but then no solution is perfect. For now I'm sticking with this solution.

kritsel avatar Dec 30 '24 14:12 kritsel

@kritsel thank you for your feedback. I am a fan of static site generators and like the idea of a documentation in markdown which renders nicely to a static webpage and will be hosted on github. But it's not me adding content here (I hope 😄).

So @palazzem or @erwindouna what do you think?

wmalgadey avatar Dec 30 '24 18:12 wmalgadey

Thanks for sharing @kritsel! We'll have to look into the solutions and work this out to get a fitting direction. @wmalgadey I used the shield and codecov.org to store and display the code coverage. Have you also seen this?

erwindouna avatar Dec 31 '24 08:12 erwindouna

@inverse, maybe we should remove the failing workflow to push the test results to the PR comment and go @erwindouna way and use codecov.org?

wmalgadey avatar Jan 01 '25 16:01 wmalgadey

ok, I made the jump :D --> https://app.codecov.io/github/wmalgadey/PyTado

wmalgadey avatar Jan 01 '25 18:01 wmalgadey

Nicely done, @wmalgadey!

erwindouna avatar Jan 02 '25 09:01 erwindouna

Great! Thank you very much everybody!

palazzem avatar Jan 04 '25 19:01 palazzem