Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
614b35c
feat: java/graalvm 21+ support
sgammon Jan 6, 2025
b71f16c
chore: update gradle → `8.12`
sgammon Jan 6, 2025
2c7b5e6
chore: update lockfiles
sgammon Jan 6, 2025
2fda34b
fixup! `spotlessApply`
sgammon Jan 6, 2025
0f910a7
fixup! disable broken tests
sgammon Jan 6, 2025
cc14fae
fixup! temporary github actions jobs
sgammon Jan 6, 2025
5965f4f
fixup! ci job tweaks
sgammon Jan 6, 2025
ac54cdd
fixup! drop `reports` task which is not configured
sgammon Jan 6, 2025
7698b94
fixup! graalvm bump to `24.1.1`
sgammon Jan 6, 2025
6e72f4f
fixup! update lockfiles
sgammon Jan 6, 2025
e6e32f7
fixup! truffle runtime dep, initial hashes for gvm
sgammon Jan 6, 2025
cc07425
fixup! fmt
sgammon Jan 6, 2025
bae1a87
fixup! don't relocate truffle/gvm sdk classes in uber jars
sgammon Jan 6, 2025
941f695
fix: warnings for gvm flag usage, renamed truffle svm macro
sgammon Jan 6, 2025
d34e13f
feat: flag support for gvm, native arch, use new `-Os` optimization mode
sgammon Jan 6, 2025
c046b72
fixup! relock
sgammon Jan 6, 2025
7a1ae8e
fixup! lockfile fixes
sgammon Jan 6, 2025
48e380e
fixup! cli tests
sgammon Jan 6, 2025
970a355
feat: initial transitive native image flag support
sgammon Jan 6, 2025
b7bee78
fixup! fmt
sgammon Jan 6, 2025
7527135
fixup! proper hashes for gvm downloads
sgammon Jan 6, 2025
f100834
fixup! truffle runtime dependency
sgammon Jan 6, 2025
a70c018
fixup! lockfiles
sgammon Jan 6, 2025
e589962
fixup! locks for `pkl-tools`
sgammon Jan 6, 2025
5ef01b2
fixup! locks for `pkl-cli` tests
sgammon Jan 6, 2025
c3f4fba
fixup! locks for `pkl-cli`
sgammon Jan 6, 2025
213614f
fixup! drop internal macro usage for `truffle-svm`
sgammon Jan 6, 2025
bfb5ba7
fixup! gha tests
sgammon Jan 6, 2025
c7ff4f8
fixup! toolchain provisioning
sgammon Jan 6, 2025
549a618
pivot to jvm21 w/managed toolchain
sgammon Jan 6, 2025
29b0eae
fixup! unwind gradle upgrade
sgammon Jan 6, 2025
eeedb0e
fixup! drop toolchain provisioning plugin
sgammon Jan 6, 2025
fbcb14f
fixup! respect oracleGraalvm flag
sgammon Jan 6, 2025
f3247ad
fixup! restore toolchains for testing
sgammon Jan 6, 2025
2f31202
fixup! consolidate on jvm21 for ci scaffolding
sgammon Jan 6, 2025
4bece72
fixup! clean up toolchain extensions
sgammon Jan 6, 2025
98f96e4
fixup! gvm 21 hashes
sgammon Jan 6, 2025
a5009c7
fixup! fmt toolchain extensions
sgammon Jan 6, 2025
db1757f
drop! fixup settings fmt
sgammon Jan 6, 2025
a3002e9
fixup! restore shadow plugin to non-broken version
sgammon Jan 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions .github/workflows/checks.apicheck.yml
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
25 changes: 25 additions & 0 deletions .github/workflows/checks.gradle-wrapper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: "Gradle Wrapper"

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

permissions:
contents: read

jobs:
validation:
name: "Gradle Wrapper"
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: Gradle Wrapper"
uses: gradle/wrapper-validation-action@699bb18358f12c5b78b37bb0111d3a0e2276e0e2 # v2.1.1
Loading
Loading