Adyen Magento 2 Payment Plugin E2E tests #155
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Magento-Hyva E2E Pipeline | |
run-name: Adyen Magento 2 Payment Plugin E2E tests | |
on: [pull_request, workflow_dispatch] | |
jobs: | |
build: | |
if: (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) || (github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository) | |
environment: ${{ (github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository) && 'external' || 'internal' }} | |
runs-on: | |
group: larger-runners | |
labels: ubuntu-latest-8-cores | |
timeout-minutes: 25 | |
env: | |
PHP_VERSION: "8.1" | |
MAGENTO_VERSION: "2.4.5" | |
ADYEN_API_KEY: ${{secrets.ADYEN_API_KEY}} | |
ADYEN_CLIENT_KEY: ${{secrets.ADYEN_CLIENT_KEY}} | |
ADYEN_MERCHANT: ${{secrets.ADYEN_MERCHANT}} | |
ADMIN_USERNAME: ${{secrets.MAGENTO_ADMIN_USERNAME}} | |
ADMIN_PASSWORD: ${{secrets.MAGENTO_ADMIN_PASSWORD}} | |
DONATION_ACCOUNT: ${{secrets.DONATION_ACCOUNT}} | |
SSH_PRIVATE_KEY: ${{secrets.GITLAB_SSH_KEY}} | |
DEPLOY_SAMPLEDATA: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set branch name | |
run: | | |
if [ "${GITHUB_EVENT_NAME}" = "pull_request" ]; then | |
echo "BRANCH_NAME=${GITHUB_HEAD_REF}" >> $GITHUB_ENV | |
else | |
echo "BRANCH_NAME=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV | |
fi | |
- name: Install Magento | |
run: docker compose -f .github/docker-compose.yml run --rm web make magento | |
- name: Start web server in background | |
run: docker compose -f .github/docker-compose.yml up -d web | |
- name: Install hyva | |
run: docker exec -u www-data magento2-hyva-container make hyva | |
- name: Setup permissions | |
run: docker exec magento2-hyva-container make fs | |
- name: Check install | |
run: docker exec magento2-hyva-container make sys-check | |
- name: Kill Cron Jobs | |
run: docker exec magento2-hyva-container /etc/init.d/cron stop | |
- name: Switch to production mode | |
run: docker exec -u www-data magento2-hyva-container make production | |
- name: List Installed Themes | |
run: | | |
docker exec -i mariadb mysql -umagento -pmagento magento -e "SELECT theme_id, theme_title, code FROM m2_theme;" | |
- name: Show Core-Config-Data | |
run: | | |
docker exec -i mariadb mysql -umagento -pmagento magento -e "SELECT * FROM m2_core_config_data WHERE path = 'design/theme/theme_id';" | |
- name: Set the theme value in Config table | |
run: | | |
docker exec -i mariadb mysql -umagento -pmagento magento -e "UPDATE m2_core_config_data SET value = '5' WHERE path = 'design/theme/theme_id' AND scope = 'default';" | |
docker exec -u www-data magento2-hyva-container bin/magento cache:flush | |
- name: Refresh the Setup | |
run: | | |
docker exec -u www-data magento2-hyva-container bash -c "cd /var/www/html && bin/magento config:show | grep design/theme/theme_id" | |
- name: Check enabled Magento theme | |
run: | | |
docker exec -u www-data magento2-hyva-container make refresh | |
- name: Run E2E tests | |
run: | | |
chmod +x .github/scripts/e2e.sh && \ | |
docker compose -f .github/docker-compose.e2e.yml run --rm playwright /scripts/e2e.sh | |
env: | |
INTEGRATION_TESTS_BRANCH: hyva-develop | |
MAGENTO_ADMIN_USERNAME: ${{secrets.MAGENTO_ADMIN_USERNAME}} | |
MAGENTO_ADMIN_PASSWORD: ${{secrets.MAGENTO_ADMIN_PASSWORD}} | |
MAGENTO_BASE_URL: ${{secrets.MAGENTO_BASE_URL}} | |
PAYPAL_USERNAME: ${{secrets.PLAYWRIGHT_PAYPAL_USERNAME}} | |
PAYPAL_PASSWORD: ${{secrets.PLAYWRIGHT_PAYPAL_PASSWORD}} | |
WEBHOOK_USERNAME: admin | |
WEBHOOK_PASSWORD: 1234 | |
- name: List all active docker containers | |
run: docker ps | |
- name: Archive test result artifacts | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: html-report | |
path: test-report |