name: Dumpling on: push: branches: - master - release-* paths: - 'dumpling/**' - 'br/pkg/storage/**' - 'br/pkg/utils/**' - 'br/pkg/summary/**' - 'store/helper/**' - 'tablecodec/**' - 'util/codec/**' - 'parser/model/**' pull_request: branches: - master - release-* paths: - 'dumpling/**' - 'br/pkg/storage/**' - 'br/pkg/utils/**' - 'br/pkg/summary/**' - 'store/helper/**' - 'tablecodec/**' - 'util/codec/**' - 'parser/model/**' # See: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency. concurrency: group: ${{ github.ref }}-${{ github.workflow }} cancel-in-progress: true jobs: integration-test-mysql-5735: runs-on: ubuntu-latest timeout-minutes: 15 strategy: fail-fast: true services: mysql: image: mysql:5.7.35 env: MYSQL_ALLOW_EMPTY_PASSWORD: yes ports: - 3306:3306 options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 steps: - uses: actions/checkout@v2 - name: Shutdown Ubuntu MySQL (SUDO) run: sudo service mysql stop # Shutdown the Default MySQL, "sudo" is necessary, please not remove it - name: Set up Go 1.16 uses: actions/setup-go@v2 with: go-version: 1.16 - uses: actions/cache@v2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Get dependencies run: go mod download - name: Download dependencies run: sh dumpling/install.sh - name: Integration test run: make dumpling_integration_test VERBOSE="true" - name: Set up tmate session if: ${{ failure() }} uses: mxschmitt/action-tmate@v3 integration-test-mysql-8026: runs-on: ubuntu-latest timeout-minutes: 15 strategy: fail-fast: true services: mysql: image: mysql:8.0.26 env: MYSQL_ALLOW_EMPTY_PASSWORD: yes ports: - 3306:3306 options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 steps: - uses: actions/checkout@v2 - name: Shutdown Ubuntu MySQL (SUDO) run: sudo service mysql stop # Shutdown the Default MySQL, "sudo" is necessary, please not remove it - name: Set up Go 1.16 uses: actions/setup-go@v2 with: go-version: 1.16 - uses: actions/cache@v2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Get dependencies run: go mod download - name: Download dependencies run: sh dumpling/install.sh - name: Integration test run: make dumpling_integration_test VERBOSE="true" - name: Set up tmate session if: ${{ failure() }} uses: mxschmitt/action-tmate@v3 integration-test-mysql-8022: runs-on: ubuntu-latest timeout-minutes: 15 strategy: fail-fast: true services: mysql: image: mysql:8.0.22 env: MYSQL_ALLOW_EMPTY_PASSWORD: yes ports: - 3306:3306 options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 steps: - uses: actions/checkout@v2 - name: Shutdown Ubuntu MySQL (SUDO) run: sudo service mysql stop # Shutdown the Default MySQL, "sudo" is necessary, please not remove it - name: Set up Go 1.16 uses: actions/setup-go@v2 with: go-version: 1.16 - uses: actions/cache@v2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Get dependencies run: go mod download - name: Download dependencies run: sh dumpling/install.sh - name: Integration test run: make dumpling_integration_test VERBOSE="true" - name: Set up tmate session if: ${{ failure() }} uses: mxschmitt/action-tmate@v3