Improve startup times in Complement test runs against workers, particularly in CPU-constrained environments. (#13127)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
1 files changed, 3 insertions, 46 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 2e4ee723d3..a775f70c4e 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -328,51 +328,8 @@ jobs:
- arrangement: monolith
database: Postgres
- steps:
- # The path is set via a file given by $GITHUB_PATH. We need both Go 1.17 and GOPATH on the path to run Complement.
- # See https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-system-path
- - name: "Set Go Version"
- run: |
- # Add Go 1.17 to the PATH: see https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md#environment-variables-2
- echo "$GOROOT_1_17_X64/bin" >> $GITHUB_PATH
- # Add the Go path to the PATH: We need this so we can call gotestfmt
- echo "~/go/bin" >> $GITHUB_PATH
-
- - name: "Install Complement Dependencies"
- run: |
- sudo apt-get update && sudo apt-get install -y libolm3 libolm-dev
- go get -v github.com/haveyoudebuggedit/gotestfmt/v2/cmd/gotestfmt@latest
-
- - name: Run actions/checkout@v2 for synapse
- uses: actions/checkout@v2
- with:
- path: synapse
-
- - name: "Install custom gotestfmt template"
- run: |
- mkdir .gotestfmt/github -p
- cp synapse/.ci/complement_package.gotpl .gotestfmt/github/package.gotpl
-
- # Attempt to check out the same branch of Complement as the PR. If it
- # doesn't exist, fallback to HEAD.
- - name: Checkout complement
- run: synapse/.ci/scripts/checkout_complement.sh
-
- - run: |
- set -o pipefail
- POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | gotestfmt
- shell: bash
- name: Run Complement Tests
-
- # We only run the workers tests on `develop` for now, because they're too slow to wait for on PRs.
- # Sadly, you can't have an `if` condition on the value of a matrix, so this is a temporary, separate job for now.
- # GitHub Actions doesn't support YAML anchors, so it's full-on duplication for now.
- complement-developonly:
- if: "${{ !failure() && !cancelled() && (github.ref == 'refs/heads/develop') }}"
- needs: linting-done
- runs-on: ubuntu-latest
-
- name: "Complement Workers (develop only)"
+ - arrangement: workers
+ database: Postgres
steps:
# The path is set via a file given by $GITHUB_PATH. We need both Go 1.17 and GOPATH on the path to run Complement.
@@ -406,7 +363,7 @@ jobs:
- run: |
set -o pipefail
- WORKERS=1 COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | gotestfmt
+ POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | gotestfmt
shell: bash
name: Run Complement Tests
|