Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
3f8f925
Update intellij plugin min version
cjbrooks12 Dec 21, 2025
ff3d3a9
example project ios file updates
cjbrooks12 Dec 21, 2025
a38b413
[minor] separates core Scheduler classes into a module independent of…
cjbrooks12 Dec 21, 2025
d7e9baa
Convert Coroutine delay-based schedule executor into returning a Flow…
cjbrooks12 Dec 21, 2025
8f0a894
Basic CRON schedule implementation
cjbrooks12 Dec 22, 2025
0bd7078
Well-formed API for manually creating Cron Fields
cjbrooks12 Dec 26, 2025
01eed70
test single-value CRON expressions
cjbrooks12 Dec 26, 2025
236712b
CRON schedule tests
cjbrooks12 Dec 26, 2025
40259c0
ballast-scheduler-viewmodel to dispatch Inputs to Ballast ViewModels
cjbrooks12 Dec 27, 2025
9a916e7
Updates API files
cjbrooks12 Dec 28, 2025
bd95e0a
ktlint format
cjbrooks12 Dec 28, 2025
85db7ed
Register and run BallastViewModels natively inside Ktor server applic…
cjbrooks12 Dec 28, 2025
c6f1b42
Basic infrastructure to autoscale ViewModels for server-side use cases
cjbrooks12 Dec 28, 2025
63e8796
fix broken tests
cjbrooks12 Dec 28, 2025
8b812bf
Fix PollingScheduleExecutor that didn't actually delay
cjbrooks12 Dec 30, 2025
21bd9c6
Make AutoscalingViewModel open, and make other interfaces functional
cjbrooks12 Dec 30, 2025
3fbd256
Remove ExperimentalBallastApi usages
cjbrooks12 Dec 30, 2025
6c24db6
Proper Cron expression parser based on Kudzu parsing library
cjbrooks12 Dec 30, 2025
4c130bd
Fix logic error checking matching time in PollingScheduleExecutor
cjbrooks12 Dec 31, 2025
6294367
improve API of SchedulerInterceptor
cjbrooks12 Dec 31, 2025
7477be9
Fix logic issue with AutoscalingViewModel. Adds catch-up behavior to …
cjbrooks12 Jan 3, 2026
44f1ef0
Create new BallastEncoder and BallastDecoder as part of the VM Config…
cjbrooks12 Jan 3, 2026
293d53e
Start moving Documentation to be plain Markdown files in the reposito…
cjbrooks12 Jan 4, 2026
f536262
docs and tests for ballast-analytics
cjbrooks12 Jan 12, 2026
33e32cf
docs and tests for ballast-firebase-analytics
cjbrooks12 Jan 12, 2026
25f4c94
more docs cleanup
cjbrooks12 Jan 12, 2026
215f278
ktlint fixes
cjbrooks12 Jan 12, 2026
bc835ca
documentation and API improvements for ballast-scheduler-core
cjbrooks12 Jan 12, 2026
059841b
more lint fixes
cjbrooks12 Jan 12, 2026
e6af105
Document autoscale and Cron modules. Update Cron parser to accept DOW…
cjbrooks12 Jan 17, 2026
63303ee
More module documentation
cjbrooks12 Jan 17, 2026
da9a836
basic interfaces for Ballast Queue
cjbrooks12 Jan 17, 2026
f738ea2
wraps Ballast Queue in a ViewModel interface
cjbrooks12 Jan 20, 2026
40844dd
postgres/mysql table as Ballast queue driver
cjbrooks12 Jan 21, 2026
2d66920
Queue Documentation, some general queue cleanup
cjbrooks12 Jan 25, 2026
dd9f1ba
Exposed DB Queue Documentation, message groups, improve DB properties
cjbrooks12 Jan 27, 2026
9175bd5
Queue Example documentation
cjbrooks12 Jan 27, 2026
2812474
skip job attempts
cjbrooks12 Feb 3, 2026
2a310b5
Set up testcontainers for queue tests and queue example
cjbrooks12 Feb 22, 2026
aaaf91a
recreate workmanager scheduler
cjbrooks12 Feb 23, 2026
add2b9a
start building AlarmManager scheduler
cjbrooks12 Feb 23, 2026
ef336b9
updates dependencies, builds common framework for event-driven mobile…
cjbrooks12 Feb 23, 2026
a12ea17
Removed Workmanager implementation, as it is fundamentally unreliable…
cjbrooks12 Mar 1, 2026
69272cc
Support multiple named alarmmanager configurations. Allow specifying …
cjbrooks12 Mar 1, 2026
12efcf3
apidump
cjbrooks12 Mar 1, 2026
274ccfa
Update DefaultQueueExecutor.kt
cjbrooks12 Jun 4, 2026
a8092d3
minor updates to build, job queue fixes
Jun 6, 2026
086a385
bump kudzu
Jun 7, 2026
42b1530
navigation pathFormat() helper function for sharing routes between kt…
Jun 7, 2026
c86a5e7
prepare for release
Jun 7, 2026
ed5a352
update docs
Jun 7, 2026
9c19179
update examples docs
Jun 7, 2026
a444239
delete platform docs
Jun 7, 2026
bdd62ac
move around docs files
Jun 7, 2026
8434955
move around docs files
Jun 7, 2026
8cc49af
add llms.txt
Jun 8, 2026
62c8fa9
better handle graceful shutdown of the queue
Jun 8, 2026
c9be513
fix safety issues with queue
Jun 8, 2026
51c7ffe
Fix query issues with exposed driver
Jun 8, 2026
283618e
update docs
Jun 8, 2026
6be2178
update github actions workflows
Jun 8, 2026
b89a1d7
set java toolchain
Jun 8, 2026
22d0685
set java toolchain
Jun 8, 2026
6bb4891
update kudzu
Jun 8, 2026
16e8ed6
write additional tests and fix docs in new schedule modules
Jun 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/gradle-wrapper-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ jobs:
validation:
runs-on: 'ubuntu-latest'
steps:
- uses: 'actions/checkout@v3'
- uses: 'gradle/wrapper-validation-action@v1'
- uses: 'actions/checkout@v4'
- uses: 'gradle/actions/wrapper-validation@v4'
18 changes: 12 additions & 6 deletions .github/workflows/push_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,17 @@ jobs:
name: 'KtlintCheck on macos-latst'
runs-on: 'macos-latest'
steps:
- uses: 'actions/checkout@v3'
- uses: 'actions/checkout@v4'
with:
submodules: 'recursive'
fetch-depth: 0 # all commit history and tags
- name: 'Set up JDK ${{ matrix.java }}'
uses: 'actions/setup-java@v2'
uses: 'actions/setup-java@v4'
with:
distribution: 'temurin'
java-version: '17'
- name: 'Pin JAVA_HOME to JDK 17'
run: echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
- name: 'Run checks with Gradle'
run: './gradlew ktlintCheck --no-daemon --stacktrace'

Expand All @@ -53,14 +55,16 @@ jobs:
name: 'Run ${{ matrix.config.target }} on ${{ matrix.config.os }} JDK ${{ matrix.config.java }}'
runs-on: '${{ matrix.config.os }}'
steps:
- uses: 'actions/checkout@v3'
- uses: 'actions/checkout@v4'
with:
submodules: 'recursive'
fetch-depth: 0 # all commit history and tags
- uses: 'actions/setup-java@v2'
- uses: 'actions/setup-java@v4'
with:
distribution: 'temurin'
java-version: ${{ matrix.config.java }}
- name: 'Pin JAVA_HOME to JDK 17'
run: echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
- run: './gradlew ${{ matrix.config.target }} --stacktrace'

publishSnapshotArtifacts:
Expand All @@ -80,12 +84,14 @@ jobs:
name: 'Publish ${{ matrix.config.target }} snapshot artifacts on ${{ matrix.config.os }} JDK ${{ matrix.config.java }}'
runs-on: '${{ matrix.config.os }}'
steps:
- uses: 'actions/checkout@v3'
- uses: 'actions/checkout@v4'
with:
submodules: 'recursive'
fetch-depth: 0 # all commit history and tags
- uses: 'actions/setup-java@v2'
- uses: 'actions/setup-java@v4'
with:
distribution: 'temurin'
java-version: ${{ matrix.config.java }}
- name: 'Pin JAVA_HOME to JDK 17'
run: echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
- run: './gradlew publish${{ matrix.config.target }}PublicationToMavenCentralSnapshotsRepository'
6 changes: 4 additions & 2 deletions .github/workflows/push_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,17 @@ jobs:
GITHUB_ACTOR: '${{ github.actor }}'
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
steps:
- uses: 'actions/checkout@v2'
- uses: 'actions/checkout@v4'
with:
submodules: 'recursive'
- run: 'git fetch --prune --unshallow --tags'
- name: 'Set up JDK 17'
uses: 'actions/setup-java@v2'
uses: 'actions/setup-java@v4'
with:
distribution: 'temurin'
java-version: '17'
- name: 'Pin JAVA_HOME to JDK 17'
run: echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
- name: 'Build Documentation'
run: './gradlew :docs:mkdocsBuild --stacktrace -Prelease'
- name: 'Upload static files as artifact'
Expand Down
22 changes: 14 additions & 8 deletions .github/workflows/push_main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,17 @@ jobs:
outputs:
projectVersion: ${{ steps.outputProjectVersion.outputs.projectVersion }}
steps:
- uses: 'actions/checkout@v3'
- uses: 'actions/checkout@v4'
with:
submodules: 'recursive'
fetch-depth: 0 # all commit history and tags
- name: 'Set up JDK 17'
uses: 'actions/setup-java@v2'
uses: 'actions/setup-java@v4'
with:
distribution: 'temurin'
java-version: 17
- name: 'Pin JAVA_HOME to JDK 17'
run: echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
- name: 'Open Sonatype Staging Repository'
run: './gradlew writeProjectVersion openSonatypeStagingRepository --no-configuration-cache --stacktrace -Prelease -PorchidEnvironment=prod'
- id: 'outputProjectVersion'
Expand All @@ -56,15 +58,17 @@ jobs:
needs: ['openStagingRepo']
if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.releaseIntellijPlugin == true)
steps:
- uses: 'actions/checkout@v3'
- uses: 'actions/checkout@v4'
with:
submodules: 'recursive'
fetch-depth: 0 # all commit history and tags
- name: 'Set up JDK 17'
uses: 'actions/setup-java@v2'
uses: 'actions/setup-java@v4'
with:
distribution: 'temurin'
java-version: 17
- name: 'Pin JAVA_HOME to JDK 17'
run: echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
- name: 'Publish IDEA Plugin'
run: './gradlew :ballast-idea-plugin:buildPlugin :ballast-idea-plugin:publishPlugin --stacktrace -Prelease -PorchidEnvironment=prod'

Expand All @@ -88,27 +92,29 @@ jobs:
needs: ['openStagingRepo']
if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.releaseArtifacts == true)
steps:
- uses: 'actions/checkout@v3'
- uses: 'actions/checkout@v4'
with:
submodules: 'recursive'
fetch-depth: 0 # all commit history and tags
- uses: 'actions/setup-java@v2'
- uses: 'actions/setup-java@v4'
with:
distribution: 'temurin'
java-version: 17
- name: 'Pin JAVA_HOME to JDK 17'
run: echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
- run: './gradlew findSonatypeStagingRepository'
- run: './gradlew publish${{ matrix.config.target }}PublicationToMavenCentralRepository --stacktrace -Prelease -PorchidEnvironment=prod'

# closeStagingRepo:
# runs-on: 'ubuntu-latest'
# needs: ['openStagingRepo', 'publishArtifacts']
# steps:
# - uses: 'actions/checkout@v3'
# - uses: 'actions/checkout@v4'
# with:
# submodules: 'recursive'
# fetch-depth: 0 # all commit history and tags
# - name: 'Set up JDK 17'
# uses: 'actions/setup-java@v2'
# uses: 'actions/setup-java@v4'
# with:
# distribution: 'temurin'
# java-version: 17
Expand Down
Loading
Loading