Skip to content

Conversation

@cong-or
Copy link
Contributor

@cong-or cong-or commented Nov 11, 2025

Add Fast Development Build Mode for Hermes Applications

Problem

The current just build-run-all command is very slow for development iteration because it downloads and compresses large web assets from catalyst_voices+build-web/web, including:

  • Large assets/ directory
  • canvaskit/ rendering engine
  • icons/ collection

This process takes too long per build, making development iteration painful when you only need to test WASM functionality. Turning off compression resulted in v large .happ sizes making it an untenable solution.

Solution

Added separate development and production build modes:

Development Mode (New)

  • Skips heavy web asset downloads
  • Uses lightweight placeholder files instead
  • Build time: (60-80% faster)
  • For WASM development and testing

Production Mode (Unchanged)

  • Downloads all web assets as before
  • Build time: (same as current)
  • Use for final testing and deployments

Changes Made

New Earthfile Target

  • local-build-http-proxy-dev in hermes/apps/athena/modules/http-proxy/Earthfile
  • Skips catalyst_voices+build-web/web download
  • Creates minimal placeholder directories instead

New Justfile Commands

Command Purpose Duration Use Case
just build-run-dev Fast dev builds Daily development
just build-run-all Full prod builds Deployments
just get-local-athena-dev Dev WASM only Module changes
just dev-athena-fast Quick iteration Rapid testing

Add build-run-dev command and supporting targets that skip heavy
catalyst_voices web asset downloads, reducing dev build time from
~5-15min to ~2-5min. Production builds unchanged
Add build-run-dev command and supporting targets that skip heavy
catalyst_voices web asset downloads, reducing dev build time from
~5-15min to ~2-5min. Production builds unchanged
Add build-run-dev command and supporting targets that skip heavy
catalyst_voices web asset downloads, reducing dev build time from
~5-15min to ~2-5min. Production builds unchanged
Add build-run-dev command and supporting targets that skip heavy
catalyst_voices web asset downloads, reducing dev build time from
~5-15min to ~2-5min. Production builds unchanged
@cong-or cong-or changed the title Feat/fast dev build mode chore(hermes): fast dev build mode Nov 11, 2025
@cong-or cong-or added this to Catalyst Nov 11, 2025
@cong-or cong-or moved this from New to ✅ Done in Catalyst Nov 11, 2025
@cong-or cong-or changed the title chore(hermes): fast dev build mode feat(hermes): fast dev build mode Nov 11, 2025
@cong-or cong-or marked this pull request as ready for review November 11, 2025 23:54
@github-actions
Copy link

📚 Docs Preview

The docs for this PR can be previewed at the following URL:

https://docs.dev.projectcatalyst.io/hermes/feat/fast-dev-build-mode

bkioshn
bkioshn previously approved these changes Nov 12, 2025
Copy link
Contributor

@bkioshn bkioshn left a comment

Choose a reason for hiding this comment

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

LGTM

@cong-or cong-or closed this Nov 12, 2025
@github-project-automation github-project-automation bot moved this from ✅ Done to 🔬 Ready For QA in Catalyst Nov 12, 2025
@cong-or cong-or reopened this Nov 12, 2025
@cong-or cong-or marked this pull request as draft November 12, 2025 09:52
- Update manifest_app.json name field from app to athena
- Rename output package from app.happ to athena.happ throughout justfile
- Refactor Earthfile to use common http-proxy-base target
- Consolidate duplicate build steps between production and dev builds
- Update all references and documentation comments

This improves clarity by using a descriptive package name and reduces
code duplication in the build system.
@cong-or cong-or marked this pull request as ready for review November 12, 2025 12:40
@cong-or
Copy link
Contributor Author

cong-or commented Nov 12, 2025

I have made the build time for dev pipelines faster via the justfile but there is still a bottleneck here which is related to cat ci:
image

this can be addressed separately.

Copy link
Contributor

@aido-mth aido-mth left a comment

Choose a reason for hiding this comment

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

LGTM

@cong-or cong-or merged commit f639c46 into main Nov 12, 2025
53 checks passed
@cong-or cong-or deleted the feat/fast-dev-build-mode branch November 12, 2025 14:26
@github-project-automation github-project-automation bot moved this from 🔬 Ready For QA to ✅ Done in Catalyst Nov 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

4 participants