Skip to content

feat: dev releases on merge to main, stable releases from GitHub Releases#23

Closed
carlos-alm wants to merge 2 commits intomainfrom
feat/dev-publish-workflow
Closed

feat: dev releases on merge to main, stable releases from GitHub Releases#23
carlos-alm wants to merge 2 commits intomainfrom
feat/dev-publish-workflow

Conversation

@carlos-alm
Copy link
Contributor

@carlos-alm carlos-alm commented Feb 22, 2026

Summary

Consolidates dev and stable publishing into a single publish.yml workflow (required by npm Trusted Publishing's one-workflow-per-package constraint).

  • push to main (PR merges) → publishes prerelease versions like 2.0.1-dev.abc1234 with --tag dev
  • GitHub Release event → publishes stable versions with --tag latest

Key design choices

  • Single workflow file — npm OIDC Trusted Publishing restricts each package to one configured workflow provider
  • compute-version job — computes version + npm tag, shared via outputs to the publish job
  • Concurrency group with cancel-in-progress: true — rapid merges only publish the latest main commit
  • Skip logic — commits starting with chore: release v skip dev publish (avoids publishing the stable version bump as a dev release)
  • No git side-effects for dev — no commits, tags, CHANGELOG, or PRs for dev releases
  • Stable-only steps — version bump PR and tag push gated behind if: github.event_name == 'release'
  • Unified version setting — both paths use npm version --no-git-tag-version + sync-native-versions.js

npm dist-tags after this

Command Gets
npm install @optave/codegraph Stable (latest)
npm install @optave/codegraph@dev Latest dev from main
npm install @optave/codegraph@2.0.1-dev.abc1234 Specific dev build

Test plan

  • Merge a PR to main — verify publish triggers and publishes 2.0.1-dev.{sha} with --tag dev
  • Run npm view @optave/codegraph dist-tags — should show both latest and dev
  • Create a GitHub Release — verify stable publish with --tag latest
  • Verify stable release version bump PR is created correctly
  • Merge a chore: release v* commit — verify dev publish is skipped

Add dev-publish.yml that triggers on every merge to main, publishing
prerelease versions (e.g. 2.0.1-dev.abc1234) with --tag dev. Includes
concurrency control and skip logic for stable release version bumps.

Simplify publish.yml to release-event-only: remove workflow_dispatch
trigger and inputs, add explicit --tag latest, disable prepublishOnly
in CI since tests already run in preflight.
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 22, 2026

Greptile Summary

This PR intends to add dev releases on every merge to main and simplify stable releases to GitHub Release triggers only, but dev-publish.yml is completely empty and contains no workflow code.

Changes made:

  • Removed workflow_dispatch trigger and all input parameters from publish.yml (now release-event-only)
  • Added explicit --tag latest to all npm publish commands in stable workflow
  • Added step to disable prepublishOnly script in CI (though step ordering is incorrect)
  • Created empty dev-publish.yml file

Critical issues:

  • The main feature (dev publish workflow) is not implemented — dev-publish.yml is a 0-byte empty file
  • prepublishOnly is disabled AFTER platform packages are published, which means it could still run and fail during platform package publishes
  • CLAUDE.md documentation (lines 90-96) still describes workflow_dispatch as the release trigger, but this trigger has been removed

Confidence Score: 0/5

  • DO NOT MERGE — the primary feature is completely missing
  • The dev publish workflow file is entirely empty with 0 bytes, meaning the main feature described in the PR (dev releases on merge to main) is not implemented at all. Additionally, the prepublishOnly disable step occurs after platform packages are published, creating a potential failure scenario.
  • dev-publish.yml requires complete implementation, and publish.yml needs step reordering

Important Files Changed

Filename Overview
.github/workflows/dev-publish.yml File is completely empty — entire dev publish workflow is missing
.github/workflows/publish.yml Removed workflow_dispatch trigger and simplified to release-only; added --tag latest; prepublishOnly disabled in wrong order

Last reviewed commit: e8ac4fa

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

2 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

Comment on lines +192 to +193
- name: Disable prepublishOnly
run: npm pkg set scripts.prepublishOnly=""
Copy link
Contributor

Choose a reason for hiding this comment

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

disabling prepublishOnly happens after platform packages are published — if prepublishOnly runs during platform package publish and fails, this step never executes

move this before "Publish platform packages" step

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 22, 2026

Additional Comments (1)

.github/workflows/dev-publish.yml
dev-publish.yml is completely empty — the workflow content described in the PR is missing entirely

Merge dev-publish and stable-publish into one publish.yml to satisfy
npm Trusted Publishing's one-workflow-per-package constraint.

- push to main → dev release (e.g. 2.0.1-dev.abc1234) with --tag dev
- GitHub Release event → stable release with --tag latest
- Concurrency group cancels in-flight dev publishes on rapid merges
- Skip logic for stable version bump commits (chore: release v*)
- Version computed in dedicated job, shared via outputs
- No git commits/tags/PRs for dev releases
@carlos-alm carlos-alm closed this Feb 22, 2026
carlos-alm added a commit that referenced this pull request Mar 22, 2026
autodev-codebase (3.3) was ranked #23 above Claude-code-memory (3.4)
at #24. Swapped to maintain descending score order.
carlos-alm added a commit that referenced this pull request Mar 23, 2026
…#559)

* docs: update competitive analysis for v3.2.0 and March 2026 landscape

Re-rank codegraph from #8 (4.0) to #5 (4.5) reflecting v3.2.0 features:
41 CLI commands, 32 MCP tools, dataflow across all 11 languages, CFG,
sequence diagrams, architecture boundaries, unified graph model.

Add new competitors: GitNexus (#1, 18k stars), DeusData/codebase-memory-mcp
(#6, 793 stars in 25 days). Update star counts and feature status across
all 85+ ranked projects. Mark 7 roadmap items as DONE. Flag stagnant
projects. Update joern.md (3,021 stars, 75 contributors, 4 community MCP
wrappers) and narsil-mcp.md (129 stars, SPA frontend, +36 security rules,
development paused since Feb 25).

* docs: fix narsil SPA version attribution in competitive analysis overview

Line 18 incorrectly stated "v1.6.1" as the version when the SPA feature
was introduced. The SPA frontend was added in v1.6.0; v1.6.1 is the
current release. Updated to "added v1.6.0, current v1.6.1" to match the
detailed narsil-mcp.md entry.

* docs: remove hardcoded star count from joern comparison table

The "32 stars, growing" value in the Community & maturity row hardcodes
a stale star count. Other comparison tables use "Growing" consistently
for codegraph's community status. Updated to match.

* fix: correct GitNexus score, Tier 2 rank numbering, and jelly star count

- GitNexus overall score corrected from 4.7 to 4.5 to match the
  arithmetic mean of its six sub-scores (5+5+4+4+4+5)/6 = 4.5
- Tier 2 renumbered starting at #38 (was duplicating #37 with Tier 1);
  also resolves the pre-existing duplicate #43 (Bikach/ChrisRoyse now
  #44/#45), with all subsequent entries incremented accordingly
- jelly section header updated from 417 to 423 stars to match the
  ranking table

* fix: correct aider rank and codegraph star count per review feedback

* fix: align scoring breakdown sub-scores with overall rankings for stagnant projects

glimpse: Community 4→2 (stagnant since Jan 2026), avg now 3.83≈3.8 matching ranking.
autodev-codebase: Community 3→1 (stagnant since Jan 2026), avg now 3.33, ranking updated 3.4→3.3.

* fix: align ranking scores with sub-score averages for colbymchenry and axon

* fix: correct ranking inversion at positions #23/#24 (#559)

autodev-codebase (3.3) was ranked #23 above Claude-code-memory (3.4)
at #24. Swapped to maintain descending score order.

* fix: correct score mismatches for code-graph-rag (4.5→4.2) and arbor (3.7→4.2) (#559)

* fix: sync breakdown table row order with ranking table for #23/#24 (#559)

* fix: correct ranking inversions and stale rank references (#559)

* fix: correct sub-score/overall-score mismatches for codexray, loregrep, MATE

* fix: correct score mismatches and aider header rank

* fix: update narsil-mcp Key Metrics to reflect development stagnation (#559)

* fix: add missing "vs arbor" comparison section (#559)

* fix: remove duplicate vs-glimpse section and correct role names in vs-arbor (#559)

The duplicate vs-glimpse block (stale rank #10) was left behind when
vs-arbor was inserted. Removed it — the correct version exists at #11.
Also fixed role vocabulary in vs-arbor: bridge → adapter, added entry.
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.

1 participant