chmouel/gnome-next-meeting-applet

Update contribution guidelines and implement CI

Closed this issue · 1 comments

Hi,
I would like to help and fix #7. I quickly gave a look at https://github.com/chmouel/gnome-next-meeting-applet/blob/main/CONTRIBUTING.rst and it seems a bit outdated. I managed to find some free time so I'll try to give a hand here and I would really like to contribute and get this working.

I first tried to get things working in a Conda virtual environment but it was a bit hard to get dependencies working (as you might see from the script in that related QA).

The contribution file is not linked from the ReadMe.md and it also mentions things from the previous generator project such as Travis and tests which were removed from the project.

I really like where this project is going and I think it would benefit from an easier developer experience (so we might get help from other interested people here).

Here are a few things I think could improve the project on the long run:

  1. Fix #7 (ok I might be the only one getting this tho 😅 )
  2. Add a Contributing section to the ReadMe
  3. Add github actions workflow that would handle a few things such as
    • build
    • test
    • code coverage
    • publish (from tag)
  4. Add Black as a pre-commit hook so we don't have to worry about code format when contributing

If you're ok with the above, I'll try to work on the above and contribute back to the project.

If you could provide details on:

  • how you're local development environment is setup
  • how you handle publishing

it would definitely be helpful. 🤞

oh awesome that would be great if we can get there, i feel silly working on my day job developing CI systems and not havin tests and automated tests here!

I am kind of new with Gtk and Gui apps testing and I am not so sure how to increase the code coverage properly, do you have an ideas how it works there? perhaps just moving the logic out of the view and just having the logic tested?

I use yapf on my code editor but I don't mind switcing to black.

My dev env is pretty standard, I just moved to arch install with gnome4.1 but was using ubuntu just before that.

I pip install -e. and run ~/.local/bin/gnome-next-meeting-appelt manually when I want to debug with ipython or sometime I spin up vscode to do interactive debugging (I mostly use emacs as editor).

I have two vm with ubuntu and fedora to make sure things works there.

The way package build works is humm complicated, packaging is actually the hardest thing to get right, I have almost everything scriped here :

https://github.com/chmouel/gnome-next-meeting-applet/blob/main/packaging/make-release.sh

The problem is :

for fedora:
it needs a copr token (which is easily shareable in a github action secrets)

for ubuntu:
it needs a gpg key belonging to the organisation where the ppa is made, multiple people can belong to an org but I am not sure how non interactive this is.

for arch:
it needs a ssh private key to push to a git repo, I am quite new to arch stuff so I am not sure how it works with multiple users or a robot user