Kaynağa Gözat

added jobs for perform UI testing

RustamGimadiev 4 yıl önce
ebeveyn
işleme
13432d79de
1 değiştirilmiş dosya ile 63 ekleme ve 3 silme
  1. 63 3
      .github/workflows/maven.yml

+ 63 - 3
.github/workflows/maven.yml

@@ -1,15 +1,75 @@
-name: Java CI with Maven
+name: kafka-ui
 on:
   push:
     branches: [ '*' ]
   pull_request:
     branches: [ master ]
 jobs:
-  build:
+  npm-test:
+    needs: [mvn-contract-build]
+    env:
+      CI: true
+      NODE_ENV: dev
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v2
+    - name: Use Node.js
+      uses: actions/setup-node@v1
+      with:
+        node-version: "14"
+    - uses: actions/download-artifact@v2
+      with:
+        name: generated-sources
+        path: kafka-ui-react-app/src/generated-sources
+    - name: Cache node dependency
+      uses: actions/cache@v1
+      with:
+        path: kafka-ui-react-app/node_modules
+        key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
+        restore-keys: |
+          ${{ runner.os }}-node-
+    - name: Install Node dependencies
+      run: |
+        cd kafka-ui-react-app/
+        npm install
+    - name: Linter
+      run: |
+        cd kafka-ui-react-app/
+        npm run lint
+    - name: Tests
+      run: |
+        cd kafka-ui-react-app/
+        npm run test
+
+  mvn-contract-build:
+    runs-on: ubuntu-latest
+    steps:
+    - name: Cache local Maven repository
+      uses: actions/cache@v1
+      with:
+        path: ~/.m2/repository
+        key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+        restore-keys: |
+          ${{ runner.os }}-maven-
+    - uses: actions/checkout@v2
+    - name: Set up JDK 1.13
+      uses: actions/setup-java@v1
+      with:
+        java-version: 1.13
+    - name: Build with Maven
+      run: |
+        cd kafka-ui-contract
+        mvn clean package
+    - uses: actions/upload-artifact@v2
+      with:
+        name: generated-sources
+        path: kafka-ui-contract/target/generated-sources/frontend
+
+  mvn-all-build:
     runs-on: ubuntu-latest
     steps:
     - name: Cache local Maven repository
-      uses: actions/cache@v2
+      uses: actions/cache@v1
       with:
         path: ~/.m2/repository
         key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}