Skip to content

Commit 406ce2c

Browse files
Merge pull request #64 from Adyen/develop
Release V1.2.1
2 parents eec79f2 + 17fdb20 commit 406ce2c

File tree

11 files changed

+554
-9
lines changed

11 files changed

+554
-9
lines changed

.github/Dockerfile

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
ARG PHP_VERSION
2+
FROM php:${PHP_VERSION}-apache
3+
LABEL maintainer="Adyen <[email protected]>"
4+
5+
ENV MAGENTO_HOST="<will be defined>" \
6+
DB_SERVER="<will be defined>" \
7+
DB_PORT=3306 \
8+
DB_NAME=magento \
9+
DB_USER=magento \
10+
DB_PASSWORD=magento \
11+
DB_PREFIX=m2_ \
12+
ELASTICSEARCH_SERVER="<will be defined>" \
13+
ELASTICSEARCH_PORT=9200 \
14+
ELASTICSEARCH_INDEX_PREFIX=magento2 \
15+
ELASTICSEARCH_TIMEOUT=15 \
16+
ADMIN_NAME=admin \
17+
ADMIN_LASTNAME=admin \
18+
19+
ADMIN_USERNAME=admin \
20+
ADMIN_PASSWORD=admin123 \
21+
ADMIN_URLEXT=admin \
22+
MAGENTO_LANGUAGE=en_US \
23+
MAGENTO_CURRENCY=EUR \
24+
MAGENTO_TZ=Europe/Amsterdam \
25+
DEPLOY_SAMPLEDATA=0 \
26+
USE_SSL=1 \
27+
SSH_PRIVATE_KEY=${SSH_PRIVATE_KEY}
28+
29+
RUN apt-get update \
30+
&& apt-get install -y libjpeg62-turbo-dev \
31+
libpng-dev \
32+
libfreetype6-dev \
33+
libxml2-dev \
34+
libzip-dev \
35+
libssl-dev \
36+
libxslt-dev \
37+
default-mysql-client \
38+
ssl-cert \
39+
wget \
40+
cron \
41+
unzip \
42+
ssh \
43+
git
44+
45+
RUN docker-php-ext-configure gd --with-freetype --with-jpeg
46+
RUN docker-php-ext-install -j$(nproc) bcmath gd intl pdo_mysql simplexml soap sockets xsl zip
47+
RUN a2enmod ssl
48+
RUN a2ensite default-ssl.conf #can be removed if not needed
49+
WORKDIR /var/www/html
50+
COPY config/php.ini /usr/local/etc/php/
51+
COPY scripts/install_magento.sh /tmp/install_magento.sh
52+
COPY scripts/install_hyva.sh /tmp/install_hyva.sh
53+
54+
RUN if [ -x "$(command -v apache2-foreground)" ]; then a2enmod rewrite; fi
55+
56+
ARG MAGENTO_VERSION
57+
ADD "https://github.com/magento/magento2/archive/refs/tags/${MAGENTO_VERSION}.tar.gz" /tmp/magento.tar.gz
58+
ADD "https://github.com/magento/magento2-sample-data/archive/refs/tags/${MAGENTO_VERSION}.tar.gz" /tmp/sample-data.tar.gz
59+
60+
RUN chmod +x /tmp/install_magento.sh
61+
RUN chmod +x /tmp/install_hyva.sh
62+
63+
# Create the directory here because www-data won't have permissions to make it themselves.
64+
RUN mkdir -p /var/www/.ssh
65+
RUN chown -R www-data:www-data /var/www/.ssh
66+
67+
CMD ["bash", "/tmp/install_magento.sh"]

.github/Makefile

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Install N98-Magerun
2+
n98-magerun2.phar:
3+
wget -q https://files.magerun.net/n98-magerun2.phar
4+
chmod +x ./n98-magerun2.phar
5+
6+
# Check Magento installation
7+
sys-check: n98-magerun2.phar
8+
./n98-magerun2.phar sys:check
9+
10+
# Install Magento (without starting Apache)
11+
magento:
12+
sed '/exec /d' /tmp/install_magento.sh | bash
13+
14+
hyva: install-hyva configure flush
15+
16+
# Hyva install
17+
install-hyva:
18+
sed '/exec /d' /tmp/install_hyva.sh | bash
19+
20+
# Install developer module
21+
dev-module:
22+
bin/magento module:enable Adyen_Developer
23+
bin/magento setup:upgrade
24+
25+
# Configuration
26+
configure: n98-magerun2.phar
27+
echo "configuration step started"
28+
bin/magento config:set payment/adyen_abstract/demo_mode 1
29+
bin/magento adyen:enablepaymentmethods:run
30+
bin/magento config:set payment/adyen_abstract/has_holder_name 1
31+
bin/magento config:set payment/adyen_pay_by_link/active 1
32+
bin/magento config:set payment/adyen_pay_by_link/days_to_expire 5
33+
bin/magento config:set payment/adyen_giving/active 1
34+
bin/magento config:set payment/adyen_giving/charity_description 'test'
35+
bin/magento config:set payment/adyen_giving/charity_website 'https://adyen.com'
36+
bin/magento config:set payment/adyen_giving/charity_merchant_account "${DONATION_ACCOUNT}"
37+
bin/magento config:set payment/adyen_giving/donation_amounts '1,5,10'
38+
bin/magento config:set payment/adyen_giving/background_image ''
39+
bin/magento config:set payment/adyen_abstract/merchant_account "${ADYEN_MERCHANT}"
40+
bin/magento config:set payment/adyen_abstract/notifications_ip_check 0
41+
bin/magento config:set payment/adyen_abstract/payment_authorized 'processing'
42+
bin/magento config:set payment/adyen_abstract/payment_pre_authorized 'pending_payment'
43+
bin/magento config:set payment/adyen_abstract/capture_mode 'manual'
44+
bin/magento config:set payment/adyen_abstract/paypal_capture_mode 0
45+
bin/magento config:set payment/adyen_abstract/recurring_configuration '{"adyen_cc":{"name":"Credit Card","enabled":"1","recurringProcessingModel":"CardOnFile"}}'
46+
bin/magento config:set payment/adyen_cc_vault/require_cvc 1
47+
bin/magento config:set payment/adyen_abstract/client_key_test "${ADYEN_CLIENT_KEY}"
48+
bin/magento config:set payment/adyen_abstract/notification_username 'admin'
49+
bin/magento config:set payment/adyen_abstract/payment_methods_active 1
50+
bin/magento config:set payment/adyen_abstract/has_holder_name 1
51+
./n98-magerun2.phar config:store:set --encrypt payment/adyen_abstract/notification_password '1234' > /dev/null
52+
./n98-magerun2.phar config:store:set --encrypt payment/adyen_abstract/api_key_test "${ADYEN_API_KEY}" > /dev/null
53+
echo "configuration step ended"
54+
55+
# Clear cache
56+
flush:
57+
bin/magento cache:flush
58+
59+
# Setup permissions
60+
fs:
61+
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
62+
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
63+
chmod 777 -R var
64+
chown -R www-data:www-data .
65+
chmod u+x bin/magento
66+
echo "memory_limit = -1" > /usr/local/etc/php/conf.d/memory.ini
67+
68+
# Production mode
69+
production:
70+
bin/magento deploy:mode:set production
71+
72+
refresh:
73+
rm -rf generated/metadata
74+
rm -rf generated/code
75+
rm -rf pub/static/adminhtml/*
76+
rm -rf pub/static/frontend/*
77+
78+
bin/magento setup:upgrade
79+
bin/magento setup:di:compile
80+
bin/magento setup:static-content:deploy -f
81+
bin/magento cache:flush
82+
83+
MAGENTO_ROOT=/var/www/html

.github/config/php.ini

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
memory_limit = 2G
2+
; Error reporting in production mode
3+
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
4+
display_errors = Off
5+
display_startup_errors = On
6+
post_max_size = 20M
7+
upload_max_filesize = 20M
8+
date.timezone = Europe/Amsterdam

.github/docker-compose.e2e.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
version: '3'
2+
services:
3+
playwright:
4+
image: mcr.microsoft.com/playwright:v1.40.1
5+
shm_size: 1gb
6+
ipc: host
7+
cap_add:
8+
- SYS_ADMIN
9+
networks:
10+
- backend
11+
environment:
12+
- INTEGRATION_TESTS_BRANCH
13+
- MAGENTO_BASE_URL
14+
- MAGENTO_ADMIN_USERNAME
15+
- MAGENTO_ADMIN_PASSWORD
16+
- PAYPAL_USERNAME
17+
- PAYPAL_PASSWORD
18+
- ADYEN_API_KEY
19+
- ADYEN_CLIENT_KEY
20+
- ADYEN_MERCHANT
21+
- GOOGLE_USERNAME
22+
- GOOGLE_PASSWORD
23+
- WEBHOOK_USERNAME
24+
- WEBHOOK_PASSWORD
25+
volumes:
26+
- ./scripts:/scripts
27+
- ../test-report:/tmp/test-report
28+
networks:
29+
backend:

.github/docker-compose.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
version: '3'
2+
3+
services:
4+
web:
5+
build:
6+
context: .
7+
args:
8+
- PHP_VERSION=${PHP_VERSION}
9+
- MAGENTO_VERSION=${MAGENTO_VERSION}
10+
container_name: magento2-hyva-container
11+
networks:
12+
backend:
13+
aliases:
14+
- magento2.test.com
15+
extra_hosts:
16+
- "magento2.test.com:127.0.0.1"
17+
environment:
18+
DB_SERVER: mariadb
19+
ELASTICSEARCH_SERVER: elasticsearch
20+
MAGENTO_HOST: magento2.test.com
21+
VIRTUAL_HOST: magento2.test.com
22+
COMPOSER_MEMORY_LIMIT: -1
23+
DONATION_ACCOUNT:
24+
ADMIN_USERNAME: "admin"
25+
ADMIN_PASSWORD: "Adyen123@"
26+
ADYEN_MERCHANT:
27+
ADYEN_API_KEY:
28+
ADYEN_CLIENT_KEY:
29+
PHP_VERSION:
30+
MAGENTO_VERSION:
31+
DEPLOY_SAMPLEDATA: 1
32+
SSH_PRIVATE_KEY: ${SSH_PRIVATE_KEY}
33+
BRANCH_NAME: ${BRANCH_NAME}
34+
depends_on:
35+
- db
36+
- elastic
37+
volumes:
38+
- ../:/data/extensions/workdir
39+
- ./Makefile:/var/www/html/Makefile
40+
- composer:/usr/local/bin
41+
- magento:/var/www/html
42+
db:
43+
image: mariadb:10.4
44+
container_name: mariadb
45+
networks:
46+
- backend
47+
environment:
48+
MARIADB_ROOT_PASSWORD: root_password
49+
MARIADB_DATABASE: magento
50+
MARIADB_USER: magento
51+
MARIADB_PASSWORD: magento
52+
elastic:
53+
image: elasticsearch:7.17.13
54+
container_name: elasticsearch
55+
networks:
56+
- backend
57+
ports:
58+
- 9200:9200
59+
- 9300:9300
60+
environment:
61+
- "discovery.type=single-node"
62+
- "ES_JAVA_OPTS=-Xms750m -Xmx750m"
63+
networks:
64+
backend:
65+
volumes:
66+
magento:
67+
composer:

.github/scripts/e2e.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
3+
# Base configuration and installation
4+
set -euo pipefail
5+
cd /tmp
6+
git clone https://github.com/Adyen/adyen-integration-tools-tests.git
7+
cd adyen-integration-tools-tests
8+
git checkout "$INTEGRATION_TESTS_BRANCH"
9+
rm -rf package-lock.json
10+
npm i
11+
npx playwright install
12+
13+
echo "Running HYVA E2E Tests."
14+
npm run test:ci:hyva

.github/scripts/install_hyva.sh

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Set up SSH config for gitlab.hyva.io
2+
echo "${SSH_PRIVATE_KEY}" >> ~/.ssh/hyva_id_rsa
3+
chmod 600 ~/.ssh/hyva_id_rsa
4+
ssh-keyscan gitlab.hyva.io >> ~/.ssh/known_hosts
5+
echo "Host gitlab.hyva.io" >> ~/.ssh/config
6+
echo " StrictHostKeyChecking no" >> ~/.ssh/config
7+
echo " IdentityFile /var/www/.ssh/hyva_id_rsa" >> ~/.ssh/config
8+
chmod 600 ~/.ssh/config
9+
10+
# Configure composer
11+
echo "Configuring Composer with additional repositories"
12+
composer config repositories.hyva-themes/hyva-checkout git [email protected]:hyva-checkout/checkout.git
13+
composer config repositories.hyva-themes/magento2-theme-module git [email protected]:hyva-themes/magento2-theme-module.git
14+
composer config repositories.hyva-themes/magento2-reset-theme git [email protected]:hyva-themes/magento2-reset-theme.git
15+
composer config repositories.hyva-themes/magento2-email-theme git [email protected]:hyva-themes/magento2-email-module.git
16+
composer config repositories.hyva-default-theme git [email protected]:hyva-themes/magento2-default-theme.git
17+
18+
# Install Hyva compatibility module
19+
echo "Installing Hyva compatibility module"
20+
# TODO: update the branch from develop to current branch
21+
echo "dev-${BRANCH_NAME}"
22+
composer require adyen/module-hyva-checkout:dev-${BRANCH_NAME}
23+
bin/magento module:enable --all
24+
25+
bin/magento setup:upgrade
26+
bin/magento setup:di:compile
27+
bin/magento setup:static-content:deploy -f
28+
bin/magento cache:flush

0 commit comments

Comments
 (0)