Skip to content

E2E tests for Adyen Magento2 Plugin #1367

E2E tests for Adyen Magento2 Plugin

E2E tests for Adyen Magento2 Plugin #1367

Workflow file for this run

name: Magento 2 E2E Pipeline
run-name: E2E tests for Adyen Magento2 Plugin
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
# This workflow will be used for all PRs temporarily
# Until express checkout flow is fixed
# branches-ignore: [main]
jobs:
build:
if: |
${{
github.event.pull_request.draft == false &&
(github.actor != 'renovate' || github.actor != 'lgtm-com')
}}
runs-on:
group: larger-runners
labels: ubuntu-latest-8-cores
timeout-minutes: 20
env:
PHP_VERSION: "8.1"
MAGENTO_VERSION: "2.4.5"
ADMIN_USERNAME: ${{secrets.MAGENTO_ADMIN_USERNAME}}
ADMIN_PASSWORD: ${{secrets.MAGENTO_ADMIN_PASSWORD}}
steps:
- uses: actions/checkout@v3
- name: Install Magento
run: docker-compose -f .github/workflows/templates/docker-compose.yml run --rm web make magento
- name: Start web server in background
run: docker-compose -f .github/workflows/templates/docker-compose.yml up -d web
env:
DONATION_ACCOUNT: ${{secrets.DONATION_ACCOUNT}}
ADYEN_MERCHANT: ${{secrets.ADYEN_MERCHANT}}
ADYEN_API_KEY: ${{secrets.ADYEN_API_KEY}}
ADYEN_CLIENT_KEY: ${{secrets.ADYEN_CLIENT_KEY}}
- name: Setup permissions
run: docker exec magento2-container make fs
- name: Check install
run: docker exec magento2-container make sys-check
- name: Install plugin
run: docker exec -u www-data magento2-container make plugin
- name: Checkout developer module
uses: actions/checkout@v3
with:
repository: Adyen/adyen-magento2-dev
ref: 'main'
token: ${{ secrets.ADYEN_AUTOMATION_BOT_TEST_ACCESS_TOKEN }}
path: Developer
- name: Make the folder for dev module
run: docker exec -u www-data magento2-container mkdir -p /var/www/html/app/code/Adyen
- name: Copy dev module into Docker container
run: docker cp ./Developer magento2-container:/var/www/html/app/code/Adyen
- name: Change ownership of developer module folder
run: docker exec magento2-container chown -R www-data:www-data /var/www/html/app/code/Adyen/Developer
- name: Enable developer module
run: docker exec -u www-data magento2-container make dev-module
- name: Kill Cron Jobs
run: docker exec magento2-container /etc/init.d/cron stop
- name: Switch to production mode
run: docker exec -u www-data magento2-container make production
- name: Setup permissions
run: docker exec magento2-container make fs
- name: Run E2E tests
run: docker-compose -f .github/workflows/templates/docker-compose.yml run --rm playwright /e2e.sh
env:
INTEGRATION_TESTS_BRANCH: develop-9
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}}
ADYEN_API_KEY: ${{secrets.ADYEN_API_KEY}}
ADYEN_CLIENT_KEY: ${{secrets.ADYEN_CLIENT_KEY}}
ADYEN_MERCHANT: ${{secrets.ADYEN_MERCHANT}}
WEBHOOK_USERNAME: ${{secrets.WEBHOOK_USERNAME}}
WEBHOOK_PASSWORD: ${{secrets.WEBHOOK_PASSWORD}}
- name: Archive test result artifacts
if: always()
uses: actions/upload-artifact@v3
with:
name: html-report
path: test-report