Closed amezin closed 2 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:
Will you do this? Else I will just copy and paste things :)
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
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:
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?
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.
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).
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:
xdotool
which can be used to perform very extension-specific tests.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.
Yay, parallel post :)
You could join the #extensions:gnome.org matrix channel. There are the folks :)
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.
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
, butDBUS_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#L17Also 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 (sobash -l
won't explode)Feel free to take any changes you like from my fork