mirror of https://github.com/usbharu/Hideout.git
chore: CIを改善
This commit is contained in:
parent
cb52248b1c
commit
f83d47e877
|
@ -0,0 +1,163 @@
|
|||
name: hideout-core-pull-request-merge-check.yml
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- "develop"
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
- synchronize
|
||||
- ready_for_review
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
change:
|
||||
if: github.event.pull_request.draft == false
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
core: ${{ steps.filter.outputs.core }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.PAT }}
|
||||
|
||||
- name: Check Changes
|
||||
uses: dorny/paths-filter@v2
|
||||
id: filter
|
||||
with:
|
||||
filters: |
|
||||
core:
|
||||
- 'hideout-core/**'
|
||||
- 'libs.versions.toml'
|
||||
ap:
|
||||
- 'hideout-activitypub/**'
|
||||
- 'libs.versions.toml'
|
||||
mastodon:
|
||||
- 'hideout-mastodon/**'
|
||||
- 'libs.versions.toml'
|
||||
owl:
|
||||
- 'owl/**'
|
||||
- 'libs.versions.toml'
|
||||
|
||||
hideout-core-setup:
|
||||
needs:
|
||||
- change
|
||||
if: github.event.pull_request.draft == false && needs.change.outputs.core == true
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.PAT }}
|
||||
|
||||
- name: Gradle Wrapper Validation
|
||||
uses: gradle/actions/wrapper-validation@v4
|
||||
|
||||
- name: Set up JDK 21
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '21'
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
with:
|
||||
cache-read-only: false
|
||||
gradle-home-cache-cleanup: true
|
||||
|
||||
- name: Build
|
||||
run: ./gradlew classes --no-daemon
|
||||
|
||||
hideout-core-unit-test:
|
||||
needs:
|
||||
- hideout-core-setup
|
||||
- change
|
||||
if: github.event.pull_request.draft == false && needs.change.outputs.core == true
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.PAT }}
|
||||
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
with:
|
||||
cache-read-only: false
|
||||
gradle-home-cache-cleanup: true
|
||||
|
||||
- name: Unit Test
|
||||
run: ./hideout-core/gradlew :hideout-core:koverXmlReport
|
||||
|
||||
- name: JUnit Test Report
|
||||
uses: mikepenz/action-junit-report@v4
|
||||
with:
|
||||
report_paths: '**/TEST-*.xml'
|
||||
check_name: 'hideout-core JUnit Test Report'
|
||||
|
||||
- name: Upload Coverage Report
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: 'hideout-core.xml'
|
||||
path: 'hideout-core/build/reports/kover/hideout-core.xml'
|
||||
|
||||
coverage:
|
||||
needs:
|
||||
- change
|
||||
- hideout-core-unit-test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Download Coverage Report
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: 'hideout-core.xml'
|
||||
path: 'hideout-core/build/reports/kover/hideout-core.xml'
|
||||
- name: Report Coverage
|
||||
uses: madrapps/jacoco-report@v1.7.0
|
||||
with:
|
||||
paths: |
|
||||
${{ github.workspace }}/hideout-core/build/reports/kover/**.xml
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
title: Code Coverage
|
||||
update-comment: true
|
||||
min-coverage-overall: 50
|
||||
min-coverage-changed-files: 80
|
||||
|
||||
lint:
|
||||
needs:
|
||||
- change
|
||||
- hideout-core-setup
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.head_ref }}
|
||||
token: ${{ secrets.PAT }}
|
||||
|
||||
- name: Set up JDK 21
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '21'
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
with:
|
||||
cache-read-only: false
|
||||
gradle-home-cache-cleanup: true
|
||||
|
||||
- name: Lint
|
||||
run: ./gradlew :hideout-core:detektMain :hideout-mastodon:detektMain
|
||||
|
||||
- name: Auto Commit
|
||||
if: ${{ always() }}
|
||||
uses: stefanzweifel/git-auto-commit-action@v5
|
||||
with:
|
||||
commit_message: "style: fix lint (CI)"
|
|
@ -211,12 +211,17 @@ kover {
|
|||
reports {
|
||||
verify {
|
||||
rule {
|
||||
bound{
|
||||
bound {
|
||||
minValue = 50
|
||||
coverageUnits = CoverageUnit.INSTRUCTION
|
||||
}
|
||||
}
|
||||
}
|
||||
total {
|
||||
xml {
|
||||
xmlFile = file("$buildDir/reports/kover/hideout-core.xml")
|
||||
}
|
||||
}
|
||||
filters {
|
||||
excludes {
|
||||
annotatedBy("org.springframework.context.annotation.Configuration")
|
||||
|
@ -229,6 +234,7 @@ kover {
|
|||
packages("org.jetbrains")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue