vitess.io/vitess@v0.16.2/test/templates/cluster_endtoend_test_docker.tpl (about) 1 name: {{.Name}} 2 on: [push, pull_request] 3 4 jobs: 5 build: 6 name: Run endtoend tests on {{.Name}} 7 runs-on: ubuntu-22.04 8 9 steps: 10 - name: Skip CI 11 run: | 12 if [[ "{{"${{contains( github.event.pull_request.labels.*.name, 'Skip CI')}}"}}" == "true" ]]; then 13 echo "skipping CI due to the 'Skip CI' label" 14 exit 1 15 fi 16 17 - name: Check if workflow needs to be skipped 18 id: skip-workflow 19 run: | 20 skip='false' 21 if [[ "{{"${{github.event.pull_request}}"}}" == "" ]] && [[ "{{"${{github.ref}}"}}" != "refs/heads/main" ]] && [[ ! "{{"${{github.ref}}"}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "{{"${{github.ref}}"}}" =~ "refs/tags/.*" ]]; then 22 skip='true' 23 fi 24 echo Skip ${skip} 25 echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT 26 27 - name: Check out code 28 if: steps.skip-workflow.outputs.skip-workflow == 'false' 29 uses: actions/checkout@v3 30 31 - name: Check for changes in relevant files 32 if: steps.skip-workflow.outputs.skip-workflow == 'false' 33 uses: frouioui/paths-filter@main 34 id: changes 35 with: 36 token: '' 37 filters: | 38 end_to_end: 39 - 'go/**/*.go' 40 - 'test.go' 41 - 'Makefile' 42 - 'build.env' 43 - 'go.sum' 44 - 'go.mod' 45 - 'proto/*.proto' 46 - 'tools/**' 47 - 'config/**' 48 - 'bootstrap.sh' 49 - '.github/workflows/{{.FileName}}' 50 51 - name: Set up Go 52 if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' 53 uses: actions/setup-go@v3 54 with: 55 go-version: 1.20.3 56 57 - name: Tune the OS 58 if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' 59 run: | 60 sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535" 61 62 - name: Run cluster endtoend test 63 if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' 64 timeout-minutes: 30 65 run: | 66 go run test.go -docker=true --follow -shard {{.Shard}}