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}"