mirror of
				https://github.com/matrix-org/synapse.git
				synced 2025-11-03 21:57:26 +00:00 
			
		
		
		
	Factor out some common Complement CI setup commands to a script. (#13157)
This commit is contained in:
		
							parent
							
								
									578a5e24a9
								
							
						
					
					
						commit
						68695d8007
					
				
							
								
								
									
										36
									
								
								.ci/scripts/setup_complement_prerequisites.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										36
									
								
								.ci/scripts/setup_complement_prerequisites.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,36 @@
 | 
			
		||||
#!/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
 | 
			
		||||
 | 
			
		||||
block Check out Complement
 | 
			
		||||
  # Attempt to check out the same branch of Complement as the PR. If it
 | 
			
		||||
  # doesn't exist, fallback to HEAD.
 | 
			
		||||
  synapse/.ci/scripts/checkout_complement.sh
 | 
			
		||||
endblock
 | 
			
		||||
							
								
								
									
										25
									
								
								.github/workflows/tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								.github/workflows/tests.yml
									
									
									
									
										vendored
									
									
								
							@ -332,34 +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
 | 
			
		||||
 | 
			
		||||
      # 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
 | 
			
		||||
      - name: Prepare Complement's Prerequisites
 | 
			
		||||
        run: synapse/.ci/scripts/setup_complement_prerequisites.sh
 | 
			
		||||
 | 
			
		||||
      - run: |
 | 
			
		||||
          set -o pipefail
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										27
									
								
								.github/workflows/twisted_trunk.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								.github/workflows/twisted_trunk.yml
									
									
									
									
										vendored
									
									
								
							@ -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,16 +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
 | 
			
		||||
        run: synapse/.ci/scripts/checkout_complement.sh
 | 
			
		||||
 | 
			
		||||
      - run: |
 | 
			
		||||
          set -o pipefail
 | 
			
		||||
          TEST_ONLY_SKIP_DEP_HASH_VERIFICATION=1 POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | gotestfmt
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								changelog.d/13157.misc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								changelog.d/13157.misc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
Enable Complement testing in the 'Twisted Trunk' CI runs.
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user