Skip to content

DoodleBUGS: Setup versioning without disturbing JuliaBUGS.jl #345

@shravanngoswamii

Description

@shravanngoswamii

We need to implement a separate versioning and deployment workflow for this frontend app that does not interfere with the versioning or release process of JuliaBUGS.jl

Goals:

  • Enable independent versioning for the DoodleBUGS frontend using package.json
  • Deploy each frontend version to GitHub Pages at a path like: JuliaBUGS.jl/DoodleBUGS/vX.Y.Z/
  • Create a latest/ alias to always point to the newest release
  • Maintain an automatically generated version index at /DoodleBUGS/
  • Avoid conflicts with Julia package tags (which use vX.Y.Z)
  • Allow manual release control, ideally by commenting on a commit like JuliaRegistrar (e.g., /release doodlebugs)

This repo already uses Git tags like v0.9.0 for the JuliaBUGS.jl, which are created by TagBot

Preferred Approach

1. Versioning Strategy

  • Use the version field in DoodleBUGS/package.json
  • Use Git tags with a prefix for the frontend like doodlebugs/v0.1.0

2. Deployment Targets

  • Deploy to GitHub Pages under:

    • /DoodleBUGS/v0.X.Y/
    • /DoodleBUGS/latest/
  • Maintain a versions.json file listing all deployed frontend versions

  • Include an index.html page that reads versions.json and shows links to available versions

3. Triggering Releases

Several options are possible:

Option A: Comment-based trigger (recommended)

  • A GitHub Action listens for a commit comment like: /release doodlebugs, this triggers build workflow

Option B: Manual trigger

  • Use GHA with workflow_dispatch to run the release job manually

Option C: Tag-based trigger

  • Push a tag like doodlebugs/v0.2.0 to trigger deployment (optional)

4. TODO

  • Update vite.config.ts to set the base path dynamically based on version
  • Build output is copied to the correct path in the gh-pages branch
  • versions.json and index.html are updated and deployed

Remember

  • Restrict release triggers to repository collaborators
  • Generate GitHub Releases for frontend versions tagged with doodlebugs/vX.Y.Z
  • Include a changelog or version metadata with each deployment

Metadata

Metadata

Labels

DoodleBUGSDoodleBUGS web apphacktoberfesthttps://hacktoberfest.comhelp wantedExtra attention is needed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions