Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream: Build Upgrades #204

Draft
wants to merge 164 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 159 commits
Commits
Show all changes
164 commits
Select commit Hold shift + click to select a range
2f12dbd
Fix dropped `implementSerializable` flag
sgammon Feb 18, 2024
f6c5bf3
Add setting for Kotlin package to codegen
sgammon Feb 20, 2024
2e45a9f
Implement support for KotlinX Serialization
sgammon Feb 18, 2024
4a9a5ee
General build upgrades and improvements
sgammon Feb 18, 2024
8fcf9cb
GitHub Actions checks for PR review
sgammon Feb 19, 2024
e3a1a2d
feat: library api validation with kotlinx binary validator
sgammon Feb 19, 2024
2cc10a2
chore: add api pins for public modules
sgammon Feb 19, 2024
49a54cc
fixup! cleanups before push
sgammon Feb 19, 2024
78a3534
fixup! drop buildless action in ci
sgammon Feb 19, 2024
cdb3c66
fixup! pr checks, dependency graph
sgammon Feb 19, 2024
1bcca22
fixup! ignore profiler ephemera
sgammon Feb 19, 2024
6aaca2a
fixup! job permissions for dependency graph
sgammon Feb 19, 2024
34ebd9e
fixup! dependency graph not executing
sgammon Feb 19, 2024
6346ba6
fixup! nvd api key for owasp check
sgammon Feb 19, 2024
5483118
fixup! reporting paths
sgammon Feb 19, 2024
2040d47
fixup! runner for dependency graph job
sgammon Feb 19, 2024
87053d2
fixup! build scans in gha jobs
sgammon Feb 19, 2024
c65ae06
fixup! upgrade google java format
sgammon Feb 19, 2024
caa6835
fixup! re-enable dependency locking
sgammon Feb 19, 2024
a5b11a4
fixup! update lockfiles
sgammon Feb 19, 2024
4eff758
fixup! run build in gha
sgammon Feb 19, 2024
e090161
fixup! trust for dependency graph artifacts
sgammon Feb 19, 2024
6d204fe
fixup! run spotless
sgammon Feb 19, 2024
e9b9a65
fixup! codeql needs the dependency graph
sgammon Feb 19, 2024
0921579
fixup! unstable lockfile dependency state for `pkl-commons-cli`
sgammon Feb 19, 2024
b50bfef
fixup! coverage reporting
sgammon Feb 19, 2024
d70c988
fixup! update dependency verification metadata
sgammon Feb 19, 2024
7886933
fixup! more stdlib fixes
sgammon Feb 19, 2024
f55a93e
fixup! apply kover plugin
sgammon Feb 19, 2024
13bbc47
fixup! disable dependency locking (tmp)
sgammon Feb 19, 2024
0c1c24a
fixup! test fixups
sgammon Feb 19, 2024
967caa5
fixup! caching fixes
sgammon Feb 20, 2024
010f38f
feat: refactor `buildSrc` → composite build
sgammon Feb 20, 2024
733e860
fixup! trust kotlinx
sgammon Feb 20, 2024
bfab9df
fixup! locking and verification issues with idea
sgammon Feb 20, 2024
2158afd
feat: move to entrypoint convention for cli
sgammon Feb 20, 2024
0406596
chore: project descriptions for gradle
sgammon Feb 20, 2024
7d2afa8
chore: restore and align build caching
sgammon Feb 20, 2024
0a9a6a9
fixup! update lockfiles
sgammon Feb 20, 2024
8e324a1
fixup! missing kotlin plugin
sgammon Feb 20, 2024
1a4b8f3
fixup! more conservative test forking
sgammon Feb 20, 2024
61248e2
fixup! update lockfiles
sgammon Feb 20, 2024
b7013df
fixup! relock dependencies
sgammon Feb 20, 2024
954f920
fixup! avoid analysis cost in build unless requested
sgammon Feb 20, 2024
1cd09f3
fixup! unify build caching with `build-logic` project
sgammon Feb 20, 2024
dd56a81
fixup! defer/avoidable spotless config in `pkl-core`
sgammon Feb 20, 2024
171bac9
fixup! direct dependency on `pklJvmLibrary`
sgammon Feb 20, 2024
148ff42
fix: warning about `ThreadDeath`
sgammon Feb 20, 2024
d635d2f
fix: missing `pkl-cli` dependency for `pkl-gradle`
sgammon Feb 20, 2024
bf5a2a8
feat: configure kotlin compiler properties for speed
sgammon Feb 20, 2024
2b9e359
fixup! local caching alignment
sgammon Feb 20, 2024
1ba2d77
feat: entrypoint target → JVM 21
sgammon Feb 20, 2024
3f426a6
fixup! missing `pklJvmLibrary` plugin
sgammon Feb 20, 2024
1b8f4c0
chore: update lockfiles
sgammon Feb 20, 2024
8a8ac26
fixup! don't default remote cache to on
sgammon Feb 20, 2024
4ecab31
fixup! better control of remote caching
sgammon Feb 20, 2024
708d2bc
fixup! don't unconditionally include pmd plugin
sgammon Feb 21, 2024
659f747
chore: better build avoidance for testing
sgammon Feb 21, 2024
b9b2827
temp! fix issue with `jpkl` presence in tool fatjar
sgammon Feb 21, 2024
c5b4062
fixup! tunings for dependency locking and pmd
sgammon Feb 21, 2024
dc735ef
feat: spotless for gradle kotlin
sgammon Feb 21, 2024
ef48675
chore: lockfile updates
sgammon Feb 21, 2024
5103c1d
fix: `clean` and `check` tasks at root
sgammon Feb 21, 2024
7ea1ee0
fixup! trust spotless
sgammon Feb 21, 2024
19e3a1d
chore: alignment for stdlib, general build cleanup
sgammon Feb 21, 2024
5f586ab
chore: simplify build configuration
sgammon Feb 21, 2024
5af97cb
chore: simpler test names in console output
sgammon Feb 21, 2024
8b000ff
fixup! autofix property
sgammon Feb 21, 2024
326b3aa
chore: jvm toolchain alignment and cleanup
sgammon Feb 21, 2024
89c03d1
fixup! don't enforce `kotlinGradle` spotless checks yet
sgammon Feb 21, 2024
f854481
tmp: disable dependency locking
sgammon Feb 21, 2024
5229ea3
chore: more tolerant ci
sgammon Feb 21, 2024
5ab7b84
chore: align ci jvm with local toolchains
sgammon Feb 21, 2024
9c5fe58
fixup! remote cache + push in ci
sgammon Feb 21, 2024
2adbc9e
fix: buildless configuration
sgammon Feb 21, 2024
6b7308c
chore: relock deps
sgammon Feb 21, 2024
96f18b1
fixup! activate remote cache by default
sgammon Feb 21, 2024
b284b2e
chore: cleanup in root build, detekt reporting fix
sgammon Feb 21, 2024
d5ee501
fixup! always cache-push in ci
sgammon Feb 21, 2024
4279f26
chore: enable extended kotlinc compiler checks
sgammon Feb 21, 2024
c932acc
feat: upgrade graalvm → `23.1.2`
sgammon Feb 21, 2024
6f0d8e2
chore: update dependency locks
sgammon Feb 21, 2024
c95d641
chore: update dependency verification metadata
sgammon Feb 21, 2024
330612a
fixup! update shadow plugin
sgammon Feb 21, 2024
d677eee
chore: update lockfiles
sgammon Feb 21, 2024
d10c972
chore: update verification metadata
sgammon Feb 21, 2024
22bd8bc
chore: update spotless → `6.25.0`
sgammon Feb 21, 2024
570d3ee
chore: update lockfiles
sgammon Feb 21, 2024
e70612d
chore: update verification metadata
sgammon Feb 21, 2024
e1eaab6
fixup! trust springframework bom
sgammon Feb 21, 2024
ccf9493
fixup! disable locks again until issue with stdlib-common can be diag…
sgammon Feb 21, 2024
7e99a82
feat: dependency pinning to avoid cves, owasp suppressions
sgammon Feb 21, 2024
00b6250
chore: update lockfiles
sgammon Feb 21, 2024
78151c6
chore: update dependency metadata
sgammon Feb 21, 2024
1945c9f
chore: unwind avoidance for analysis plugins (too complex)
sgammon Feb 21, 2024
50e42e5
chore: tune kotlinc args
sgammon Feb 21, 2024
7da2c5c
feat: pgo-enabled native build against graalvm latest
sgammon Feb 21, 2024
d0173a4
feat: windows build target for `pkl-cli`
sgammon Feb 21, 2024
e41e5e8
chore: os build matrix for native build
sgammon Feb 21, 2024
ebe5871
fixup! build graph and native build in ci
sgammon Feb 21, 2024
a6f101d
fixup! graalvm download
sgammon Feb 21, 2024
6e7ab94
fixup! more analysis fixes
sgammon Feb 21, 2024
b13b9c7
fixup! disable windows build (tmp)
sgammon Feb 21, 2024
38e90ae
fixup! disallow native build failure
sgammon Feb 21, 2024
c468d15
fixup! hash updates for gvm sdk
sgammon Feb 21, 2024
b4f897a
chore: run spotless
sgammon Feb 21, 2024
5fafea6
fixup! archive tasks
sgammon Feb 21, 2024
0449f3c
fixup! drop `epsilon` gc mode
sgammon Feb 21, 2024
4fac050
fixup! native cli as gradle distribution
sgammon Feb 21, 2024
e9d5e35
fixup! reorganize and cleanup detekt reporting
sgammon Feb 21, 2024
0cc4e66
chore: better build avoidance for native builds
sgammon Feb 21, 2024
6e2ca12
fixup! analysis still broken
sgammon Feb 21, 2024
88fb5ff
chore: remote build cache in ci
sgammon Feb 21, 2024
9769853
chore: tests in gha ci
sgammon Feb 21, 2024
bf3c09a
fixup! default native build to non-release in ci
sgammon Feb 21, 2024
156ea4f
feat: light plugin system in `pkl-core`
sgammon Feb 21, 2024
f5447c5
fixup! idea configs
sgammon Feb 21, 2024
d307683
fixup! dependency edge for javac on kotlinc
sgammon Feb 21, 2024
2662892
chore: run spotless
sgammon Feb 21, 2024
2189421
fixup! missing secret mapping in format check job
sgammon Feb 21, 2024
e76b5d3
fixup! build scans for gradle builds in ci
sgammon Feb 21, 2024
67f4ccf
fixup! native image job reports in ci
sgammon Feb 21, 2024
b5de3b4
chore: various ci job fixups
sgammon Feb 22, 2024
eee023f
fixup! build matrix os enablement flags
sgammon Feb 22, 2024
0468dfb
fixup! test report glob
sgammon Feb 22, 2024
4462e38
fixup! build scans in ci
sgammon Feb 22, 2024
ebe9af2
fixup! pgo outputs
sgammon Feb 22, 2024
17d0d48
fixup! use sha instead of ref in ci jobs
sgammon Feb 22, 2024
a96ccfe
fix: additional test ignores for checksum failures
sgammon Feb 22, 2024
50253a9
fix: ghsa suppressions for build-time dependencies
sgammon Feb 22, 2024
1c42cfc
fixup! run spotless
sgammon Feb 22, 2024
6abd834
fixup! ci and test disablement fixes (temp)
sgammon Feb 22, 2024
aef63d5
fixup! update buildscript lockfiles
sgammon Feb 22, 2024
624d3ec
fix: kotlin code generator qualification with kotlinx
sgammon Feb 22, 2024
d87184f
chore: update api pins
sgammon Feb 22, 2024
5f2dd08
fixup! don't relocate kotlinx in fat jar
sgammon Feb 22, 2024
adc28b9
fixup! kotlinx-html relocations
sgammon Feb 22, 2024
e9ee73e
fixup! don't use matrix for regular build
sgammon Feb 22, 2024
2af98f8
fix: kotlinx html relocations
sgammon Feb 22, 2024
a6f2e5f
feat: continued support for jpms
sgammon Feb 22, 2024
26f01da
feat: add `PklExperimental` kotlin opt in
sgammon Feb 22, 2024
77e050f
fixup! run spotless
sgammon Feb 22, 2024
e58d7c0
fixup! relocations for kotlin
sgammon Feb 22, 2024
dcf620a
fixup! jpms / kotlin task dependencies
sgammon Feb 22, 2024
69ece80
feat: module info for `pkl-commons-cli`
sgammon Feb 22, 2024
0f7a88b
fix: exclude duplicates in main jar for kotlin/jvm compilations
sgammon Feb 22, 2024
23919f4
fix: attempt a sleep to solve race condition between kotlinc/javac
sgammon Feb 22, 2024
69ed70c
fixup! module build for `pkl-commons-cli`
sgammon Feb 22, 2024
9406aba
fixup! honor dependency locking toggle in `build-logic`
sgammon Feb 22, 2024
0d0574d
feat: jpms module for `pkl-commons-test`
sgammon Feb 22, 2024
3a663d3
fixup! cleanup pure kotlin conventions
sgammon Feb 22, 2024
a510e40
feat: jpms for `pkl-doc`
sgammon Feb 22, 2024
6fd45a5
feat: jpms for `pkl-executor`
sgammon Feb 22, 2024
43ca558
fix: build before native target in ci
sgammon Feb 22, 2024
779060b
feat: jpms for `pkl.server`
sgammon Feb 22, 2024
8088af9
fix: close module `pkl.core`
sgammon Feb 22, 2024
a31ea15
chore: run spotless
sgammon Feb 22, 2024
55336a5
fixup! remove old add-reads for executor
sgammon Feb 22, 2024
d1c3e02
fixup! jpms for server module
sgammon Feb 22, 2024
c3ca8a8
fix: rollback jpms for server (msgpack is blocking it)
sgammon Feb 22, 2024
28c9737
fix: jpms with native build
sgammon Feb 22, 2024
45bad1f
feat: modular antlr4 and paguro dependencies
sgammon Mar 1, 2024
f81ea3c
fix!: expose `pkl-executor` as api dependency
sgammon Mar 1, 2024
f7938ee
fixup! relocations for slf4j
sgammon Mar 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/codeql/codeql-config.yml
@@ -0,0 +1,7 @@
name: "CodeQL"

languages:
- java-kotlin

queries:
- uses: security-and-quality
11 changes: 11 additions & 0 deletions .github/dependency-review-config.yml
@@ -0,0 +1,11 @@
license-check: true
vulnerability-check: true
fail-on-severity: "high"

allow-ghsas:
- GHSA-22wj-vf5f-wrvj # build-time only (com.h2database:h2)
- GHSA-4265-ccf5-phj5 # build-time only (org.apache.commons:commons-compress)
- GHSA-7g45-4rm6-3mm3 # build-time only (com.google.guava:guava)
- GHSA-5mg8-w23w-74h3 # build-time only (com.google.guava:guava)
- GHSA-hr8g-6v94-x4m9 # build-time only (org.bouncycastle:bcprov-*)
- GHSA-wjxj-5m7g-mg7q # build-time only (org.bouncycastle:bcp*)
76 changes: 76 additions & 0 deletions .github/workflows/checks.apicheck.yml
@@ -0,0 +1,76 @@
name: "API Check"

"on":
workflow_dispatch: {}
workflow_call:
inputs:
ignore_failures:
description: "Ignore failures"
required: false
type: boolean
default: false

secrets:
GRADLE_CONFIGURATION_KEY:
description: "Gradle cache key"
required: false
BUILDLESS_APIKEY:
description: "Buildless key"
required: false

permissions:
contents: "read"

jobs:
api-check:
name: "API Check"
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: "Setup: Harden Runner"
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
egress-policy: audit
- name: "Setup: Checkout"
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
persist-credentials: false
- name: "Setup: Cache Restore (Build)"
id: cache-restore-build
uses: actions/cache/restore@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
with:
key: pkl-v1-build-${{ hashFiles('gradle/libs.versions.toml') }}
restore-keys: |
pkl-v1-build-${{ hashFiles('gradle/libs.versions.toml') }}
pkl-v1-build-
pkl-v1-
pkl-
path: |
.gradle/
build/
.codebase/
.kotlin/
./*/build/bin
./*/build/classes
./*/build/kotlin
./*/build/klib
./*/build/generated
./*/build/generated-sources
- name: "Setup: Java 21"
uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0
with:
distribution: 'adopt'
java-version: '21'
- name: "Analysis: API Check"
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
continue-on-error: ${{ inputs.ignore_failures }}
env:
CI: true
with:
cache-read-only: true
cache-encryption-key: ${{ secrets.GRADLE_CONFIGURATION_KEY }}
arguments: |
apiCheck
-x test
-PenableAnalysis=true
95 changes: 95 additions & 0 deletions .github/workflows/checks.codeql.yml
@@ -0,0 +1,95 @@
name: "CodeQL"

"on":
workflow_dispatch: {}
workflow_call:
inputs: {}
secrets:
GRADLE_CONFIGURATION_KEY:
description: "Gradle cache key"
required: false
BUILDLESS_APIKEY:
description: "Buildless key"
required: false

schedule:
- cron: "0 0-23/2 * * *"

push:
branches:
- main

permissions:
contents: read

jobs:
analyze:
name: CodeQL
runs-on: ubuntu-latest
continue-on-error: true
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: ["java-kotlin"]
steps:
- name: "Setup: Harden Runner"
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
egress-policy: audit
- name: "Setup: Checkout"
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
persist-credentials: false
- name: "Setup: Cache Restore (Build)"
id: cache-restore-build
uses: actions/cache/restore@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
with:
key: pkl-v1-build-${{ hashFiles('gradle/libs.versions.toml') }}
restore-keys: |
pkl-v1-build-${{ hashFiles('gradle/libs.versions.toml') }}
pkl-v1-build-
pkl-v1-
pkl-
path: |
.gradle/
build/
.codebase/
.kotlin/
./*/build/bin
./*/build/classes
./*/build/kotlin
./*/build/klib
./*/build/generated
./*/build/generated-sources
- name: "Setup: Java 21"
uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0
with:
distribution: 'adopt'
java-version: '21'
- name: "Setup: Initialize CodeQL"
uses: github/codeql-action/init@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3
with:
config-file: ./.github/codeql/codeql-config.yml
languages: ${{ matrix.language }}
- name: "Analysis: Build"
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
continue-on-error: true
env:
CI: true
BUILDLESS_APIKEY: ${{ secrets.BUILDLESS_APIKEY }}
with:
cache-read-only: true
cache-encryption-key: ${{ secrets.GRADLE_CONFIGURATION_KEY }}
arguments: |
compileKotlin
compileJava
assemble
-x test
-x check
- name: "Analysis: CodeQL"
uses: github/codeql-action/analyze@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3
continue-on-error: true
33 changes: 33 additions & 0 deletions .github/workflows/checks.dependency-review.yml
@@ -0,0 +1,33 @@
name: "Dependencies"

"on":
workflow_dispatch: {}
workflow_call: {}

permissions:
contents: read

jobs:
dep-review:
name: "Dependency Review"
runs-on: ubuntu-latest
steps:
- name: "Setup: Harden Runner"
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
egress-policy: audit
- name: "Setup: Checkout"
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
persist-credentials: false
- name: "Check: Dependency Review"
uses: actions/dependency-review-action@80f10bf419f34980065523f5efca7ebed17576aa # v4.1.0
continue-on-error: true
if: github.event_name == 'pull_request'
with:
config-file: "./.github/dependency-review-config.yml"
license-check: true
vulnerability-check: true
fail-on-severity: "low"
base-ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.ref || 'main' }}
73 changes: 73 additions & 0 deletions .github/workflows/checks.detekt.yml
@@ -0,0 +1,73 @@
name: "Detekt"

"on":
workflow_dispatch: {}
workflow_call:
inputs: {}
secrets:
GRADLE_CONFIGURATION_KEY:
description: "Gradle cache key"
required: false
BUILDLESS_APIKEY:
description: "Buildless key"
required: false

permissions:
contents: "read"

jobs:
sonar:
name: "Detekt"
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: "Setup: Harden Runner"
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
egress-policy: audit
- name: "Setup: Checkout"
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
persist-credentials: false
- name: "Setup: Cache Restore (Build)"
id: cache-restore-build
uses: actions/cache/restore@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
with:
key: pkl-v1-build-${{ hashFiles('gradle/libs.versions.toml') }}
restore-keys: |
pkl-v1-build-${{ hashFiles('gradle/libs.versions.toml') }}
pkl-v1-build-
pkl-v1-
pkl-
path: |
.gradle/
build/
.codebase/
.kotlin/
./*/build/bin
./*/build/classes
./*/build/kotlin
./*/build/klib
./*/build/generated
./*/build/generated-sources
- name: "Setup: Java 21"
uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0
with:
distribution: 'adopt'
java-version: '21'
- name: "Setup: Git History"
run: git fetch --unshallow || exit 0
- name: "Analysis: Detekt"
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
continue-on-error: true
env:
CI: true
with:
cache-read-only: true
cache-encryption-key: ${{ secrets.GRADLE_CONFIGURATION_KEY }}
arguments: detekt detektMergeSarif detektMergeXml -PenableAnalysis=true -PsarifReporting=true
- name: "Report: SARIF Upload"
uses: github/codeql-action/upload-sarif@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3
with:
sarif_file: build/reports/detekt/detekt.sarif
84 changes: 84 additions & 0 deletions .github/workflows/checks.formatting.yml
@@ -0,0 +1,84 @@
name: "Formatting"

"on":
workflow_dispatch:
inputs:
## Input: Ignore Failures
ignore_failures:
description: "Ignore failures"
required: false
type: boolean
default: false

workflow_call:
inputs:
ignore_failures:
description: "Ignore failures"
required: false
type: boolean
default: false

secrets:
GRADLE_CONFIGURATION_KEY:
description: "Gradle cache key"
required: false
BUILDLESS_APIKEY:
description: "Buildless key"
required: false

permissions:
contents: "read"

jobs:
fmt-check:
name: "Formatting"
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: "Setup: Harden Runner"
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
egress-policy: audit
- name: "Setup: Checkout"
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
persist-credentials: false
- name: "Setup: Cache Restore (Build)"
id: cache-restore-build
uses: actions/cache/restore@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
with:
key: pkl-v1-build-${{ hashFiles('gradle/libs.versions.toml') }}
restore-keys: |
pkl-v1-build-${{ hashFiles('gradle/libs.versions.toml') }}
pkl-v1-build-
pkl-v1-
pkl-
path: |
.gradle/
build/
.codebase/
.kotlin/
./*/build/bin
./*/build/classes
./*/build/kotlin
./*/build/klib
./*/build/generated
./*/build/generated-sources
- name: "Setup: Java 21"
uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0
with:
distribution: 'adopt'
java-version: '21'
- name: "Analysis: Formatting (Spotless)"
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
continue-on-error: ${{ inputs.ignore_failures }}
env:
CI: true
with:
cache-read-only: true
cache-encryption-key: ${{ secrets.GRADLE_CONFIGURATION_KEY }}
arguments: |
spotlessCheck
-PenableAnalysis=true
-x spotlessKotlinGradleCheck