Automattic / vip-codespaces

https://docs.wpvip.com/local-development/github-codespaces/
8 stars 2 forks source link

Some questions #31

Open araeubig opened 1 year ago

araeubig commented 1 year ago

Hello Volodymyr

i found your great codespace work in your sjinks profile and after some searching your started repo here at Automattic. May i say that your base is the best solution to find about codespace + wordpress and one of the smallest.

Since some weeks i try to find a good and stable base for wordpress development. I found some codespaces but none of them are fully functional and none of them are really "final" in a running version.

Your base is exceptional and your new work here seems to be a start for a more complex version - am i right?

My question is how and when the work here is going on.

It would be great to here from you.

One issue with your "test-codespaces*: the xdebug function doesn't work in VS and a local install doesn't work. I think a local running version would be great because sometimes there could be no network connection and using only a "dev container" within VS is a good solution for that.

Regards André

sjinks commented 1 year ago

Hi André,

These versions are different:

For Xdebug you can use the following configuration: .devcontainer/devcontainer.json:

{
    "name": "Xdebug Test",
    "image": "ghcr.io/sjinks/codespaces/wordpress-all-in-one-xdebug:latest",
    "postStartCommand": ".devcontainer/setup-wordpress.sh"
}

.devcontainer/setup-wordpress.sh (please make sure to make it executable):

#!/bin/sh

/usr/local/bin/setup-wordpress.sh

if [ -n "${RepositoryName}" ]; then
    dir="/workspaces/${RepositoryName}"
else
    dir="$(pwd)"
fi

# Here go your custom commands to configure WordPress

# For example, link this repository to the WordPress plugins directory as `test-plugin` and activate it:
sudo ln -sf "${dir}" "/wp/wp-content/plugins/test-plugin"
wp plugin activate test-plugin

This devcontainer has the necessary launch configurations built-in. Screenshot_20230419_231358

It works both with VSCode devcontainers and GitHub Codespaces.

Its source code lives here.

araeubig commented 1 year ago

Hi Volodymyr,

thanks a lot for your answers and your time. Based on this and a long night more with "devcontainers" i could understand a bit more of the "doings". First i have to repeat my compliment for your extraordinary work with the VIP-Codespaces.

Your all-in-one-package is very good but i would prefer the configurable VIP-way. I played around with the templates and could not get a completely running version to work but i think you are working on it and the repo is actually not final.

By copying line for line i learn the devcontainer-way. If you want, i could write my own ideas and my have read requirements on GitHub.

I thought about a new repo last night by combining your VIP way and some more extras which i have on the brain and some ways i saw here on GitHub - could you imagine if this would be a base for a donation repo? Perhaps it would be worth to make it more commercial but thats not the idea of a git - nevertheless i have the "back-office-system" for that - based on my plugin in development.

Regards André

araeubig commented 1 year ago

Hello Volodymyr,

I used your base for developing and your approach is the best to find - i changed some parameters to use it without "VIP" specials and its absolutely perfect. Now i tried to update my fork from your last repo and based on your new "base"-feature iam wondering when you initialize/load it - in the main devcontainer its not present. I added it manually to my own devcontainer but after that i have some .... problems / errors.

I don't want to disturb you and perhaps iam not the right professional but perhaps you could help a little bit.

Best regards André

sjinks commented 1 year ago

This is it: https://github.com/Automattic/vip-codespaces/tree/trunk/features/src/base

I think you can merge the relevant parts (like extra repos in /etc/apk/repositories) with the base image.

If it does not work, where can I look at the errors, please?