name: CI on: [ pull_request, push ] jobs: test: runs-on: ubuntu-latest strategy: matrix: java: [ 8, 11 ] name: test jdk ${{ matrix.java }} steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v1 with: java-version: ${{ matrix.java }} - name: Cache Gradle packages uses: actions/cache@v2 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} restore-keys: ${{ runner.os }}-gradle - name: Build run: ./gradlew build webui: runs-on: ubuntu-latest name: test webui builds steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v1 with: java-version: 8 - name: Cache Gradle packages uses: actions/cache@v2 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} restore-keys: ${{ runner.os }}-gradle - name: npmBuild run: ./gradlew npmBuild release: name: semantic release runs-on: ubuntu-latest needs: [ test, webui ] steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v1 with: node-version: 13.x - uses: actions/setup-java@v1 with: java-version: 8 - name: Install dependencies run: npm install --only=production - name: Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DOCKERHUB_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKERHUB_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} run: npx semantic-release