|
@@ -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') }}
|