Skip to content

fix(agora): float download button and modal-link right (AG-1658), round buttons (AG-1701), fix icons, style dropdowns #38

fix(agora): float download button and modal-link right (AG-1658), round buttons (AG-1701), fix icons, style dropdowns

fix(agora): float download button and modal-link right (AG-1658), round buttons (AG-1701), fix icons, style dropdowns #38

Workflow file for this run

name: Run e2e tests for Agora
on:
push:
# Warning: using the pull_request_target event without the cautionary measures may allow
# unauthorized GitHub users to open a “pwn request” and exfiltrate secrets.
pull_request_target:
types: [opened, synchronize, reopened, labeled]
jobs:
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 }}
runs-on: ubuntu-22.04
outputs:
agora_affected: ${{ steps.agora_affected.outputs.affected }}
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: 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: Check if Agora was affected
id: agora_affected
run: |
IFS=',' read -ra PROJECTS <<< "${{ steps.setup-dev-container.outputs.affected_projects }}"
for project in "${PROJECTS[@]}"; do
if [[ "$project" == agora-* ]]; then
echo "affected=true" >> "${GITHUB_OUTPUT}"
exit 0
fi
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'
# The agora and agora-pr environments contain the same secrets. However, the agora environment
# will run workflows automatically and should only be used when the workflow is running against
# trusted code. The agora-pr environment requires an authorized user's approval to run the
# workflow, so should be used when running against untrused code, e.g. PRs from forked repos.
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
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& npx playwright install --with-deps"
- name: Setup Agora
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& bash ./tools/setup-projects.sh agora"
- name: Build Agora
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& agora-build-images"
- name: Write Synapse PAT for Agora
run: |
sed -i "s/^SYNAPSE_AUTH_TOKEN=.*/SYNAPSE_AUTH_TOKEN=\"${{ secrets.AGORA_DATA_SYNAPSE_AUTH_TOKEN }}\"/" apps/agora/data/.env
- name: Start Agora
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx run agora-apex:serve-detach"
- name: Run Agora e2e tests
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx run agora-app:e2e"
- name: Stop Agora
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& workspace-docker-stop"
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: playwright-report/
retention-days: 5
- name: Remove the dev container
run: docker rm -f sage_devcontainer