Skip to content

[SFI-471] e2e maintenance #651

[SFI-471] e2e maintenance

[SFI-471] e2e maintenance #651

Workflow file for this run

name: E2E For SiteGenesis
on:
pull_request:
paths-ignore:
- "int_adyen_SFRA/**"
jobs:
setup-the-cartridge:
if: ${{ github.actor != 'renovate[bot]' || github.actor != 'lgtm-com[bot]' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- sfra-version: ""
sfcc-hostname-secret: "SFCC_HOSTNAME_SFRA5"
code-version-secret: "SFCC_CODE_VERSION_SFRA5"
steps:
- name: Checkout SFRA code
uses: actions/checkout@v3
with:
repository: SalesforceCommerceCloud/storefront-reference-architecture
ref: ${{ matrix.sfra-version }}
ssh-key: ${{ secrets.SERVICE_ACCOUNT_SSH_KEY }}
path: storefront-reference-architecture
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: "14"
- name: Checkout Adyen SFCC code
uses: actions/checkout@v3
with:
path: adyen-salesforce-commerce-cloud
- name: Install SFRA
working-directory: storefront-reference-architecture
run: npm install
- name: Install Adyen SFCC
working-directory: adyen-salesforce-commerce-cloud
run: npm install
- name: Create dw.json file
working-directory: adyen-salesforce-commerce-cloud
run: |
echo '{
"username": "${{ secrets.SFCC_USERNAME }}",
"password": "${{ secrets.SFCC_PASSWORD }}",
"hostname": "${{ secrets[matrix.sfcc-hostname-secret] }}",
"code-version": "${{ secrets[matrix.code-version-secret] }}"
}' >> dw.json
- name: Build the cartridge
working-directory: adyen-salesforce-commerce-cloud
run: npm run build > output-sg.txt
- name: Check build result
working-directory: adyen-salesforce-commerce-cloud
run: npm run check-build:sg
end-to-end-testing:
if: ${{ github.actor != 'renovate[bot]' || github.actor != 'lgtm-com[bot]' }}
needs: setup-the-cartridge
runs-on:
group: larger-runners
labels: ubuntu-latest-8-cores
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
include:
- sfra-version: ""
sfcc-hostname-secret: "SFCC_STOREFRONT_URL_SFRA5"
code-version-secret: "SFCC_CODE_VERSION_SFRA5"
steps:
- name: setup Node
uses: actions/setup-node@v3
with:
node-version: "16"
- name: Checkout
uses: actions/checkout@v3
with:
path: adyen-salesforce-commerce-cloud
- name: install e2e test dependencies
working-directory: adyen-salesforce-commerce-cloud/tests/playwright/
run: npm i
- name: setup playwright dependencies
working-directory: adyen-salesforce-commerce-cloud/tests/playwright/
run: npx playwright install --with-deps
- name: run e2e tests full coverage
working-directory: adyen-salesforce-commerce-cloud/tests/playwright/
if: github.event.pull_request.base.ref == 'main' || github.event.pull_request.base.ref == 'develop'
run: npm run test:ci
env:
SANDBOX_HTTP_AUTH_USERNAME: ${{ secrets.SANDBOX_HTTP_AUTH_USERNAME }}
SANDBOX_HTTP_AUTH_PASSWORD: ${{ secrets.SANDBOX_HTTP_AUTH_PASSWORD }}
PAYPAL_USERNAME: ${{ secrets.PAYPAL_USERNAME }}
PAYPAL_PASSWORD: ${{ secrets.PAYPAL_PASSWORD }}
SFRA_VERSION: ${{ matrix.sfra-version }}
SFCC_HOSTNAME: ${{ secrets[matrix.sfcc-hostname-secret] }}
- name: run e2e tests quick coverage
working-directory: adyen-salesforce-commerce-cloud/tests/playwright/
if: github.event.pull_request.base.ref != 'main' && github.event.pull_request.base.ref != 'develop'
run: npm run test:ci:quick
env:
SANDBOX_HTTP_AUTH_USERNAME: ${{ secrets.SANDBOX_HTTP_AUTH_USERNAME }}
SANDBOX_HTTP_AUTH_PASSWORD: ${{ secrets.SANDBOX_HTTP_AUTH_PASSWORD }}
PAYPAL_USERNAME: ${{ secrets.PAYPAL_USERNAME }}
PAYPAL_PASSWORD: ${{ secrets.PAYPAL_PASSWORD }}
SFRA_VERSION: ${{ matrix.sfra-version }}
SFCC_HOSTNAME: ${{ secrets[matrix.sfcc-hostname-secret] }}
- name: Archive test result artifacts
if: always()
uses: actions/upload-artifact@v3
with:
name: playwright-report
path: playwright-report