name: OpenOSRS - CI (PR) on: pull_request: types: ['opened', 'edited', 'reopened', 'synchronize'] jobs: pr-lint: name: PR title runs-on: ubuntu-latest steps: - name: PR title lint if: github.event_name == 'pull_request' uses: seferov/pr-lint-action@v1.1.1 with: title-regex: '^([\w-/ ]+): [\w ]+' validate: name: Validate gradle wrapper runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: gradle/wrapper-validation-action@v1 build: name: Build needs: [pr-lint, validate] runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: actions/cache@v1 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }} restore-keys: | ${{ runner.os }}-gradle- - name: Make gradlew executable run: chmod +x ./gradlew - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Assembling run: ./gradlew assemble --console=plain - name: Building run: ./gradlew build --stacktrace -x test -x checkstyleMain -x checkstyleTest --console=plain test: name: Test needs: [pr-lint, validate] runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: actions/cache@v1 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }} restore-keys: | ${{ runner.os }}-gradle- - name: Make gradlew executable run: chmod +x ./gradlew - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Assembling run: ./gradlew assemble --console=plain - name: Testing run: ./gradlew test -x deobfuscator:test --stacktrace --console=plain checkstyleMain: name: Checkstyle main needs: [pr-lint, validate] runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: actions/cache@v1 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }} restore-keys: | ${{ runner.os }}-gradle- - name: Make gradlew executable run: chmod +x ./gradlew - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Assembling run: ./gradlew assemble --console=plain - name: Checking code conventions run: ./gradlew checkstyleMain --console=plain checkstyleTest: name: Checkstyle test needs: [pr-lint, validate] runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: actions/cache@v1 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }} restore-keys: | ${{ runner.os }}-gradle- - name: Make gradlew executable run: chmod +x ./gradlew - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Assembling run: ./gradlew assemble --console=plain - name: Checking code conventions run: ./gradlew checkstyleTest --console=plain approve: name: Approve needs: [build, test, checkstyleMain, checkstyleTest] runs-on: ubuntu-latest steps: - name: Approve pull request if: github.event_name == 'pull_request' && github.actor == 'OpenOSRS' uses: hmarr/auto-approve-action@v2.0.0 with: github-token: ${{ secrets.Owain }}