Files
runelite/.github/workflows/pr.yml
2022-04-23 08:25:38 +02:00

122 lines
3.3 KiB
YAML

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: MorrisonCole/pr-lint-action@v1.6.1
with:
title-regex: '^([\w-/]+): \w+'
on-failed-regex-fail-action: false
on-failed-regex-request-changes: false
on-failed-regex-create-review: true
on-failed-regex-comment: "Your PR title should match the following regex: `%regex%`!"
repo-token: ${{ secrets.GITHUB_TOKEN }}
validate:
name: Validate gradle wrapper
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.4.2
- uses: gradle/wrapper-validation-action@v1.0.4
build:
name: Build
needs: [pr-lint, validate]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.4.2
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Set up JDK 11
uses: actions/setup-java@v3.1.1
with:
distribution: 'adopt'
java-version: 11
cache: 'gradle'
- 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@v2.4.2
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Set up JDK 11
uses: actions/setup-java@v3.1.1
with:
distribution: 'adopt'
java-version: 11
cache: 'gradle'
- 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@v2.4.2
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Set up JDK 11
uses: actions/setup-java@v3.1.1
with:
distribution: 'adopt'
java-version: 11
cache: 'gradle'
- 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@v2.4.2
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Set up JDK 11
uses: actions/setup-java@v3.1.1
with:
distribution: 'adopt'
java-version: 11
cache: 'gradle'
- 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.2.1
with:
github-token: ${{ secrets.Owain }}