ci-integration-sql.yaml 2.9 KB
Newer Older
A
Ali Ahmed 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#

name: CI - Integration - Sql
on:
  pull_request:
    branches:
      - master
25 26 27
  push:
    branches:
      - branch-*
A
Ali Ahmed 已提交
28 29 30 31 32 33 34 35 36

jobs:

  sql:
    name:
    runs-on: ubuntu-latest
    timeout-minutes: 120

    steps:
37
      - name: checkout
38
        uses: actions/checkout@v2
Y
Yijie Shen 已提交
39 40 41
        with:
          fetch-depth: 0
          ref: ${{ github.event.pull_request.head.sha }}
42

43 44 45 46 47 48 49 50
      - name: Cache local Maven repository
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-

51 52
      - name: Check if this pull request only changes documentation
        id:   docs
53
        uses: apache/pulsar-test-infra/diff-only@master
54
        with:
55
          args: site2 deployment .asf.yaml .ci ct.yaml
56

A
Ali Ahmed 已提交
57 58
      - name: Set up JDK 1.8
        uses: actions/setup-java@v1
59
        if: steps.docs.outputs.changed_only == 'no'
A
Ali Ahmed 已提交
60 61 62
        with:
          java-version: 1.8

63
      - name: clean disk
64
        if: steps.docs.outputs.changed_only == 'no'
65 66
        run: |
          sudo swapoff -a
67
          sudo rm -rf /swapfile /usr/share/dotnet /usr/local/lib/android /opt/ghc
68 69 70
          sudo apt clean
          docker rmi $(docker images -q) -f
          df -h
A
Ali Ahmed 已提交
71

72
      - name: run install by skip tests
73
        if: steps.docs.outputs.changed_only == 'no'
74
        run: mvn -q -B -ntp clean install -DskipTests
75

76 77 78 79 80 81 82 83
      - name: build pulsar image
        if: steps.docs.outputs.changed_only == 'no'
        run: mvn -B -f docker/pulsar/pom.xml install -am -Pdocker -DskipTests -Ddocker.nocache=true

      - name: build pulsar-all image
        if: steps.docs.outputs.changed_only == 'no'
        run: mvn -B -f docker/pulsar-all/pom.xml install -am -Pdocker -DskipTests -Ddocker.nocache=true

84
      - name: build artifacts and docker pulsar latest test image
85
        if: steps.docs.outputs.changed_only == 'no'
86
        run: mvn -B -f tests/docker-images/pom.xml install -am -Pdocker -DskipTests
87

A
Ali Ahmed 已提交
88
      - name: run integration tests
89
        if: steps.docs.outputs.changed_only == 'no'
A
Ali Ahmed 已提交
90
        run: mvn -B -f tests/pom.xml test -DintegrationTestSuiteFile=pulsar-sql.xml -DintegrationTests -DredirectTestOutputToFile=false