Skip to content

Commit

Permalink
SMR-19: only show agora's e2e workflow as pending on PRs that affect …
Browse files Browse the repository at this point in the history
…agora
  • Loading branch information
hallieswan committed Feb 26, 2025
1 parent 67d2668 commit aa86f4c
Showing 1 changed file with 39 additions and 17 deletions.
56 changes: 39 additions & 17 deletions .github/workflows/e2e-agora.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,12 @@ on:
types: [opened, synchronize, reopened, labeled]

jobs:
run-agora-e2e-tests:
check-agora-affected:
# Run in Sage repo on main branch and on all branches in user-owned forks
if: ${{ github.ref_name == 'main' || github.actor == github.repository_owner }}
environment: ${{ github.event_name == 'pull_request_target' &&
github.event.pull_request.head.repo.full_name != github.repository && 'agora-pr' || 'agora' }}
timeout-minutes: 60
runs-on: ubuntu-22.04
outputs:
agora_affected: ${{ steps.agora_affected.outputs.AFFECTED }}
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -29,11 +28,6 @@ jobs:
# merging".
ref: ${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository && github.event.pull_request.head.sha || github.ref }}

- name:
Switch from the detached HEAD of the merge commit to a new branch
# Buildx does not work on a detached HEAD
run: git switch -c new-branch

- name: Derive appropriate SHAs for base and head for `nx affected` commands
uses: nrwl/nx-set-shas@v4

Expand All @@ -53,49 +47,77 @@ jobs:
done
echo "AFFECTED=false" >> "${GITHUB_OUTPUT}"
- name: Remove the dev container
run: docker rm -f sage_devcontainer
run-agora-e2e-tests:
needs: check-agora-affected
if: needs.check-agora-affected.outputs.agora_affected == 'true'
environment: ${{ github.event_name == 'pull_request_target' &&
github.event.pull_request.head.repo.full_name != github.repository && 'agora-pr' || 'agora' }}
timeout-minutes: 60
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
# We need to fetch all branches and commits so that Nx affected has a base to compare
# against.
fetch-depth: 0
persist-credentials: false
# By default, actions/checkout@v4 will checkout the main branch instead of the merge
# commit when when using pull_request_target. It is currently difficult to checkout the
# merge commit in this context. The current solution is to checkout the PR HEAD instead
# and enable the branch protection rule "Require branches to be up to date before
# merging".
ref: ${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository && github.event.pull_request.head.sha || github.ref }}

- name:
Switch from the detached HEAD of the merge commit to a new branch
# Buildx does not work on a detached HEAD
run: git switch -c new-branch

- name: Derive appropriate SHAs for base and head for `nx affected` commands
uses: nrwl/nx-set-shas@v4

- name: Set up the dev container
id: setup-dev-container
uses: ./.github/actions/setup-dev-container

- name: Install Playwright Browsers
if: steps.agora_affected.outputs.AFFECTED == 'true'
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& npx playwright install --with-deps"
- name: Setup Agora
if: steps.agora_affected.outputs.AFFECTED == 'true'
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& bash ./tools/setup-projects.sh agora"
- name: Build Agora
if: steps.agora_affected.outputs.AFFECTED == 'true'
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& agora-build-images"
- name: Write Synapse PAT for Agora
if: steps.agora_affected.outputs.AFFECTED == 'true'
run: |
sed -i "s/^SYNAPSE_AUTH_TOKEN=.*/SYNAPSE_AUTH_TOKEN=\"${{ secrets.AGORA_DATA_SYNAPSE_AUTH_TOKEN }}\"/" apps/agora/data/.env
- name: Start Agora
if: steps.agora_affected.outputs.AFFECTED == 'true'
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx run agora-apex:serve-detach"
- name: Run Agora e2e tests
if: steps.agora_affected.outputs.AFFECTED == 'true'
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx run agora-app:e2e"
- name: Stop Agora
if: steps.agora_affected.outputs.AFFECTED == 'true'
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& workspace-docker-stop"
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() && steps.agora_affected.outputs.AFFECTED == 'true'}}
if: ${{ !cancelled() }}
with:
name: playwright-report
path: playwright-report/
Expand Down

0 comments on commit aa86f4c

Please sign in to comment.