Skip to content

Latest commit

 

History

History
133 lines (100 loc) · 2.77 KB

File metadata and controls

133 lines (100 loc) · 2.77 KB

Release Process

Creating a New Release

1. Update Version

Edit build.sbt:

version := "0.2.0"  // Update version number

2. Build Release Package

# Set Java 17
export JAVA_HOME=$(/usr/libexec/java_home -v 17)

# Build distribution ZIP
sbt clean packageZip

Output: llm-0.2.0.zip (11MB)

3. Test the Release

# Automated deterministic tests (no API/network required)
sbt test

# Extract and install release package
unzip llm-0.2.0.zip
cp -r llm-0.2.0 "/Applications/NetLogo 7.0.0/extensions/llm"

# Optional manual integration checks (real providers)
# Open NetLogo and run demos/tests/tests.nlogox

4. Create Git Tag

git add build.sbt llm-0.2.0.zip
git commit -m "Release v0.2.0"
git tag v0.2.0
git push origin main
git push origin v0.2.0

5. Create GitHub Release

  1. Go to: https://github.com/JNK234/Netlogo-LLM-Extension/releases
  2. Click "Create a new release"
  3. Select tag: v0.2.0
  4. Title: LLM Extension v0.2.0
  5. Attach: llm-0.2.0.zip
  6. Write release notes
  7. Publish release

Release Checklist

  • Version updated in build.sbt
  • sbt clean packageZip completed successfully
  • sbt test passed
  • ZIP file tested in NetLogo
  • Optional live-provider checks run (demos/tests/tests.nlogox)
  • Documentation updated if needed
  • Git tag created
  • GitHub release published
  • ZIP file attached to release

Build Outputs

For Development

sbt clean assembly
  • Output: target/scala-3.7.0/llm.jar (172MB)
  • Use: Local testing, quick install

For Distribution

sbt clean packageZip
  • Output: llm-x.x.x.zip (11MB)
  • Use: Official releases, NetLogo Library submission

Version Numbering

Follow semantic versioning: MAJOR.MINOR.PATCH

  • MAJOR: Breaking changes to API
  • MINOR: New features, backward compatible
  • PATCH: Bug fixes, backward compatible

Examples:

  • 0.1.0 - Initial release
  • 0.2.0 - Added new primitives
  • 0.2.1 - Fixed bug in config loading
  • 1.0.0 - Stable API, production ready

Publishing to NetLogo Extension Library

After creating a GitHub release:

  1. The package metadata is generated by sbt packageZip:

    {
      name:             "LLM-Extension"
      codeName:         "llm"
      version:          "0.x.x"
      downloadURL:      "https://github.com/.../llm-0.x.x.zip"
    }
  2. Submit to NetLogo Extension Library:

Cleanup After Release

Remove old build artifacts:

# Remove old JARs from root (keep only latest ZIP)
rm -f *.jar

# Remove old version directories
rm -rf llm-0.0.*/

# Keep only:
# - llm-0.x.x.zip (latest version)
# - target/ (regenerated on build)