diff --git a/.github/workflows/duplicate-openlogin.google.yml b/.github/workflows/duplicate-openlogin.google.yml new file mode 100644 index 00000000..e47dd37e --- /dev/null +++ b/.github/workflows/duplicate-openlogin.google.yml @@ -0,0 +1,128 @@ +name: Duplicate - OpenLogin - Facebook Login + +on: + push + # schedule: + # - cron: "*/30 * * * *" + # workflow_dispatch: + +env: + NODE_VERSION: 16 + +jobs: + run-tests: + name: Duplicate - Run OpenLogin - Facebook Login tests + strategy: + matrix: + env: [prod] + browser: [chromium] + os: [macos-latest] + # include: + # - os: macos-latest + # browser: webkit + # env: prod + + runs-on: ${{ matrix.os }} + env: + PLATFORM: ${{ matrix.env }} + outputs: + conclusion: ${{ steps.run-tests.conclusion }} + steps: + - name: Checkout + uses: actions/checkout@v3 + + - id: setup-node + name: Setup Node.js ${{ env.NODE_VERSION }} + uses: actions/setup-node@v3 + with: + node-version: ${{ env.NODE_VERSION }} + cache: yarn + continue-on-error: true + + - id: yarn-install + name: Install Node.js dependencies + if: steps.setup-node.outcome == 'success' + # run: exit 1 + run: yarn install --frozen-lockfile + continue-on-error: true + + + - id: yarn-install-deps + name: Install Ubuntu dependencies + if: steps.yarn-install.outcome == 'success' && startsWith(matrix.os, 'ubuntu') + run: yarn run playwright install-deps ${{ matrix.browser }} + continue-on-error: true + + - id: configure-aws + name: Configure AWS credentials + if: steps.yarn-install.outcome == 'success' && steps.yarn-install-deps.outcome != 'failure' + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + continue-on-error: true + + - id: download-state + name: Download remote browser snapshots + if: steps.configure-aws.outcome == 'success' + run: aws s3 cp s3://torus-e2e-tests/openlogin/login-with-facebook/ openlogin/login-with-facebook/ --recursive + continue-on-error: true + + - id: run-tests + name: Run tests + if: steps.download-state.outcome == 'success' + # run: yarn run playwright test --config openlogin/login-with-facebook/index.config.ts --project ${{ matrix.browser }} + run: exit 1 + + - id: telegram-alert + name: Alert to telegram channel + # needs: run-tests + if: always() + run: | + echo ${{ steps.run-tests.outcome }} + echo ${{ steps.run-tests.result }} + if [[ ${{ steps.run-tests.outcome }} == 'failure' ]] + then + echo "attempt: ${{github.run_attempt}}" + if [[ ${{github.run_attempt}} < 2 ]] + then + echo "attempt < 2, re-running job" + curl -X POST --header "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/torusresearch/torus-e2e-tests/actions/jobs/${{github.job_id}}/rerun" + else: + echo "attempt >= 2, and failed sending telegram alert" + fi + else + echo "Test Passed, no alert!" + fi + shell: bash + continue-on-error: true + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v3 + with: + name: test-results-on-${{ matrix.browser }}-${{ matrix.os }} + path: test-results/ + if-no-files-found: ignore + + # curl -X POST --header "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/torusresearch/torus-e2e-tests/actions/runs/${{github.run_id}}/cencel" + # response=curl "https://api.github.com/repos/torusresearch/torus-e2e-tests/actions/runs/${{github.run_id}}" + # curl "https://api.telegram.org/bot${{secrets.BOT_API_TOKEN}}/sendMessage?chat_id=${{secrets.CHAT_ID}}&text=LoginWithFacebook%0ATestresult=Failed%0AOS=${{matrix.os}}%0Abrowser=${{matrix.browser}}%0AEnvironment=${{matrix.env}}%0AJob=${{github.server_url}}/${{github.repository}}/actions/runs/${{github.run_id}}" + + # update-status: + # name: Update OpenLogin - Facebook Login status + # needs: run-tests + # if: (success() || failure()) && (needs.run-tests.outputs.conclusion != 'skipped') + # runs-on: ubuntu-latest + # steps: + # - name: Update status + # uses: fjogeleit/http-request-action@master + # with: + # url: https://api.statuspage.io/v1/pages/${{ secrets.PAGE_ID }}/components/${{ secrets.FACEBOOK_COMPONENT_ID }} + # customHeaders: '{ "Authorization": "OAuth ${{ secrets.STATUS_PAGE_API_KEY }}" }' + # method: PATCH + # contentType: "application/json" + # timeout: 10000 + # data: >- + # { "component": { "status": "${{ needs.run-tests.result == 'success' && 'operational' || 'major_outage' }}" } } diff --git a/.github/workflows/openlogin.existing-v2-user-login.yml b/.github/workflows/openlogin.existing-v2-user-login.yml index fcb0a445..5f3b7d16 100644 --- a/.github/workflows/openlogin.existing-v2-user-login.yml +++ b/.github/workflows/openlogin.existing-v2-user-login.yml @@ -93,6 +93,7 @@ jobs: else echo "Test Passed, no alert!" fi + shell: bash continue-on-error: true - id: upload-state diff --git a/.github/workflows/openlogin.homepage.yml b/.github/workflows/openlogin.homepage.yml index da90f088..f076c5e6 100644 --- a/.github/workflows/openlogin.homepage.yml +++ b/.github/workflows/openlogin.homepage.yml @@ -72,6 +72,7 @@ jobs: else echo "Test Passed, no alert!" fi + shell: bash continue-on-error: true - name: Upload test results diff --git a/.github/workflows/openlogin.login-with-discord.yml b/.github/workflows/openlogin.login-with-discord.yml index a5d82c56..4d615505 100644 --- a/.github/workflows/openlogin.login-with-discord.yml +++ b/.github/workflows/openlogin.login-with-discord.yml @@ -94,6 +94,7 @@ jobs: else echo "Test Passed, no alert!" fi + shell: bash continue-on-error: true - name: Upload test results diff --git a/.github/workflows/openlogin.login-with-facebook-2fa.yml b/.github/workflows/openlogin.login-with-facebook-2fa.yml index bb9d76a9..7c963fd6 100644 --- a/.github/workflows/openlogin.login-with-facebook-2fa.yml +++ b/.github/workflows/openlogin.login-with-facebook-2fa.yml @@ -87,6 +87,7 @@ jobs: else echo "Test Passed, no alert!" fi + shell: bash continue-on-error: true - name: Upload test results diff --git a/.github/workflows/openlogin.login-with-facebook.yml b/.github/workflows/openlogin.login-with-facebook.yml index 69e49ab6..724ba921 100644 --- a/.github/workflows/openlogin.login-with-facebook.yml +++ b/.github/workflows/openlogin.login-with-facebook.yml @@ -82,6 +82,7 @@ jobs: else echo "Test Passed, no alert!" fi + shell: bash continue-on-error: true - name: Upload test results diff --git a/.github/workflows/openlogin.login-with-github.yml b/.github/workflows/openlogin.login-with-github.yml index 118800ba..d2b4fb81 100644 --- a/.github/workflows/openlogin.login-with-github.yml +++ b/.github/workflows/openlogin.login-with-github.yml @@ -94,6 +94,7 @@ jobs: else echo "Test Passed, no alert!" fi + shell: bash continue-on-error: true - id: upload-state diff --git a/.github/workflows/openlogin.login-with-google.yml b/.github/workflows/openlogin.login-with-google.yml index 0fb92164..f4bb90a4 100644 --- a/.github/workflows/openlogin.login-with-google.yml +++ b/.github/workflows/openlogin.login-with-google.yml @@ -94,6 +94,7 @@ jobs: else echo "Test Passed, no alert!" fi + shell: bash continue-on-error: true - id: upload-state diff --git a/.github/workflows/openlogin.login-with-passwordless.yml b/.github/workflows/openlogin.login-with-passwordless.yml index 13b9176e..62b55315 100644 --- a/.github/workflows/openlogin.login-with-passwordless.yml +++ b/.github/workflows/openlogin.login-with-passwordless.yml @@ -94,6 +94,7 @@ jobs: else echo "Test Passed, no alert!" fi + shell: bash continue-on-error: true - id: upload-state diff --git a/.github/workflows/openlogin.new-v2-user-login.yml b/.github/workflows/openlogin.new-v2-user-login.yml index 36900d0f..f613feb8 100644 --- a/.github/workflows/openlogin.new-v2-user-login.yml +++ b/.github/workflows/openlogin.new-v2-user-login.yml @@ -90,6 +90,7 @@ jobs: else echo "Test Passed, no alert!" fi + shell: bash continue-on-error: true - id: upload-state diff --git a/.github/workflows/openlogin.setup-2fa.yml b/.github/workflows/openlogin.setup-2fa.yml index 2c819674..7ba9a8b0 100644 --- a/.github/workflows/openlogin.setup-2fa.yml +++ b/.github/workflows/openlogin.setup-2fa.yml @@ -92,6 +92,7 @@ jobs: else echo "Test Passed, no alert!" fi + shell: bash continue-on-error: true - id: upload-state