Skip to content

Commit 813b443

Browse files
committed
test: Working Playwright with new image?
1 parent da260f0 commit 813b443

1 file changed

Lines changed: 46 additions & 104 deletions

File tree

.github/workflows/playwright.yml

Lines changed: 46 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ on: ['push', 'pull_request']
44
jobs:
55
playwright:
66
runs-on: ubuntu-latest
7+
container:
8+
image: yireo/magento2playwright:2.4.8-p3
79

810
env:
911
GIT_DEPTH: 1
@@ -79,83 +81,41 @@ jobs:
7981
echo COMPOSER_NAME=`jq '.name' composer.json -r` >> $GITHUB_ENV
8082
echo MAGENTO_MODULE=`jq '.module_name' MODULE.json -r` >> $GITHUB_ENV
8183
82-
- name: Setup Magento in Docker
84+
- name: Setup Magento
8385
if: env.SKIP_JOB != 'true'
8486
run: |
85-
docker run --rm \
86-
--network host \
87-
-v "$GITHUB_WORKSPACE:/workspace" \
88-
-w /workspace \
89-
-e MAGENTO_BASE_URL="${MAGENTO_BASE_URL}" \
90-
-e MAGENTO_BACKEND_FRONTNAME="${MAGENTO_BACKEND_FRONTNAME}" \
91-
-e MAGENTO_ADMIN_FIRSTNAME="${MAGENTO_ADMIN_FIRSTNAME}" \
92-
-e MAGENTO_ADMIN_LASTNAME="${MAGENTO_ADMIN_LASTNAME}" \
93-
-e MAGENTO_ADMIN_EMAIL="${MAGENTO_ADMIN_EMAIL}" \
94-
-e MAGENTO_ADMIN_USER="${MAGENTO_ADMIN_USER}" \
95-
-e MAGENTO_ADMIN_PASSWORD="${MAGENTO_ADMIN_PASSWORD}" \
96-
-e MAGENTO_LANGUAGE="${MAGENTO_LANGUAGE}" \
97-
-e MAGENTO_CURRENCY="${MAGENTO_CURRENCY}" \
98-
-e MAGENTO_TIMEZONE="${MAGENTO_TIMEZONE}" \
99-
-e MAGENTO_USE_REWRITES="${MAGENTO_USE_REWRITES}" \
100-
-e MAGENTO_SEARCH_ENGINE="${MAGENTO_SEARCH_ENGINE}" \
101-
-e COMPOSER_ALLOW_SUPERUSER="${COMPOSER_ALLOW_SUPERUSER}" \
102-
-e COMPOSER_MEMORY_LIMIT="${COMPOSER_MEMORY_LIMIT}" \
103-
-e MYSQL_HOST="${MYSQL_HOST}" \
104-
-e MYSQL_USER="${MYSQL_USER}" \
105-
-e MYSQL_PASSWORD="${MYSQL_PASSWORD}" \
106-
-e MYSQL_DATABASE="${MYSQL_DATABASE}" \
107-
-e MYSQL_ROOT_PASSWORD="${MYSQL_ROOT_PASSWORD}" \
108-
-e MYSQL_PORT="${MYSQL_PORT}" \
109-
-e OPENSEARCH_HOST="${OPENSEARCH_HOST}" \
110-
-e OPENSEARCH_PORT="${OPENSEARCH_PORT}" \
111-
-e MAGENTO_VERSION="${MAGENTO_VERSION}" \
112-
-e GITLAB_TOKEN="${GITLAB_TOKEN}" \
113-
-e COMPOSER_NAME="${COMPOSER_NAME}" \
114-
-e MAGENTO_MODULE="${MAGENTO_MODULE}" \
115-
yireo/magento2playwright:2.4.8-p3 \
116-
sh -c '
117-
set -e
118-
119-
# Create Magento in /tmp first (fast on tmpfs)
120-
cd /tmp/magento
121-
122-
if [ -n "${GITLAB_TOKEN}" ]; then
123-
composer config gitlab-domains gitlab.yireo.com
124-
composer config --global --auth http-basic.gitlab.yireo.com yireo "${GITLAB_TOKEN}"
125-
composer config repositories.loki-third-party composer https://gitlab.yireo.com/api/v4/group/loki-third-party/-/packages/composer/packages.json
126-
composer config repositories.loki-checkout composer https://gitlab.yireo.com/api/v4/group/loki-checkout/-/packages/composer/packages.json
127-
fi
128-
129-
# Run version-specific composer scripts if they exist
130-
test -f "/workspace/.github/workflows/composer-additional.sh" && source "/workspace/.github/workflows/composer-additional.sh"
131-
test -f "/workspace/.github/workflows/composer-${MAGENTO_VERSION}.sh" && source "/workspace/.github/workflows/composer-${MAGENTO_VERSION}.sh"
132-
133-
# Add local module and dependencies
134-
composer config repositories.local-source "{\"type\": \"path\", \"url\": \"/workspace\", \"options\": {\"symlink\": false}}"
135-
composer require --prefer-source -- "${COMPOSER_NAME}:@dev" loki-checkout/magento2-core-cli:@dev loki-checkout/magento2-functional-tests:@dev yireo/magento2-enable-module-sequence
136-
137-
# Install Magento
138-
/workspace/.github/workflows/magento-install.sh
87+
cd /tmp/magento
88+
89+
if [ -n "${GITLAB_TOKEN}" ]; then
90+
composer config gitlab-domains gitlab.yireo.com
91+
composer config --global --auth http-basic.gitlab.yireo.com yireo "${GITLAB_TOKEN}"
92+
composer config repositories.loki-third-party composer https://gitlab.yireo.com/api/v4/group/loki-third-party/-/packages/composer/packages.json
93+
composer config repositories.loki-checkout composer https://gitlab.yireo.com/api/v4/group/loki-checkout/-/packages/composer/packages.json
94+
fi
95+
96+
test -f "$GITHUB_WORKSPACE/.github/workflows/composer-additional.sh" && source "$GITHUB_WORKSPACE/.github/workflows/composer-additional.sh"
97+
test -f "$GITHUB_WORKSPACE/.github/workflows/composer-${MAGENTO_VERSION}.sh" && source "$GITHUB_WORKSPACE/.github/workflows/composer-${MAGENTO_VERSION}.sh"
98+
99+
composer config repositories.local-source "{\"type\": \"path\", \"url\": \"$GITHUB_WORKSPACE\", \"options\": {\"symlink\": false}}"
100+
composer require --prefer-source -- "${COMPOSER_NAME}:@dev" loki-checkout/magento2-core-cli:@dev loki-checkout/magento2-functional-tests:@dev yireo/magento2-enable-module-sequence
139101
140-
# Configure Magento
141-
bin/magento deploy:mode:set developer
142-
bin/magento module:enable Yireo_EnableModuleSequence
143-
bin/magento module:sequence LokiCheckout_FunctionalTests
144-
bin/magento module:sequence LokiCheckout_CoreCli
145-
bin/magento module:sequence "${MAGENTO_MODULE}"
146-
bin/magento setup:upgrade
147-
bin/magento loki-checkout:modules:dump
102+
$GITHUB_WORKSPACE/.github/workflows/magento-install.sh
103+
104+
bin/magento deploy:mode:set developer
105+
bin/magento module:enable Yireo_EnableModuleSequence
106+
bin/magento module:sequence LokiCheckout_FunctionalTests
107+
bin/magento module:sequence LokiCheckout_CoreCli
108+
bin/magento module:sequence "${MAGENTO_MODULE}"
109+
bin/magento setup:upgrade
110+
bin/magento loki-checkout:modules:dump
148111
149-
# Set test token
150-
magerun2 config:store:set loki_functional_tests/general/token loki -n
112+
magerun2 config:store:set loki_functional_tests/general/token loki -n
151113
152-
# Copy to workspace (this is mounted from host, so it persists)
153-
echo "Copying Magento to workspace..."
154-
cp -R /tmp/magento/* /workspace/magento/
114+
echo "Copying Magento to workspace..."
115+
mkdir -p $GITHUB_WORKSPACE/magento/
116+
cp -R /tmp/magento/* $GITHUB_WORKSPACE/magento/
155117
156-
echo "Magento setup complete"
157-
ls -la /workspace/magento/
158-
'
118+
echo "Magento setup complete"
159119
160120
- name: Verify Magento installation
161121
if: env.SKIP_JOB != 'true'
@@ -172,39 +132,21 @@ jobs:
172132
echo "GITHUB_WORKSPACE: $GITHUB_WORKSPACE"
173133
echo "MAGENTO_MODULE: $MAGENTO_MODULE"
174134
175-
# Run Playwright in its own container
176-
docker run --rm \
177-
--network host \
178-
--ipc=host \
179-
-v "$GITHUB_WORKSPACE:/work" \
180-
-w /work \
181-
-e MAGENTO_MODULE="${MAGENTO_MODULE}" \
182-
mcr.microsoft.com/playwright:v1.59.1-noble \
183-
bash -lc '
184-
set -e
185-
186-
echo "Playwright container started"
187-
echo "Checking /work directory..."
188-
ls -la /work/
189-
190-
if [ ! -d "/work/magento" ]; then
191-
echo "ERROR: /work/magento directory not found"
192-
exit 1
193-
fi
135+
if [ ! -d "$GITHUB_WORKSPACE/magento" ]; then
136+
echo "ERROR: magento directory not found"
137+
exit 1
138+
fi
194139
195-
echo "Magento directory found, contents:"
196-
ls -la /work/magento/
140+
echo "Navigating to Playwright test directory..."
141+
cd $GITHUB_WORKSPACE/magento/vendor/loki-checkout/magento2-functional-tests/Test/Playwright/
197142
198-
echo "Navigating to Playwright test directory..."
199-
cd /work/magento/vendor/loki-checkout/magento2-functional-tests/Test/Playwright/
200-
201-
echo "Installing npm dependencies..."
202-
npm install
203-
204-
echo "Creating .env file..."
205-
printf "TEST_URL=http://127.0.0.1:8888\nTEST_TOKEN=loki\n" > .env
206-
cat .env
143+
echo "Installing npm dependencies..."
144+
npm install
145+
npx playwright install chromium
146+
147+
echo "Creating .env file..."
148+
printf "TEST_URL=http://127.0.0.1:8888\nTEST_TOKEN=loki\n" > .env
149+
cat .env
207150
208-
echo "Running Playwright tests for project: ${MAGENTO_MODULE}"
209-
MAGENTO_ROOT=/work/magento npx playwright test --project=${MAGENTO_MODULE}
210-
'
151+
echo "Running Playwright tests for project: ${MAGENTO_MODULE}"
152+
MAGENTO_ROOT=$GITWORK_WORKSPACE/magento npx playwright test --project=${MAGENTO_MODULE}

0 commit comments

Comments
 (0)