ci_e2e.yml 2.9 KB
Newer Older
X
xiaochun.liu 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#
# 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.
#

X
xiaochun.liu 已提交
18
on: ["pull_request"]
X
xiaochun.liu 已提交
19 20 21 22 23 24 25 26 27 28 29 30 31
env:
  DOCKER_DIR: ./docker
  LOG_DIR: /tmp/dolphinscheduler

name: e2e Test

jobs:

  build:
    name: Test
    runs-on: ubuntu-latest
    steps:

B
bcai 已提交
32
      - uses: actions/checkout@v2
33 34 35 36 37 38
      # In the checkout@v2, it doesn't support git submodule. Execute the commands manually.
      - name: checkout submodules
        shell: bash
        run: |
          git submodule sync --recursive
          git -c protocol.version=2 submodule update --init --force --recursive --depth=1
X
xiaochun.liu 已提交
39 40 41 42 43 44 45
      - uses: actions/cache@v1
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-
      - name: Build Image
X
xiaochun.liu 已提交
46 47 48
        run: |
          export VERSION=`cat $(pwd)/pom.xml| grep "SNAPSHOT</version>" | awk -F "-SNAPSHOT" '{print $1}' | awk -F ">" '{print $2}'`
          sh ./dockerfile/hooks/build
X
xiaochun.liu 已提交
49
      - name: Docker Run
X
xiaochun.liu 已提交
50 51
        run: |
          VERSION=`cat $(pwd)/pom.xml| grep "SNAPSHOT</version>" | awk -F "-SNAPSHOT" '{print $1}' | awk -F ">" '{print $2}'`
52 53
          mkdir -p /tmp/logs
          docker run -dit -e POSTGRESQL_USERNAME=test -e POSTGRESQL_PASSWORD=test -v /tmp/logs:/opt/dolphinscheduler/logs -p 8888:8888 dolphinscheduler:$VERSION all
X
xiaochun.liu 已提交
54 55
      - name: Check Server Status
        run: sh ./dockerfile/hooks/check
56 57 58 59 60 61 62 63 64 65
      - name: Prepare e2e env
        run: |
          sudo apt-get install -y libxss1 libappindicator1 libindicator7 xvfb unzip
          wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
          sudo dpkg -i google-chrome*.deb
          sudo apt-get install -f -y
          wget -N https://chromedriver.storage.googleapis.com/80.0.3987.106/chromedriver_linux64.zip
          unzip chromedriver_linux64.zip
          sudo mv -f chromedriver /usr/local/share/chromedriver
          sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
X
xiaochun.liu 已提交
66
      - name: Run e2e Test
67
        run: cd ./e2e && mvn -B clean test
X
xiaochun.liu 已提交
68
      - name: Collect logs
69 70 71 72 73 74 75
        if: failure()
        uses: actions/upload-artifact@v1
        with:
          name: dslogs
          path: /tmp/logs