Skip to content

Automated release upload to sandboxes #1703

Automated release upload to sandboxes

Automated release upload to sandboxes #1703

Workflow file for this run

name: E2E For SFRA
on:
pull_request:
paths-ignore:
- 'int_adyen_controllers/**'
- 'adyen_controllers_changes/**'
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: 'v5.3.0'
node-version: '14'
sfcc-hostname-secret: 'SFCC_HOSTNAME_SFRA5'
code-version-secret: 'SFCC_CODE_VERSION_SFRA5'
- sfra-version: 'v6.1.0'
node-version: '14'
sfcc-hostname-secret: 'SFCC_HOSTNAME_SFRA6'
code-version-secret: 'SFCC_CODE_VERSION_SFRA6'
- sfra-version: 'v7.0.0'
node-version: '18'
sfcc-hostname-secret: 'SFCC_HOSTNAME_SFRA7'
code-version-secret: 'SFCC_CODE_VERSION_SFRA7'
steps:
- name: Checkout SFRA code
uses: actions/checkout@v4
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: ${{ matrix.node-version }}
- name: Checkout
uses: actions/checkout@v4
with:
path: adyen-salesforce-commerce-cloud
- name: Install SFRA dependencies
working-directory: storefront-reference-architecture
run: npm install
- name: Install Adyen SFCC dependencies
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: Transpile the code
working-directory: adyen-salesforce-commerce-cloud
run: npm run transpile
- name: Compile the code
working-directory: adyen-salesforce-commerce-cloud
run: npm run compile:js
- name: Build the cartridge
working-directory: adyen-salesforce-commerce-cloud
run: npm run uploadCartridge > output-sfra.txt
- name: Check build result
working-directory: adyen-salesforce-commerce-cloud
run: npm run check-build:sfra
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: 20
strategy:
fail-fast: false
matrix:
include:
- sfra-version: 'v5.3.0'
node-version: '16'
sfcc-hostname-secret: 'SFCC_STOREFRONT_URL_SFRA5'
code-version-secret: 'SFCC_CODE_VERSION_SFRA5'
- sfra-version: 'v6.1.0'
node-version: '16'
sfcc-hostname-secret: 'SFCC_STOREFRONT_URL_SFRA6'
code-version-secret: 'SFCC_CODE_VERSION_SFRA6'
- sfra-version: 'v7.0.0'
node-version: '18'
sfcc-hostname-secret: 'SFCC_STOREFRONT_URL_SFRA7'
code-version-secret: 'SFCC_CODE_VERSION_SFRA7'
steps:
- name: setup Node
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Checkout
uses: actions/checkout@v4
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'
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 }}
AMAZONPAY_USERNAME: ${{ secrets.AMAZONPAY_USERNAME }}
AMAZONPAY_PASSWORD: ${{ secrets.AMAZONPAY_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'
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 }}
AMAZONPAY_USERNAME: ${{ secrets.AMAZONPAY_USERNAME }}
AMAZONPAY_PASSWORD: ${{ secrets.AMAZONPAY_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