Schneegans / gnome-shell-pod

:package: A Podman container which runs GNOME Shell in xvfb
MIT License
47 stars 12 forks source link

Fedora #5

Closed amezin closed 2 years ago

amezin commented 3 years ago

I've figured out how to make Fedora container run on Ubuntu (GitHub Actions runners):

https://github.com/amezin/gnome-shell-pod/blob/master/Dockerfile.base#L22 https://github.com/amezin/gnome-shell-extension-ddterm/blob/master/run_test_podman.sh#L7

On Fedora (at least on 34) you can't access GNOME Shell's /proc/*/environ, but DBUS_SESSION_BUS_ADDRESS seems to be enough for all things I want to run https://github.com/amezin/gnome-shell-pod/blob/master/set-env.sh#L17

Also I'm launching GNOME session from a user systemd service, instead of abusing .profile/.bash_profile: https://github.com/amezin/gnome-shell-pod/blob/master/systemd/user/gnome-xsession%40.service (so bash -l won't explode)

Feel free to take any changes you like from my fork

Schneegans commented 3 years ago

That looks very promising! Feel free to create a pull request! As this is a major contribution, I think you should be credited properly. I just created a feature/fedora branch which you can use as target branch for the PR.

Thank you very much, you clearly have the knowledge about Docker / Podman which I am lacking :smile:

Schneegans commented 3 years ago

Will you do this? Else I will just copy and paste things :)

amezin commented 3 years ago

Go ahead and copy what you want. As you can see, I've changed a lot of things, and currently I don't have time to properly separate these changes and clean them up

Schneegans commented 2 years ago

I am currently porting the Fly-Pie extension back to GNOME 3.3x. Therefore I decided to continue the work on the CI setup.

I see that your fork has matured considerably in the meantime! That's cool! I now wonder how to proceed; there are some options:

  1. I could just use your fork and archive this repository here.
  2. I could merge your changes back to this repository and develop it in parallel.
  3. I could merge your changes back to this repository and I could give you all rights so that we could both be maintainers.

I do not really like option 2 as both projects would be pretty similar. However, I like to get other extension developers involved and therefore I would like to write quite some documentation / examples. This would result in several pull requests in case of 1... What do you think?

amezin commented 2 years ago

Hm. On the one hand, collaborating is good. On the other hand, I currently push changes that I need and don't care how they could affect somebody else. I don't think all these changes (like "dual-monitor nested Wayland") are generally useful. Maybe we could make a base image with a simple X.org session in Xvfb and then build the necessary customizations on top of it.

Also, it seems that GNOME devs are trying to build containers for extension testing too: https://gitlab.gnome.org/World/ShellExtensions/extensions-rebooted Maybe we should reach out to them.

amezin commented 2 years ago

Oh, I see, you've already talked to the people there...

Well, if you want to develop the container together here on Github, I think creating an "organization" is the right thing to do (also it seems that people like to contribute to "organizations" repositories more than to someone's personal projects).

Schneegans commented 2 years ago

These are all valid points. I was already in contact with the extensions rebooted initiative (some months ago, things may have changed in the meantime). They are interested in our podman containers and there is definitely the potential for mutual benefit. However, their goal differs significantly from mine:

So I think that I could try merging back your changes and reduce them to a kind of "base image" as I do not need any specific functionality more than xdotool. Also, all testing-related scripts could be mounted at run-time. They should be part of the to-be-tested extension anyways.

Schneegans commented 2 years ago

Yay, parallel post :)

Schneegans commented 2 years ago

You could join the #extensions:gnome.org matrix channel. There are the folks :)

Schneegans commented 2 years ago

I have included most of your changes into this repository. I'll talk to the folks of the extension rebooted initiative and maybe they can use something of this. I'll also try to expand the documentation in the future and create some tutorials so that more extension developers can setup CI jobs! If people are interested, I'll happily move this repo to an organization so that collaboration is more straightforward.