From 8a575f4cbf66e0bc48269200b21f0967d03aed60 Mon Sep 17 00:00:00 2001 From: Ubuntu <26949006+hallieswan@users.noreply.github.com> Date: Sat, 15 Feb 2025 00:35:08 +0000 Subject: [PATCH] AG-1623: setup all projects when running agora e2e, not just affected projects --- .github/workflows/e2e-agora.yaml | 8 +++++++- tools/setup-projects.sh | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 tools/setup-projects.sh diff --git a/.github/workflows/e2e-agora.yaml b/.github/workflows/e2e-agora.yaml index e0103c2d7..894289ca8 100644 --- a/.github/workflows/e2e-agora.yaml +++ b/.github/workflows/e2e-agora.yaml @@ -26,7 +26,7 @@ jobs: id: agora_affected run: | AFFECTED=$(devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \ - && nx show projects --affected --with-target e2e | grep -q 'agora' && echo 'true' || echo 'false'") + && nx show projects --affected | grep -q 'agora' && echo 'true' || echo 'false'") echo "AFFECTED=${AFFECTED}" >> "${GITHUB_OUTPUT}" - name: Install Playwright Browsers @@ -35,6 +35,12 @@ jobs: 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: | diff --git a/tools/setup-projects.sh b/tools/setup-projects.sh new file mode 100644 index 000000000..a2d4f11dc --- /dev/null +++ b/tools/setup-projects.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +# Runs tasks to set up all projects for a particular stack. +# $1 - The stack name, e.g. agora. + +if [ "$#" -ne 1 ]; then + echo "Please pass the stack name as an argument". + exit +fi + +stack="$1" +echo "Running setup tasks for ${stack} projects." + +projects="${1}-*" + +nx run-many --target=create-config --projects="${projects}" +# Projects that can be prepared in parallel +nx run-many --target=prepare --exclude='tag:language:java' --projects="${projects}" +# Java projects must be installed one at a time +nx run-many --target=prepare --exclude='!tag:language:java' --parallel=1 --projects="${projects}"