feat(frontend): use RPC parser for Solana transactions #6061
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 Tests | |
on: | |
pull_request: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
check-e2e-changes: | |
runs-on: ubuntu-24.04 | |
outputs: | |
e2e-or-config-changed: ${{ steps.e2e-or-config-files.outputs.e2e-or-config-changed }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Fetch base branch | |
run: | | |
git fetch origin "${{ github.base_ref }}:${{ github.base_ref }}" | |
- name: Check for E2E or Playwright Config File Changes | |
id: e2e-or-config-files | |
run: | | |
if git diff --name-only "origin/${{ github.base_ref }}" HEAD | grep -E "(playwright.config.ts|.env.e2e|canister_e2e_ids.json|e2e/)"; then | |
echo "e2e-or-config-changed=true" >> "$GITHUB_OUTPUT" | |
else | |
echo "e2e-or-config-changed=false" >> "$GITHUB_OUTPUT" | |
fi | |
shell: bash | |
continue-on-error: false | |
oisy-backend-wasm: | |
runs-on: ubuntu-24.04 | |
if: ${{ needs.check-e2e-changes.outputs.e2e-or-config-changed == 'true' }} | |
needs: check-e2e-changes | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build oisy-backend WASM | |
uses: ./.github/actions/oisy-backend | |
with: | |
network: local | |
e2e: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-24.04, macos-14] | |
env: | |
MATRIX_OS: ${{ matrix.os }} | |
if: ${{ needs.check-e2e-changes.outputs.e2e-or-config-changed == 'true' }} | |
needs: oisy-backend-wasm | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Download WASM artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: backend.wasm.gz | |
- name: Prepare macOS | |
if: runner.os == 'macOS' | |
uses: ./.github/actions/prepare-macos | |
- name: Set Environment Variables | |
run: echo "VITE_ETHERSCAN_API_KEY=${{ secrets.VITE_ETHERSCAN_API_KEY_E2E }}" >> $GITHUB_ENV | |
- name: Deploy the backend | |
uses: ./.github/actions/deploy-backend | |
- name: Prepare | |
uses: ./.github/actions/prepare | |
- name: Test | |
run: npm run e2e:ci | |
- name: Upload Playwright Report | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: playwright-report-${{ matrix.os }} | |
path: playwright-report/ | |
retention-days: 3 | |
- name: Upload Playwright Results | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: test-results-${{ matrix.os }} | |
path: test-results/ | |
retention-days: 3 | |
may-merge-e2e: | |
if: always() | |
needs: ['check-e2e-changes', 'e2e'] | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-24.04, macos-14] | |
steps: | |
- name: Cleared for merging | |
run: | | |
if [ "${{ needs.check-e2e-changes.outputs.e2e-or-config-changed }}" == "false" ]; then | |
echo "No E2E or config changes detected. PR is cleared for merging." | |
elif [ "${{ needs.e2e.result }}" == "success" ]; then | |
echo "This PR is cleared for merging" | |
else | |
echo "This PR is not cleared for merging" | |
exit 1 | |
fi |