name: Build on: push: pull_request: types: [ opened, synchronize, reopened ] jobs: build: strategy: matrix: java: [ 17 ] os: [ ubuntu-latest ] runs-on: ${{ matrix.os }} steps: - name: Checkout repository uses: actions/checkout@v2 with: fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis - name: Validate Gradle wrapper uses: gradle/wrapper-validation-action@v1 - name: Setup JDK ${{ matrix.java }} uses: actions/setup-java@v1 with: java-version: ${{ matrix.java }} - name: Cache Gradle packages uses: actions/cache@v1 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} restore-keys: ${{ runner.os }}-gradle - name: Make Gradle wrapper executable if: ${{ runner.os != 'Windows' }} run: chmod +x ./gradlew - name: Build run: ./gradlew build env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload build artifacts if: ${{ runner.os == 'Linux' && matrix.java == '17' }} uses: actions/upload-artifact@v2 with: name: Artifacts path: build/libs/