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,84 +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- 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
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 }}"
95111
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"
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
98119
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
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
101127
102- $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
103133
104- bin/magento deploy:mode:set developer
105134 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}"
135+ bin/magento module:sequence LokiCheckout_FunctionalTests LokiCheckout_SampleData LokiCheckout_CoreCli "${MAGENTO_MODULE}"
109136 bin/magento setup:upgrade
137+ bin/magento loki-checkout:sample-data:add-product
110138 bin/magento loki-checkout:modules:dump
111139
112- magerun2 config:store:set loki_functional_tests/general/token loki -n
113-
114- echo "Copying Magento to workspace..."
115- mkdir -p $GITHUB_WORKSPACE/magento/
116- cp -R /tmp/magento/* $GITHUB_WORKSPACE/magento/
117-
118- echo "Magento setup complete"
140+ magerun2 config:store:set loki_checkout/functional_tests/token loki -n
119141
120142 - name : Verify Magento installation
121143 if : env.SKIP_JOB != 'true'
122144 run : |
123145 echo "Verifying Magento installation in workspace..."
124- ls -la $GITHUB_WORKSPACE/magento/
125- 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
126147 echo "Magento installation verified successfully"
127148
128149 - name : Run Playwright tests
129150 if : env.SKIP_JOB != 'true'
130151 run : |
131- echo "Starting Playwright tests..."
132- echo "GITHUB_WORKSPACE: $GITHUB_WORKSPACE"
133- echo "MAGENTO_MODULE: $MAGENTO_MODULE"
134-
135- if [ ! -d "$GITHUB_WORKSPACE/magento" ]; then
136- echo "ERROR: magento directory not found"
137- exit 1
138- fi
139-
140152 echo "Navigating to Playwright test directory..."
141- cd $GITHUB_WORKSPACE /magento/vendor/loki-checkout/magento2-functional-tests/Test/Playwright/
153+ cd /tmp /magento/vendor/loki-checkout/magento2-functional-tests/Test/Playwright/
142154
143155 echo "Installing npm dependencies..."
156+ # @todo: Add package-json.lock and run npm ci
144157 npm install
145158 npx playwright install chromium
146159
147160 echo "Creating .env file..."
148161 printf "TEST_URL=http://127.0.0.1:8888\nTEST_TOKEN=loki\n" > .env
149- cat .env
150162
151- echo "Running Playwright tests for project: ${MAGENTO_MODULE}"
152- 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}
153165
154166 - name : Upload Playwright report
155167 if : ${{ !cancelled() }}
0 commit comments