Automated release upload to sandboxes #1703
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: 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 |