Factor out some common commands into a script
3 files changed, 36 insertions, 37 deletions
diff --git a/.ci/scripts/setup_complement_prerequisites.sh b/.ci/scripts/setup_complement_prerequisites.sh
new file mode 100755
index 0000000000..62cf19b450
--- /dev/null
+++ b/.ci/scripts/setup_complement_prerequisites.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+#
+# Common commands to set up Complement's prerequisites in a GitHub Actions CI run.
+#
+# Must be called after Synapse has been checked out to `synapse/`.
+#
+set -eu
+
+alias block='{ set +x; } 2>/dev/null; func() { echo "::group::$*"; set -x; }; func'
+alias endblock='{ set +x; } 2>/dev/null; func() { echo "::endgroup::"; set -x; }; func'
+
+block Set Go Version
+ # 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
+
+ # 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
+endblock
+
+block Install Complement Dependencies
+ sudo apt-get -qq update && sudo apt-get install -qqy libolm3 libolm-dev
+ go get -v github.com/haveyoudebuggedit/gotestfmt/v2/cmd/gotestfmt@latest
+endblock
+
+block Install custom gotestfmt template
+ mkdir .gotestfmt/github -p
+ cp synapse/.ci/complement_package.gotpl .gotestfmt/github/package.gotpl
+endblock
+
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index a775f70c4e..6f37bc3970 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -332,29 +332,13 @@ jobs:
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 -qq update && sudo apt-get install -qqy 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
+ - name: Prepare Complement's Prerequisites
+ run: synapse/.ci/scripts/setup_complement_prerequisites.sh
# Attempt to check out the same branch of Complement as the PR. If it
# doesn't exist, fallback to HEAD.
diff --git a/.github/workflows/twisted_trunk.yml b/.github/workflows/twisted_trunk.yml
index 12267405be..8b423b25e2 100644
--- a/.github/workflows/twisted_trunk.yml
+++ b/.github/workflows/twisted_trunk.yml
@@ -114,25 +114,14 @@ jobs:
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: Prepare Complement's Prerequisites
+ run: synapse/.ci/scripts/setup_complement_prerequisites.sh
+
# This step is specific to the 'Twisted trunk' test run:
- name: Patch dependencies
run: |
@@ -146,11 +135,6 @@ jobs:
# NOT IN 1.1.12 poetry lock --check
working-directory: 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
|