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