3535 OPENSEARCH_JAVA_OPTS : " -Xms128m -Xmx128m"
3636 OPENSEARCH_INITIAL_ADMIN_PASSWORD : " admin"
3737 MAGENTO_VERSION : " 2.4.8-p3"
38+ DISABLE_INVENTORY : true
39+ DISABLE_GRAPHQL : true
40+ DISABLE_ADOBE : true
3841 GITLAB_TOKEN : ${{ secrets.GITLAB_TOKEN }}
3942
4043 services :
@@ -47,22 +50,22 @@ jobs:
4750 MYSQL_ROOT_PASSWORD : root
4851 options : >-
4952 --health-cmd="mysqladmin ping"
50- --health-interval=10s
53+ --health-interval=1s
5154 --health-timeout=5s
5255 --health-retries=3
5356
5457 redis :
5558 image : redis:latest
5659 options : >-
5760 --health-cmd="redis-cli ping"
58- --health-interval=10s
61+ --health-interval=1s
5962 --health-timeout=5s
6063 --health-retries=3
6164
6265 opensearch :
6366 image : yireo/opensearch
6467 env :
65- OPENSEARCH_JAVA_OPTS : " -Xms128m -Xmx128m "
68+ OPENSEARCH_JAVA_OPTS : " -Xms256m -Xmx256m "
6669 OPENSEARCH_INITIAL_ADMIN_PASSWORD : " admin"
6770
6871 steps :
@@ -72,86 +75,93 @@ jobs:
7275 fetch-depth : 1
7376
7477 - name : Detecting Playwright tests
78+ run : test -d $GITHUB_WORKSPACE/Test/Playwright || echo "SKIP_JOB=true" >> $GITHUB_ENV || true
79+
80+ - name : Cleanup PHP
81+ if : env.SKIP_JOB != 'true'
7582 run : |
76- test -d $GITHUB_WORKSPACE/Test/Playwright || echo "SKIP_JOB=true" >> $GITHUB_ENV
83+ test -f /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && rm -f /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini || true
84+
85+ - name : Configure Git safe directory
86+ if : env.SKIP_JOB != 'true'
87+ run : git config --global --add safe.directory "$GITHUB_WORKSPACE"
7788
7889 - name : Setting up module variables
7990 if : env.SKIP_JOB != 'true'
8091 run : |
8192 echo COMPOSER_NAME=`jq '.name' composer.json -r` >> $GITHUB_ENV
8293 echo MAGENTO_MODULE=`jq '.module_name' MODULE.json -r` >> $GITHUB_ENV
8394
84- - name : Setup Magento
95+ - name : Configure GitLab
8596 if : env.SKIP_JOB != 'true'
8697 run : |
98+ test -n "${{ secrets.GITLAB_TOKEN }}" || exit 0
8799 cd /tmp/magento
100+ composer config gitlab-domains gitlab.yireo.com
101+ composer config --global --auth gitlab-token.gitlab.yireo.com "${{ secrets.GITLAB_TOKEN }}"
102+ composer config repositories.loki-third-party composer https://gitlab.yireo.com/api/v4/group/loki-third-party/-/packages/composer/packages.json
103+ composer config repositories.loki-checkout composer https://gitlab.yireo.com/api/v4/group/loki-checkout/-/packages/composer/packages.json
104+ composer config repositories.loki-checkout-dev composer https://gitlab.yireo.com/api/v4/group/loki-checkout-dev/-/packages/composer/packages.json
88105
89- if [ -n "${GITLAB_TOKEN}" ]; then
90- echo "Configuring GitLab"
91- composer config gitlab-domains gitlab.yireo.com
92- composer config --global --auth http-basic.gitlab.yireo.com yireo "${GITLAB_TOKEN}"
93- composer config repositories.loki-third-party composer https://gitlab.yireo.com/api/v4/group/loki-third-party/-/packages/composer/packages.json
94- composer config repositories.loki-checkout-dev composer https://gitlab.yireo.com/api/v4/group/loki-checkout-dev/-/packages/composer/packages.json
95- composer config repositories.loki-checkout composer https://gitlab.yireo.com/api/v4/group/loki-checkout/-/packages/composer/packages.json
96- fi
106+ - name : Configure Magento Marketplace
107+ if : env.SKIP_JOB != 'true'
108+ run : |
109+ test -n "${{ secrets.MAGENTO_MARKETPLACE_PUBLIC_KEY }}" || exit 0
110+ composer config --global --auth http-basic.repo.magento.com "${{ secrets.MAGENTO_MARKETPLACE_PUBLIC_KEY }}" "${{ secrets.MAGENTO_MARKETPLACE_PRIVATE_KEY }}"
97111
98- echo "Running additional composer actions"
99- test -f "$GITHUB_WORKSPACE/.github/workflows/composer-additional.sh" && source "$GITHUB_WORKSPACE/.github/workflows/composer-additional.sh"
100- test -f "$GITHUB_WORKSPACE/.github/workflows/composer-${MAGENTO_VERSION}.sh" && source "$GITHUB_WORKSPACE/.github/workflows/composer-${MAGENTO_VERSION}.sh"
112+ - name : Configure composer
113+ if : env.SKIP_JOB != 'true'
114+ run : |
115+ cd /tmp/magento
116+ composer config --global --auth github-oauth.github.com "${{ secrets.COMPOSER_GITHUB_TOKEN }}"
117+ test -f $GITHUB_WORKSPACE/.github/workflows/composer-additional.sh && source $GITHUB_WORKSPACE/.github/workflows/composer-additional.sh || true
118+ test -f $GITHUB_WORKSPACE/.github/workflows/composer-${MAGENTO_VERSION}.sh && source $GITHUB_WORKSPACE/.github/workflows/composer-${MAGENTO_VERSION}.sh || true
101119
102- echo "Configuring local sources"
103- composer config repositories.local-source "{\"type\": \"path\", \"url\": \"$GITHUB_WORKSPACE\", \"options\": {\"symlink\": false}}"
104- composer require --prefer-source -- "${COMPOSER_NAME}:@dev" loki-checkout/magento2-core-cli:@dev loki-checkout/magento2-functional-tests:@dev yireo/magento2-enable-module-sequence:@dev
120+ - name : Add module source
121+ if : env.SKIP_JOB != 'true'
122+ run : |
123+ cp -R ${GITHUB_WORKSPACE} /tmp/magento/package-source
124+ cd /tmp/magento
125+ composer config repositories.local-source path /tmp/magento/package-source
126+ composer require -n --prefer-source -- "${COMPOSER_NAME}:@dev" loki-checkout/magento2-core-cli:@dev loki-checkout/magento2-sample-data:@dev loki-checkout/magento2-functional-tests:@dev yireo/magento2-enable-module-sequence:@dev
105127
106- $GITHUB_WORKSPACE/.github/workflows/magento-install.sh
128+ - name : Setup Magento
129+ if : env.SKIP_JOB != 'true'
130+ run : |
131+ cd /tmp/magento
132+ $GITHUB_WORKSPACE/.github/workflows/magento-install.sh || true
107133
108- bin/magento deploy:mode:set developer
109134 bin/magento module:enable Yireo_EnableModuleSequence
110- bin/magento module:sequence LokiCheckout_FunctionalTests LokiCheckout_CoreCli "${MAGENTO_MODULE}"
135+ bin/magento module:sequence LokiCheckout_FunctionalTests LokiCheckout_SampleData LokiCheckout_CoreCli "${MAGENTO_MODULE}"
111136 bin/magento setup:upgrade
137+ bin/magento loki-checkout:sample-data:add-product
112138 bin/magento loki-checkout:modules:dump
113139
114- magerun2 config:store:set loki_functional_tests/general/token loki -n
115-
116- echo "Copying Magento to workspace..."
117- mkdir -p $GITHUB_WORKSPACE/magento/
118- cp -R /tmp/magento/* $GITHUB_WORKSPACE/magento/
119-
120- echo "Magento setup complete"
140+ magerun2 config:store:set loki_checkout/functional_tests/token loki -n
121141
122142 - name : Verify Magento installation
123143 if : env.SKIP_JOB != 'true'
124144 run : |
125145 echo "Verifying Magento installation in workspace..."
126- ls -la $GITHUB_WORKSPACE/magento/
127- test -f $GITHUB_WORKSPACE/magento/bin/magento || (echo "ERROR: Magento installation verification failed" && exit 1)
146+ test -f /tmp/magento/bin/magento || (echo "ERROR: Magento installation verification failed" && exit 1) || true
128147 echo "Magento installation verified successfully"
129148
130149 - name : Run Playwright tests
131150 if : env.SKIP_JOB != 'true'
132151 run : |
133- echo "Starting Playwright tests..."
134- echo "GITHUB_WORKSPACE: $GITHUB_WORKSPACE"
135- echo "MAGENTO_MODULE: $MAGENTO_MODULE"
136-
137- if [ ! -d "$GITHUB_WORKSPACE/magento" ]; then
138- echo "ERROR: magento directory not found"
139- exit 1
140- fi
141-
142152 echo "Navigating to Playwright test directory..."
143- cd $GITHUB_WORKSPACE /magento/vendor/loki-checkout/magento2-functional-tests/Test/Playwright/
153+ cd /tmp /magento/vendor/loki-checkout/magento2-functional-tests/Test/Playwright/
144154
145155 echo "Installing npm dependencies..."
156+ # @todo: Add package-json.lock and run npm ci
146157 npm install
147158 npx playwright install chromium
148159
149160 echo "Creating .env file..."
150161 printf "TEST_URL=http://127.0.0.1:8888\nTEST_TOKEN=loki\n" > .env
151- cat .env
152162
153- echo "Running Playwright tests for project: ${MAGENTO_MODULE}"
154- CI=true MAGENTO_ROOT=$GITWORK_WORKSPACE /magento npx playwright test --project=${MAGENTO_MODULE}
163+ echo "Running Playwright tests for project ${MAGENTO_MODULE}"
164+ CI=true TEST_TOKEN=loki MAGENTO_ROOT=/tmp /magento npx playwright test --project=${MAGENTO_MODULE}
155165
156166 - name : Upload Playwright report
157167 if : ${{ !cancelled() }}
0 commit comments