Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
21 changes: 21 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

[*.{kts,kt}]
indent_size = 4

[*.{yaml,yml,toml,json,md}]
indent_size = 2

[*.java]
indent_size = 4

[gradlew.bat]
end_of_line = crlf
32 changes: 32 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Kaleido Workflow Engine Java SDK CI

on:
pull_request:

permissions:
contents: read

jobs:
sdk:
name: Build & Test (SDK)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Validate Gradle wrapper
uses: gradle/actions/wrapper-validation@v6

- name: Set up JDK 21
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6

- name: Build & test
run: ./gradlew build

- name: Publish to Maven Local
run: ./gradlew publishToMavenLocal
34 changes: 34 additions & 0 deletions .github/workflows/codeql.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: CodeQL

on:
push:
branches: [main]
pull_request:

permissions:
security-events: write
actions: read
contents: read

jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Set up JDK
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21

- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: java

- name: Build
run: ./gradlew build -x test

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
92 changes: 92 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Kaleido Workflow Engine Java SDK Release

permissions:
contents: write
packages: write

on:
workflow_call:
inputs:
ref:
description: 'Commit ref for checkout'
required: false
type: string
default: ''
sdk_version:
description: 'The version to publish (e.g. v1.0.0)'
required: true
type: string
prerelease:
description: 'Mark the GitHub Release as a prerelease'
required: false
type: boolean
default: false
workflow_dispatch:
inputs:
ref:
description: 'Commit ref for checkout'
required: false
type: string
default: ''
sdk_version:
description: 'The version to publish (e.g. v1.0.0)'
required: true
type: string
prerelease:
description: 'Mark the GitHub Release as a prerelease'
required: false
type: boolean
default: false

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ inputs.ref != '' && inputs.ref || github.ref }}

- name: Set up JDK 21
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6

- name: Prepare clean version number
id: version
shell: bash
run: |
echo "clean_version=$(echo "${{ inputs.sdk_version }}" | sed 's/^v//')" >> "$GITHUB_OUTPUT"

- name: Build and test
run: ./gradlew build -PsdkVersion=${{ steps.version.outputs.clean_version }}

- name: Publish Maven artifacts to GitHub Packages
run: ./gradlew publish -PsdkVersion=${{ steps.version.outputs.clean_version }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_ACTOR: ${{ github.actor }}

- name: Generate Javadoc
run: ./gradlew javadoc -PsdkVersion=${{ steps.version.outputs.clean_version }}

- name: Publish Javadoc to gh-pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./workflow-engine-sdk/build/docs/javadoc
destination_dir: docs/${{ steps.version.outputs.clean_version }}
keep_files: true

- name: Create GitHub Release
uses: softprops/action-gh-release@v3
with:
tag_name: v${{ steps.version.outputs.clean_version }}
generate_release_notes: true
prerelease: ${{ inputs.prerelease }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
28 changes: 28 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Gradle
.gradle/
build/
!gradle/wrapper/gradle-wrapper.jar

# IDE
.idea/
*.iml
*.ipr
*.iws
.vscode/
.settings/
.classpath
.project
.factorypath
out/

# macOS
.DS_Store

# Logs
*.log

# Native image build output
**/native/nativeCompile/

# Maven local publish artifacts (testing)
local-repo/
Loading
Loading