Skip to content

Conversation

@alexanderbezverhni
Copy link
Collaborator

@alexanderbezverhni alexanderbezverhni commented Jan 2, 2026

Automate library publishing:

  • Add GitHub workflow that creates version bumping PR on every merge to master
  • Do not create version bumping PR when version bumping PR itself is merged to master
  • Add GitHub workflow that publishes artifacts to a private JFrog Artifactory maven repo
  • Only run this workflow when merged to master PR contains VERSION file changes
  • Add JFrog Artifactory authentication env vars to the repo Settings
  • Create GitHub release as part of publishing artifacts' workflow
  • Extract library version into a separate VERSION file to allow GitHub Workflow monitoring

@alexanderbezverhni alexanderbezverhni self-assigned this Jan 2, 2026
@carrotkite
Copy link

carrotkite commented Jan 2, 2026

JaCoCo Code Coverage 94.07% ✅

Class Covered Meta Status

Generated by 🚫 Danger

@carrotkite
Copy link

carrotkite commented Jan 2, 2026

📊 Benchmark Comparison Report

Summary

  • Regressions: 0 ✅
  • Improvements: 0
  • Unchanged: 25
No significant changes (25 benchmarks)
Benchmark Baseline Current Change
com.instacart.formula.benchmarks.ActionCountBenchmark.stateChanges (actionCount=1) 12.735 ± 0.063 us/op 12.905 ± 0.181 us/op +1.3%
com.instacart.formula.benchmarks.ActionCountBenchmark.stateChanges (actionCount=100) 15.268 ± 0.108 us/op 15.406 ± 0.186 us/op +0.9%
com.instacart.formula.benchmarks.ActionCountBenchmark.stateChanges (actionCount=25) 13.292 ± 0.11 us/op 13.387 ± 0.161 us/op +0.7%
com.instacart.formula.benchmarks.ActionInitializationBenchmark.initializeNewActions (actionCount=1) 0.707 ± 0.05 us/op 0.697 ± 0.058 us/op -1.5%
com.instacart.formula.benchmarks.ActionInitializationBenchmark.initializeNewActions (actionCount=100) 17.066 ± 0.669 us/op 16.697 ± 0.112 us/op -2.2%
com.instacart.formula.benchmarks.ActionInitializationBenchmark.initializeNewActions (actionCount=25) 4.375 ± 0.038 us/op 4.4 ± 0.039 us/op +0.6%
com.instacart.formula.benchmarks.CallbackInitializationBenchmark.initializeNewCallbacks (callbackCount=10) 2.297 ± 0.421 us/op 2.315 ± 0.424 us/op +0.8%
com.instacart.formula.benchmarks.CallbackInitializationBenchmark.initializeNewCallbacks (callbackCount=50) 8.537 ± 1.216 us/op 9.332 ± 3.162 us/op +9.3%
com.instacart.formula.benchmarks.CallbackOverheadBenchmark.transitions (callbackCount=10) 13.1 ± 0.123 us/op 13.194 ± 0.089 us/op +0.7%
com.instacart.formula.benchmarks.CallbackOverheadBenchmark.transitions (callbackCount=50) 14.512 ± 0.557 us/op 14.562 ± 0.361 us/op +0.3%
com.instacart.formula.benchmarks.ChildrenCountBenchmark.stateChanges (childrenCount=1) 12.809 ± 0.175 us/op 12.834 ± 0.209 us/op +0.2%
com.instacart.formula.benchmarks.ChildrenCountBenchmark.stateChanges (childrenCount=100) 14.399 ± 0.185 us/op 14.561 ± 0.277 us/op +1.1%
com.instacart.formula.benchmarks.ChildrenCountBenchmark.stateChanges (childrenCount=25) 13.167 ± 0.163 us/op 13.225 ± 0.159 us/op +0.4%
com.instacart.formula.benchmarks.ChildrenInitializationBenchmark.initializeNewChildren (childrenCount=1) 0.683 ± 0.052 us/op 0.677 ± 0.034 us/op -0.9%
com.instacart.formula.benchmarks.ChildrenInitializationBenchmark.initializeNewChildren (childrenCount=100) 11.849 ± 0.281 us/op 12.075 ± 0.351 us/op +1.9%
com.instacart.formula.benchmarks.ChildrenInitializationBenchmark.initializeNewChildren (childrenCount=25) 3.397 ± 0.069 us/op 3.34 ± 0.052 us/op -1.7%
com.instacart.formula.benchmarks.GlobalEffectQueueBenchmark.measure100Effects 8.321 ± 0.318 us/op 8.763 ± 0.518 us/op +5.3%
com.instacart.formula.benchmarks.GlobalEffectQueueBenchmark.measure10Effects 0.693 ± 0.02 us/op 0.681 ± 0.013 us/op -1.7%
com.instacart.formula.benchmarks.GlobalEffectQueueBenchmark.measure1Effect 0.051 ± 0.0 us/op 0.051 ± 0.001 us/op -0.2%
com.instacart.formula.benchmarks.TransitionBenchmark.transitions (depth=0) 12.637 ± 0.071 us/op 12.918 ± 0.246 us/op +2.2%
com.instacart.formula.benchmarks.TransitionBenchmark.transitions (depth=10) 12.865 ± 0.2 us/op 13.05 ± 0.125 us/op +1.4%
com.instacart.formula.benchmarks.TransitionBenchmark.transitions (depth=20) 13.433 ± 0.324 us/op 13.432 ± 0.176 us/op -0.0%
com.instacart.formula.benchmarks.TransitionQueueBenchmark.measure1 0.337 ± 0.017 us/op 0.343 ± 0.003 us/op +1.8%
com.instacart.formula.benchmarks.TransitionQueueBenchmark.measure100 0.342 ± 0.012 us/op 0.335 ± 0.012 us/op -2.0%
com.instacart.formula.benchmarks.TransitionQueueBenchmark.measure10000 0.349 ± 0.012 us/op 0.364 ± 0.032 us/op +4.3%

Regression threshold: ±10% with non-overlapping confidence intervals

Generated by 🚫 Danger

@alexanderbezverhni alexanderbezverhni marked this pull request as ready for review January 5, 2026 22:12
return result
}

if (project.hasProperty('releaseBuild')) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also maintain ability to publish to public maven (since it's an open source library). It would be ideal to support two different profiles of publishing.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

#!/bin/bash

# Use -PmavenCentralRelease for Maven Central
GRADLE_ARGS="-PartifactoryRelease"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if this script should accept an argument for the type of release

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@Laimiux Laimiux merged commit 2d1f862 into master Jan 7, 2026
8 checks passed
@Laimiux Laimiux deleted the bezverhni/automatic_publish branch January 7, 2026 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants