Skip to content

Commit 955cd60

Browse files
authored
ci: add GitHub Actions workflow to run the build on PRs and main (#85)
PR: #85
1 parent 205c700 commit 955cd60

2 files changed

Lines changed: 47 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: CI
2+
3+
# Run the full Gradle build on every pull request and on pushes to main.
4+
# `./gradlew build` runs the complete quality gate: tests, ktlint, detekt,
5+
# apiCheck (binary-compatibility), explicit-API strict mode, allWarningsAsErrors,
6+
# and the aggregate 80% Kover line-coverage floor.
7+
on:
8+
pull_request:
9+
push:
10+
branches: [main]
11+
12+
# Cancel superseded runs on the same ref so only the latest commit of a branch/PR builds.
13+
concurrency:
14+
group: ci-${{ github.workflow }}-${{ github.ref }}
15+
cancel-in-progress: true
16+
17+
permissions:
18+
contents: read
19+
20+
jobs:
21+
build:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Check out repository
25+
uses: actions/checkout@v4
26+
with:
27+
# The styleguide directory is a git submodule; fetch it so the working tree matches local checkouts.
28+
submodules: recursive
29+
30+
# Install a single Temurin JDK 21. The build's Gradle daemon runs on this JVM, and the
31+
# foojay-resolver-convention plugin (settings.gradle.kts) auto-provisions the JDK 8 and
32+
# JDK 11 toolchains the Java-8 and JDK-11 modules require. JDK 21 also satisfies the
33+
# virtual-threads module's toolchain. JDK 21 (rather than the newest LTS) is deliberate:
34+
# detekt 1.23.x crashes on JDK 25+, so keeping the daemon on 21 keeps the detekt gate green.
35+
- name: Set up JDK 21
36+
uses: actions/setup-java@v4
37+
with:
38+
distribution: temurin
39+
java-version: '21'
40+
41+
# Built-in Gradle dependency and build caching, plus wrapper validation.
42+
- name: Set up Gradle
43+
uses: gradle/actions/setup-gradle@v4
44+
45+
- name: Build
46+
run: ./gradlew build

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
<h1 align="center">Java SDKs Platform</h1>
99

10+
[![CI](https://github.com/dexpace/java-sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/dexpace/java-sdk/actions/workflows/ci.yml)
1011
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
1112
[![Kotlin](https://img.shields.io/badge/kotlin-2.3.21-7F52FF.svg?logo=kotlin&logoColor=white)](https://kotlinlang.org)
1213
![JDK](https://img.shields.io/badge/JDK-8%2B-437291.svg?logo=openjdk&logoColor=white)

0 commit comments

Comments
 (0)