78 lines
1.9 KiB
YAML
78 lines
1.9 KiB
YAML
name: OpenOSRS - CI
|
|
|
|
on: [pull_request, push]
|
|
|
|
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@master
|
|
with:
|
|
title-regex: '^([\w-/]+): \w+'
|
|
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
name: Build
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- 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 --console=plain
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
name: Test
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- 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 --stacktrace --console=plain
|
|
|
|
checkstyle:
|
|
name: Checkstyle
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- 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
|
|
|
|
approve:
|
|
name: Approve
|
|
needs: [build, test, checkstyle]
|
|
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.GITHUB_TOKEN }}" |