Skip to content

Commit 5e03553

Browse files
committed
OXDEV-9270 Fix GHA
1 parent 217c255 commit 5e03553

2 files changed

Lines changed: 40 additions & 30 deletions

File tree

‎.github/workflows/development.yml‎

Lines changed: 40 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,27 @@ on:
44
push:
55
pull_request:
66
workflow_dispatch:
7-
schedule:
8-
- cron: '0 9 * * 1'
7+
inputs:
8+
shop_branch:
9+
description: 'Branch of oxideshop-ce to use'
10+
required: false
911

1012
jobs:
1113
run_tests:
1214
env:
13-
INSTALL_DIR: migration_wrapper
15+
SHOP_BRANCH: ${{ inputs.shop_branch || 'b-7.5.x' }}
1416
strategy:
1517
matrix:
1618
php: [ '8.3', '8.4', '8.5' ]
1719
mysql: [ '8.0', '8.4' ]
1820
fail-fast: false
1921
runs-on: ubuntu-latest
2022
steps:
21-
- name: Clone Docker Eshop SDK
23+
- name: Clone testing environment
2224
run: git clone --depth 1 https://github.com/OXID-eSales/docker-eshop-sdk.git --branch master --single-branch .
2325

24-
- name: Clone Migration Wrapper (on default branch - ${{ github.event.repository.default_branch }})
25-
run: git clone --branch ${{ github.ref_name }} https://github.com/OXID-eSales/oxideshop-doctrine-migration-wrapper.git source/$INSTALL_DIR
26+
- name: Clone the shop
27+
run: git clone --depth 1 https://github.com/OXID-eSales/oxideshop_ce.git --branch ${{ env.SHOP_BRANCH }} --single-branch source
2628

2729
- name: Prepare container configuration
2830
run: |
@@ -33,39 +35,48 @@ jobs:
3335
-e "s#MYSQL_VERSION=.*#MYSQL_VERSION='${{ matrix.mysql }}'#g;"\
3436
.env
3537
perl -pi\
36-
-e 's#display_errors =.*#display_errors = true#g;'\
37-
-e 'print "xdebug.max_nesting_level=1000\n\n";'\
38-
-e 'print "error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_WARNING\n"'\
39-
containers/php/custom.ini
40-
perl -pi\
41-
-e 's#/var/www/#/var/www/$INSTALL_DIR/source/#g;'\
38+
-e 's#/var/www/#/var/www/source/#g;'\
4239
containers/httpd/project.conf
4340
41+
- name: Prepare shop configuration
42+
run: |
43+
cp source/source/config.inc.php.dist source/source/config.inc.php
44+
perl -pi\
45+
-e 's#<dbHost>#mysql#g;'\
46+
-e 's#<dbUser>#root#g;'\
47+
-e 's#<dbName>#example#g;'\
48+
-e 's#<dbPwd>#root#g;'\
49+
-e 's#<dbPort>#3306#g;'\
50+
-e 's#<sShopURL>#http://localhost.local/#g;'\
51+
-e 's#<sShopDir>#/var/www/source/#g;'\
52+
-e 's#<sCompileDir>#/var/www/source/tmp/#g;'\
53+
source/source/config.inc.php
54+
4455
- name: Start containers
4556
run: |
4657
make up
4758
sleep 2
4859
49-
- name: Install Composer dependencies (on default branch - ${{ github.event.repository.default_branch }})
60+
- name: Install shop and component
5061
run: |
51-
docker compose exec -T -w /var/www/$INSTALL_DIR php \
52-
composer config allow-plugins.oxid-esales/oxideshop-unified-namespace-generator true
53-
docker compose exec -T -w /var/www/$INSTALL_DIR php \
54-
composer config allow-plugins.oxid-esales/oxideshop-composer-plugin true
55-
docker compose exec -T -w /var/www/$INSTALL_DIR php \
56-
composer install --no-interaction
62+
docker compose exec -T php composer config preferred-install.oxid-esales/* source
63+
docker compose exec -T php composer require oxid-esales/oxideshop-doctrine-migration-wrapper:dev-${{ github.ref_name }} --prefer-source --no-interaction
64+
cd source && sed -i 's|"OxidEsales\\\\EshopCommunity\\\\Tests\\\\|"OxidEsales\\\\DoctrineMigrationWrapper\\\\Tests\\\\": "vendor/oxid-esales/oxideshop-doctrine-migration-wrapper/tests",\n "OxidEsales\\\\EshopCommunity\\\\Tests\\\\|' composer.json
65+
docker compose exec -T php composer dump-autoload
5766
58-
- name: Install Shop
59-
run: |
60-
docker compose exec -T -w /var/www/$INSTALL_DIR php \
61-
vendor/bin/oe-console oe:setup:shop --db-host mysql --db-port 3306 --db-name example --db-user root --db-password root --shop-url localhost.localhost --shop-directory /var/www/$INSTALL_DIR/source/ --compile-directory /var/www/$INSTALL_DIR/source/tmp/
67+
- name: Reset shop
68+
run: docker compose exec -T php php bin/oe-console oe:database:reset --db-host=mysql --db-port=3306 --db-name=example --db-user=root --db-password=root --force
6269

6370
- name: Run tests
6471
run: |
65-
docker compose exec -T -e ACTIONS_RUNNER_DEBUG=true -w /var/www/$INSTALL_DIR php \
66-
php vendor/bin/phpunit --bootstrap /var/www/$INSTALL_DIR/source/bootstrap.php tests/
72+
docker compose exec -T php php vendor/bin/phpunit vendor/oxid-esales/oxideshop-doctrine-migration-wrapper/tests --bootstrap=/var/www/source/bootstrap.php | tee PHP${{ matrix.php }}_MYSQL${{ matrix.mysql }}_phpunit_log.txt 2>&1 || true
73+
if grep -q -Ei 'fail|\\.\\=\\=|Warning|Deprecated|Fatal|Error' PHP${{ matrix.php }}_MYSQL${{ matrix.mysql }}_phpunit_log.txt; then exit 1; fi
6774
68-
- name: Stop containers
69-
run: |
70-
docker compose down
71-
sleep 2
75+
- name: Upload PHPUnit Log
76+
if: always()
77+
uses: actions/upload-artifact@v4
78+
with:
79+
name: phpunit-logs-PHP${{ matrix.php }}-MYSQL${{ matrix.mysql }}
80+
path: PHP${{ matrix.php }}_MYSQL${{ matrix.mysql }}_phpunit_log.txt
81+
if-no-files-found: error
82+
retention-days: 7

‎composer.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
"require-dev": {
1212
"ext-pdo": "*",
1313
"mikey179/vfsstream": "^1.6",
14-
"oxid-esales/oxideshop-ce": "*",
1514
"phpspec/prophecy-phpunit": "^v2.0",
1615
"symfony/filesystem": "*",
1716
"symfony/yaml": "*"

0 commit comments

Comments
 (0)