Skip to content

Commit e57c5da

Browse files
committed
ci(git): Copy generic CI/CD files
1 parent 19aabc4 commit e57c5da

6 files changed

Lines changed: 76 additions & 34 deletions

File tree

.github/workflows/compile.yml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,25 @@ jobs:
1414
- name: Checkout sources
1515
uses: actions/checkout@v4
1616

17+
- name: Testing for MODULE.json file
18+
run: |
19+
test -f MODULE.json || echo "SKIP_JOB=true" >> $GITHUB_ENV
20+
21+
- name: Check Magento version
22+
if: env.SKIP_JOB != 'true'
23+
run: |
24+
jq -e --arg v "${{ matrix.magento_version }}" '.skip_magento_versions[] == $v' MODULE.json && echo "SKIP_JOB=true" >> $GITHUB_ENV || true
25+
26+
- name: Setting up module variables
27+
if: env.SKIP_JOB != 'true'
28+
run: |
29+
echo COMPOSER_NAME=`jq '.name' composer.json -r` >> $GITHUB_ENV
30+
echo MAGENTO_MODULE=`jq '.module_name' MODULE.json -r` >> $GITHUB_ENV
31+
1732
- name: Configure Yireo GitLab
33+
if: env.SKIP_JOB != 'true'
1834
run: |
1935
test -n "${{ secrets.GITLAB_TOKEN }}" || exit 0
20-
source ${GITHUB_WORKSPACE}/.module.ini
21-
grep -q SKIP_MAGENTO_VERSIONS .module.ini && [[ " ${SKIP_MAGENTO_VERSIONS[*]} " == *" $MAGENTO_VERSION "* ]] && exit 0
2236
cd /tmp/magento
2337
ls ${GITHUB_WORKSPACE}
2438
test -f ${GITHUB_WORKSPACE}/.github/workflows/composer-additional.sh && source ${GITHUB_WORKSPACE}/.github/workflows/composer-additional.sh
@@ -29,14 +43,15 @@ jobs:
2943
composer config repositories.loki-checkout composer https://gitlab.yireo.com/api/v4/group/loki-checkout/-/packages/composer/packages.json
3044
3145
- name: Add module source
46+
if: env.SKIP_JOB != 'true'
3247
run: |
33-
COMPOSER_NAME=$(grep '^COMPOSER_NAME=' .module.ini | cut -d= -f2- | tr -d '"')
3448
cp -R ${GITHUB_WORKSPACE} /tmp/magento/package-source
3549
cd /tmp/magento
3650
composer config repositories.local-source path package-source/
3751
composer require --prefer-source ${COMPOSER_NAME}:@dev
3852
3953
- name: Run Magento 2 compilation
54+
if: env.SKIP_JOB != 'true'
4055
run: |
4156
cd /tmp/magento
4257
bin/magento module:enable --all

.github/workflows/integration-tests.yml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
MYSQL_USER: magento2
1616
MYSQL_PASSWORD: magento2
1717
MYSQL_DATABASE: magento2
18-
options: --tmpfs /tmp:rw --tmpfs /var/lib/mysql:rw --health-cmd="mysqladmin ping"
18+
options: --tmpfs /tmp:rw --tmpfs /var/lib/mysql:rw --health-cmd="mysqladmin ping"
1919
opensearch:
2020
image: yireo/opensearch:latest
2121
env:
@@ -29,13 +29,26 @@ jobs:
2929
- name: Checkout sources
3030
uses: actions/checkout@v4
3131

32+
- name: Detecting integration tests
33+
run: |
34+
test -d $GITHUB_WORKSPACE/Test/Integration || echo "SKIP_JOB=true" >> $GITHUB_ENV
35+
3236
- name: Apply patch for reporting memory under Alpine
37+
if: env.SKIP_JOB != 'true'
3338
run: cd /tmp/magento && curl -fsSL https://patch-diff.githubusercontent.com/raw/magento/magento2/pull/39216.diff | git apply
3439

3540
- name: Apply patch for changing MySQL client configuration
41+
if: env.SKIP_JOB != 'true'
3642
run: cd /tmp/magento && curl -fsSL https://patch-diff.githubusercontent.com/raw/magento/magento2/pull/40410.diff | git apply
3743

44+
- name: Setting up module variables
45+
if: env.SKIP_JOB != 'true'
46+
run: |
47+
echo COMPOSER_NAME=`jq -e '.name' composer.json -r` >> $GITHUB_ENV
48+
echo MAGENTO_MODULE=`jq -e '.module_name' MODULE.json -r` >> $GITHUB_ENV
49+
3850
- name: Configure GitLab
51+
if: env.SKIP_JOB != 'true'
3952
run: |
4053
test -n "${{ secrets.GITLAB_TOKEN }}" || exit 0
4154
cd /tmp/magento
@@ -45,20 +58,16 @@ jobs:
4558
composer config repositories.loki-checkout composer https://gitlab.yireo.com/api/v4/group/loki-checkout/-/packages/composer/packages.json
4659
4760
- name: Add module source
61+
if: env.SKIP_JOB != 'true'
4862
run: |
49-
export COMPOSER_NAME=`cat .module.ini | grep COMPOSER_NAME | cut -f2 -d= | tr -d '"'`
5063
cp -R ${GITHUB_WORKSPACE} /tmp/magento/package-source
5164
cd /tmp/magento
5265
composer config repositories.local-source path package-source/
5366
composer require --prefer-source -- ${COMPOSER_NAME}:@dev yireo/magento2-integration-test-helper
5467
5568
- name: Run Magento 2 Integration Tests
69+
if: env.SKIP_JOB != 'true'
5670
run: |
57-
test -d $GITHUB_WORKSPACE/Test/Integration || exit 0
58-
export EXTENSION_VENDOR=`cat .module.ini | grep EXTENSION_VENDOR | cut -f2 -d= | tr -d '"'`
59-
export EXTENSION_NAME=`cat .module.ini | grep EXTENSION_NAME | cut -f2 -d= | tr -d '"'`
60-
export COMPOSER_NAME=`cat .module.ini | grep COMPOSER_NAME | cut -f2 -d= | tr -d '"'`
61-
export MAGENTO_MODULE=${EXTENSION_VENDOR}_${EXTENSION_NAME}
6271
cd /tmp/magento/dev/tests/integration/
6372
cp -R ${GITHUB_WORKSPACE}/.github/workflows/integration-tests/* .
6473
php ../../../vendor/bin/phpunit --atleast-version 9 && cp phpunit9.xml phpunit.xml

.github/workflows/playwright.yml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,29 +71,41 @@ jobs:
7171
with:
7272
fetch-depth: 1
7373

74+
- name: Detecting Playwright tests
75+
run: |
76+
test -d $GITHUB_WORKSPACE/Test/Playwright || exit 0
77+
78+
- name: Setting up module variables
79+
run: |
80+
echo COMPOSER_NAME=`jq '.name' composer.json -r` >> $GITHUB_ENV
81+
echo MAGENTO_MODULE=`jq '.module_name' MODULE.json -r` >> $GITHUB_ENV
82+
83+
- name: Configure Yireo GitLab
84+
run: |
85+
test -n "${{ secrets.GITLAB_TOKEN }}" || exit 0
86+
cd /tmp/magento
87+
composer config gitlab-domains gitlab.yireo.com
88+
composer config --global --auth http-basic.gitlab.yireo.com yireo "${GITLAB_TOKEN}"
89+
composer config repositories.loki-third-party composer https://gitlab.yireo.com/api/v4/group/loki-third-party/-/packages/composer/packages.json
90+
composer config repositories.loki-checkout composer https://gitlab.yireo.com/api/v4/group/loki-checkout/-/packages/composer/packages.json
91+
7492
- name: Run Magento Playwright setup and tests
7593
shell: bash
7694
run: |
7795
cd "$GITHUB_WORKSPACE"
78-
source .module.ini
79-
8096
cd /tmp/magento
8197
8298
test -f "$GITHUB_WORKSPACE/.github/workflows/composer-additional.sh" && source "$GITHUB_WORKSPACE/.github/workflows/composer-additional.sh"
8399
test -f "$GITHUB_WORKSPACE/.github/workflows/composer-${MAGENTO_VERSION}.sh" && source "$GITHUB_WORKSPACE/.github/workflows/composer-${MAGENTO_VERSION}.sh"
84100
85-
composer config gitlab-domains gitlab.yireo.com
86-
composer config --global --auth http-basic.gitlab.yireo.com yireo "${GITLAB_TOKEN}"
87-
composer config repositories.loki-third-party composer https://gitlab.yireo.com/api/v4/group/loki-third-party/-/packages/composer/packages.json
88-
composer config repositories.loki-checkout composer https://gitlab.yireo.com/api/v4/group/loki-checkout/-/packages/composer/packages.json
89101
composer config repositories.local-source path "$GITHUB_WORKSPACE"
90102
composer require --prefer-source -- "${COMPOSER_NAME}:@dev" loki-checkout/magento2-functional-tests:@dev yireo/magento2-enable-module-sequence
91103
92104
source "$GITHUB_WORKSPACE/.github/workflows/magento-install.sh"
93105
94106
bin/magento module:enable Yireo_EnableModuleSequence
95107
bin/magento module:sequence LokiCheckout_FunctionalTests
96-
bin/magento module:sequence "${EXTENSION_VENDOR}_${EXTENSION_NAME}"
108+
bin/magento module:sequence "${MAGENTO_MODULE}"
97109
bin/magento setup:upgrade
98110
99111
magerun2 config:store:set loki_functional_tests/general/token loki -n
@@ -107,4 +119,4 @@ jobs:
107119
echo "TEST_URL=${MAGENTO_BASE_URL}" >> .env
108120
echo "TEST_TOKEN=loki" >> .env
109121
110-
npx playwright test --project="${EXTENSION_VENDOR}_${EXTENSION_NAME}"
122+
npx playwright test --project="${MAGENTO_MODULE}"

.github/workflows/static-tests.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,14 @@ jobs:
3939
composer config --auth gitlab-token.gitlab.yireo.com ${{ secrets.GITLAB_TOKEN }}
4040
composer config repositories.loki-checkout composer https://gitlab.yireo.com/api/v4/group/loki-checkout/-/packages/composer/packages.json
4141
42+
- name: Setting up module variables
43+
run: |
44+
echo COMPOSER_NAME=`jq '.name' composer.json -r` >> $GITHUB_ENV
45+
echo MAGENTO_MODULE=`jq '.module_name' MODULE.json -r` >> $GITHUB_ENV
46+
4247
- name: Add module source
4348
run: |
44-
export COMPOSER_NAME=`cat .module.ini | grep COMPOSER_NAME | cut -f2 -d= | tr -d '"'`
45-
export COMPOSER_DEV_REQUIREMENTS=`jq -r '.["require-dev"] // {} | to_entries | map("\(.key):\(.value)") | join(" ")' composer.json`
49+
COMPOSER_DEV_REQUIREMENTS=`jq -r '.["require-dev"] // {} | to_entries | map("\(.key):\(.value)") | join(" ")' composer.json`
4650
cp -R ${GITHUB_WORKSPACE} /tmp/magento/package-source
4751
cd /tmp/magento
4852
composer config repositories.local-source path package-source/
@@ -54,12 +58,11 @@ jobs:
5458
5559
- name: Run Magento 2 PHPStan Tests
5660
run: |
57-
export COMPOSER_NAME=`cat .module.ini | grep COMPOSER_NAME | cut -f2 -d= | tr -d '"'`
58-
export PHPSTAN_LEVEL=$(jq -r '.phpstan_level // 1' MODULE.json)
61+
PHPSTAN_LEVEL=$(jq -r '.phpstan_level // 1' MODULE.json)
5962
test -z "$PHPSTAN_LEVEL" && PHPSTAN_LEVEL=1
6063
test -f /tmp/magento/phpstan.neon || echo 'parameters:' > /tmp/magento/phpstan.neon
6164
echo "Testing for PHPStan level $PHPSTAN_LEVEL"
6265
cd /tmp/magento
63-
export MODULE_PATH=$(realpath vendor/${COMPOSER_NAME})
66+
MODULE_PATH=$(realpath vendor/${COMPOSER_NAME})
6467
php -d memory_limit=4G vendor/bin/phpstan analyse --level $PHPSTAN_LEVEL $MODULE_PATH
6568

.github/workflows/unit-tests.yml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,18 @@ jobs:
1111
- name: Checkout sources
1212
uses: actions/checkout@v4
1313

14+
- name: Detecting unit tests
15+
run: |
16+
test -d $GITHUB_WORKSPACE/Test/Unit || echo "SKIP_JOB=true" >> $GITHUB_ENV
17+
18+
- name: Setting up module variables
19+
if: env.SKIP_JOB != 'true'
20+
run: |
21+
echo COMPOSER_NAME=`jq '.name' $GITHUB_WORKSPACE/composer.json -r` >> $GITHUB_ENV
22+
echo MAGENTO_MODULE=`jq '.module_name' $GITHUB_WORKSPACE/MODULE.json -r` >> $GITHUB_ENV
23+
1424
- name: Configure GitLab
25+
if: env.SKIP_JOB != 'true'
1526
run: |
1627
test -n "${{ secrets.GITLAB_TOKEN }}" || exit 0
1728
cd /tmp/magento
@@ -21,18 +32,16 @@ jobs:
2132
composer config repositories.loki-checkout composer https://gitlab.yireo.com/api/v4/group/loki-checkout/-/packages/composer/packages.json
2233
2334
- name: Add module source
35+
if: env.SKIP_JOB != 'true'
2436
run: |
25-
export COMPOSER_NAME=`cat .module.ini | grep COMPOSER_NAME | cut -f2 -d= | tr -d '"'`
26-
test -z "$COMPOSER_NAME}" && (echo "No composer name found" && exit 1)
2737
cp -R $GITHUB_WORKSPACE /tmp/magento/package-source
2838
cd /tmp/magento
2939
composer config repositories.local-source path package-source/
3040
composer require --prefer-source -W -- $COMPOSER_NAME:@dev
3141
3242
- name: Run Magento 2 Unit Tests
43+
if: env.SKIP_JOB != 'true'
3344
run: |
34-
test -d $GITHUB_WORKSPACE/Test/Unit || exit 0
35-
export COMPOSER_NAME=`cat .module.ini | grep COMPOSER_NAME | cut -f2 -d= | tr -d '"'`
3645
cd /tmp/magento/dev/tests/unit/
3746
php -d memory_limit=4G ../../../vendor/bin/phpunit -c phpunit.xml.dist ../../../vendor/$COMPOSER_NAME/Test/Unit
38-
47+

.module.ini

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)