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: PS1786 + E2E Cypress | |
on: [push] | |
jobs: | |
Cypress-E2E-1786: | |
runs-on: ubuntu-latest | |
env: | |
NGROK_TOKEN: ${{ secrets.NGROK_TOKEN }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- prestashop: 'PS1786' | |
make: 'make e2eh1786' | |
subdomain: 'sp1786' | |
port: '8002' | |
yml: 'docker-compose.8.yml' | |
url: 'https://sp1786.eu.ngrok.io' | |
test_spec: 'cypress/e2e/**' | |
steps: | |
- name: Checkouting | |
uses: actions/[email protected] | |
- run: wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip | |
shell: bash | |
- run: unzip -qq -o ngrok-stable-linux-amd64.zip | |
shell: bash | |
- run: ./ngrok authtoken ${{ secrets.NGROK_TOKEN }} | |
shell: bash | |
- run: ./ngrok http --region=eu --log=stdout --subdomain=sp1786 8002 > ngrok.log & | |
shell: bash | |
- name: Extract ngrok URL | |
run: | | |
sleep 10 # Give ngrok some time to start up | |
echo "Checking if ngrok is running..." | |
ps aux | grep ngrok | |
echo "Contents of ngrok.log:" | |
cat ngrok.log | |
NGROK_URL=$(grep -o 'url=https://[^[:space:]]*' ngrok.log | cut -d= -f2 | head -n1) | |
echo "NGROK_URL=$NGROK_URL" >> $GITHUB_ENV | |
shell: bash | |
- name: Use ngrok URL | |
run: echo "The ngrok URL is ${{ env.NGROK_URL }}" | |
- name: Installing composer | |
run: composer i | |
- name: Installing NPM, NPX packages | |
run: npm ci & npx browserslist@latest --update-db | |
- name: ${{ matrix.prestashop }} installing / Module Install and Uninstall testing... | |
run: | | |
${{ matrix.make }} | |
- name: Running ${{ matrix.prestashop }} Cypress E2E tests | |
uses: cypress-io/github-action@v6 | |
with: | |
record: true | |
parallel: true | |
group: 'SaferpayTests' | |
spec: ${{ matrix.test_spec }} | |
env: | |
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
CYPRESS_SAFERPAY_EMAIL: ${{ secrets.SAFERPAY_EMAIL }} | |
CYPRESS_SAFERPAY_PASSWORD: ${{ secrets.SAFERPAY_PASSWORD }} | |
CYPRESS_SAFERPAY_USERNAME_TEST: ${{ secrets.PS1786_SAFERPAY_USERNAME_TEST }} | |
CYPRESS_SAFERPAY_PASSWORD_TEST: ${{ secrets.PS1786_SAFERPAY_PASSWORD_TEST }} | |
CYPRESS_SAFERPAY_CUSTOMER_ID_TEST: ${{ secrets.PS1786_SAFERPAY_CUSTOMER_ID_TEST }} | |
CYPRESS_SAFERPAY_TERMINAL_ID_TEST: ${{ secrets.PS1786_SAFERPAY_TERMINAL_ID_TEST }} | |
CYPRESS_SAFERPAY_MERCHANT_EMAILS_TEST: ${{ secrets.SAFERPAY_MERCHANT_EMAILS_TEST }} | |
CYPRESS_SAFERPAY_FIELDS_ACCESS_TOKEN_TEST: ${{ secrets.PS1786_SAFERPAY_FIELDS_ACCESS_TOKEN_TEST }} | |
NGROK_URL: ${{ env.NGROK_URL }} | |
- name: Archive videos and screenshots of Cypress testing | |
if: ${{ always() }} | |
uses: actions/[email protected] | |
with: | |
name: videos_screenshots | |
retention-days: 2 | |
path: | | |
cypress/videos | |
cypress/screenshots | |
Stop-ngrok: | |
runs-on: ubuntu-latest | |
needs: Cypress-E2E-1786 | |
if: always() | |
steps: | |
- name: Stop ngrok process | |
run: | | |
pkill ngrok || echo "ngrok process not found" | |
shell: bash |