-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* WIP Add new core functions * Implement new core functions * Code Style * Revert accidental switch of DDEV project type * Fix cache key handling * Fix cache key handling * Fix code style * Fixes and improvements * Fixes code style * Feat/e2e (#31) * Add Playwright e2e testing * Add Playwright e2e testing * Fix test plugin not being handled correctly during orchestration * Remove note about unimplemented tests * Update wp-stash-test-plugin/template.php Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Moritz Meißelbach <arbelzapf@gmail.com> * Remove unneeded workflow boilerplate * Remove unneeded playwright config --------- Signed-off-by: Moritz Meißelbach <arbelzapf@gmail.com> Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> --------- Signed-off-by: Moritz Meißelbach <arbelzapf@gmail.com> Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com>
- Loading branch information
Showing
35 changed files
with
1,083 additions
and
70 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#!/bin/bash | ||
#ddev-generated | ||
# Remove the line above if you don't want this file to be overwritten when you run | ||
# ddev get julienloizelet/ddev-playwright | ||
# | ||
# This file comes from https://github.com/julienloizelet/ddev-playwright | ||
# | ||
cd /var/www/html || exit 1 | ||
cd "${PLAYWRIGHT_TEST_DIR}" || exit 1 | ||
|
||
export PLAYWRIGHT_BROWSERS_PATH=0 | ||
PRE="sudo -u pwuser PLAYWRIGHT_BROWSERS_PATH=0 " | ||
|
||
$PRE yarn playwright "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#!/bin/bash | ||
#ddev-generated | ||
# Remove the line above if you don't want this file to be overwritten when you run | ||
# ddev get julienloizelet/ddev-playwright | ||
# | ||
# This file comes from https://github.com/julienloizelet/ddev-playwright | ||
# | ||
cd /var/www/html || exit 1 | ||
cd "${PLAYWRIGHT_TEST_DIR}" || exit 1 | ||
|
||
export PLAYWRIGHT_BROWSERS_PATH=0 | ||
PRE="sudo -u pwuser PLAYWRIGHT_BROWSERS_PATH=0 " | ||
|
||
$PRE yarn install | ||
$PRE yarn playwright install --with-deps | ||
# Conditionally copy an .env file if an example file exists | ||
[ -f .env.example ] && [ ! -f .env ] && $PRE cp -n .env.example .env; exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 12 additions & 0 deletions
12
.ddev/commands/web/orchestrate.d/35_activate_test_plugin.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
#!/bin/bash | ||
|
||
pushd "${DDEV_DOCROOT}" || exit | ||
|
||
flags="" | ||
if [ "${WP_MULTISITE}" = "true" ]; then | ||
flags+=" --network" | ||
fi | ||
|
||
wp plugin activate wp-stash-test-plugin $flags | ||
|
||
popd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
#ddev-generated | ||
# Remove the line above if you don't want this file to be overwritten when you run | ||
# ddev get julienloizelet/ddev-playwright | ||
# | ||
# This file comes from https://github.com/julienloizelet/ddev-playwright | ||
# | ||
services: | ||
playwright: | ||
build: | ||
context: playwright-build | ||
container_name: ddev-${DDEV_SITENAME}-playwright | ||
hostname: ${DDEV_SITENAME}-playwright | ||
# These labels ensure this service is discoverable by ddev. | ||
labels: | ||
com.ddev.site-name: ${DDEV_SITENAME} | ||
com.ddev.approot: $DDEV_APPROOT | ||
environment: | ||
# Modify the PLAYWRIGHT_TEST_DIR folder path to suit your needs | ||
- PLAYWRIGHT_TEST_DIR=tests/Playwright | ||
- NETWORK_IFACE=eth0 | ||
- DISPLAY=:1 | ||
- VIRTUAL_HOST=$DDEV_HOSTNAME | ||
- HTTP_EXPOSE=8443:8444,9322:9323 | ||
- HTTPS_EXPOSE=8444:8444,9323:9323 | ||
- DDEV_UID=${DDEV_UID} | ||
- DDEV_GID=${DDEV_GID} | ||
expose: | ||
- "8444" | ||
- "9323" | ||
depends_on: | ||
- web | ||
volumes: | ||
- .:/mnt/ddev_config | ||
- ddev-global-cache:/mnt/ddev-global-cache | ||
- ../:/var/www/html:rw | ||
external_links: | ||
- ddev-router:${DDEV_HOSTNAME} | ||
working_dir: /var/www/html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
#ddev-generated | ||
# Remove the line above if you don't want this file to be overwritten when you run | ||
# ddev get julienloizelet/ddev-playwright | ||
# | ||
# This file comes from https://github.com/julienloizelet/ddev-playwright | ||
# | ||
# If on arm64 machine, edit to use mcr.microsoft.com/playwright:focal-arm64 | ||
FROM mcr.microsoft.com/playwright:focal | ||
|
||
# Debian images by default disable apt caching, so turn it on until we finish | ||
# the build. | ||
RUN mv /etc/apt/apt.conf.d/docker-clean /etc/apt/docker-clean-disabled | ||
|
||
USER root | ||
|
||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ | ||
--mount=type=cache,target=/var/lib/apt,sharing=locked \ | ||
apt-get update \ | ||
&& apt-get install -y sudo libnss3-tools | ||
|
||
# Give the pwuser user full `sudo` privileges | ||
RUN echo "pwuser ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/pwuser \ | ||
&& chmod 0440 /etc/sudoers.d/pwuser | ||
|
||
# CAROOT for `mkcert` to use, has the CA config | ||
ENV CAROOT=/mnt/ddev-global-cache/mkcert | ||
|
||
# Install the correct architecture binary of `mkcert` | ||
RUN export TARGETPLATFORM=linux/$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') && mkdir -p /usr/local/bin && curl --fail -JL -s -o /usr/local/bin/mkcert "https://dl.filippo.io/mkcert/latest?for=${TARGETPLATFORM}" | ||
RUN chmod +x /usr/local/bin/mkcert | ||
|
||
|
||
# Install a window manager. | ||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ | ||
--mount=type=cache,target=/var/lib/apt,sharing=locked \ | ||
apt-get update \ | ||
&& apt-get install -y icewm xauth | ||
|
||
# Install kasmvnc for remote access. | ||
RUN /bin/bash -c 'if [ $(arch) == "aarch64" ]; then KASM_ARCH=arm64; else KASM_ARCH=amd64; fi; wget https://github.com/kasmtech/KasmVNC/releases/download/v1.1.0/kasmvncserver_bullseye_1.1.0_${KASM_ARCH}.deb' | ||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ | ||
--mount=type=cache,target=/var/lib/apt,sharing=locked \ | ||
apt-get install -y ./kasmvncserver*.deb | ||
|
||
# We're done with apt so disable caching again for the final image. | ||
RUN mv /etc/apt/docker-clean-disabled /etc/apt/apt.conf.d/docker-clean | ||
|
||
# prepare KasmVNC | ||
RUN sudo -u pwuser mkdir /home/pwuser/.vnc | ||
COPY kasmvnc.yaml xstartup /home/pwuser/.vnc/ | ||
RUN chown pwuser:pwuser /home/pwuser/.vnc/* | ||
RUN sudo -u pwuser touch /home/pwuser/.vnc/.de-was-selected | ||
RUN sudo -u pwuser /bin/bash -c 'echo -e "secret\nsecret\n" | kasmvncpasswd -wo -u pwuser' # We actually disable auth, but KASM complains without it | ||
|
||
|
||
COPY entrypoint.sh /root/entrypoint.sh | ||
ENTRYPOINT "/root/entrypoint.sh" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#!/bin/bash | ||
#ddev-generated | ||
# Remove the line above if you don't want this file to be overwritten when you run | ||
# ddev get julienloizelet/ddev-playwright | ||
# | ||
# This file comes from https://github.com/julienloizelet/ddev-playwright | ||
# | ||
|
||
# Change pwuser IDs to the host IDs supplied by DDEV | ||
usermod -u ${DDEV_UID} pwuser | ||
groupmod -g ${DDEV_GID} pwuser | ||
usermod -a -G ssl-cert pwuser | ||
|
||
# Install DDEV certificate | ||
sudo -u pwuser mkcert -install | ||
|
||
# Run CMD from parameters as pwuser | ||
sudo -u pwuser vncserver -fg -disableBasicAuth |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#ddev-generated | ||
# Remove the line above if you don't want this file to be overwritten when you run | ||
# ddev get julienloizelet/ddev-playwright | ||
# | ||
# This file comes from https://github.com/julienloizelet/ddev-playwright | ||
# | ||
logging: | ||
log_writer_name: all | ||
log_dest: syslog | ||
level: 100 | ||
|
||
network: | ||
ssl: | ||
require_ssl: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
#!/bin/sh | ||
#ddev-generated | ||
# Remove the line above if you don't want this file to be overwritten when you run | ||
# ddev get julienloizelet/ddev-playwright | ||
# | ||
# This file comes from https://github.com/julienloizelet/ddev-playwright | ||
# | ||
|
||
export DISPLAY=:1 | ||
|
||
unset SESSION_MANAGER | ||
unset DBUS_SESSION_BUS_ADDRESS | ||
OS=`uname -s` | ||
if [ $OS = 'Linux' ]; then | ||
case "$WINDOWMANAGER" in | ||
*gnome*) | ||
if [ -e /etc/SuSE-release ]; then | ||
PATH=$PATH:/opt/gnome/bin | ||
export PATH | ||
fi | ||
;; | ||
esac | ||
fi | ||
if [ -x /etc/X11/xinit/xinitrc ]; then | ||
exec /etc/X11/xinit/xinitrc | ||
fi | ||
if [ -f /etc/X11/xinit/xinitrc ]; then | ||
exec sh /etc/X11/xinit/xinitrc | ||
fi | ||
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources | ||
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & | ||
icewm-session |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
name: Run Playwright tests via DDEV | ||
on: | ||
push: | ||
workflow_dispatch: | ||
jobs: | ||
ddev-playwright: | ||
uses: inpsyde/reusable-workflows/.github/workflows/ddev-playwright.yml@feature/ddev-playwright | ||
secrets: | ||
COMPOSER_AUTH_JSON: ${{ secrets.PACKAGIST_AUTH_JSON }} | ||
with: | ||
DDEV_ORCHESTRATE_CMD: ddev orchestrate | ||
PLAYWRIGHT_INSTALL_CMD: ddev playwright-install | ||
PLAYWRIGHT_RUN_CMD: ddev playwright test |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.