Skip to content

feat(railway): build staging target with pre-bundled WASM extensions - #2219

Merged
henrypark133 merged 2 commits into
stagingfrom
feat/railway-staging-target
Apr 10, 2026
Merged

henrypark133 merged 2 commits into
stagingfrom
feat/railway-staging-target

Conversation

@henrypark133

Copy link
Copy Markdown
Collaborator

Summary

Without this, Railway runs a bare docker build . which builds the last stage (runtime — no extensions). With target = "runtime-staging", Railway builds the staging target that includes .wasm files in ~/.ironclaw/{tools,channels}/.

Test plan

  • Push to staging and confirm Railway triggers a deploy
  • Check Railway build logs for === Building ... === lines from the wasm-builder stage
  • Verify the app at ironclaw-production-near-ai.up.railway.app is healthy via /api/health

🤖 Generated with Claude Code

Add railway.toml with target = "runtime-staging" so Railway builds the
Docker target that includes all WASM tool/channel extensions. All
Railway environments deploy from the staging branch and benefit from
having extensions pre-installed.

Depends on the runtime-staging Dockerfile target added in #2210.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 9, 2026 21:17
@github-actions github-actions Bot added size: S 10-49 changed lines risk: low Changes to docs, tests, or low-risk modules contributor: core 20+ merged PRs labels Apr 9, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a Railway configuration to ensure staging deployments build the Docker image stage that includes pre-bundled WASM tool/channel extensions, aligning Railway’s build behavior with the existing runtime-staging Docker target.

Changes:

  • Add railway.toml to configure Railway Docker builds to use target = "runtime-staging".
  • Configure Railway deploy healthcheck settings for /api/health and restart-on-failure behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a railway.toml configuration file to define build and deployment settings for the service. The review suggests reducing the healthcheckTimeout from 300 seconds to 60 seconds to avoid masking potential application unresponsiveness, as the health endpoint is expected to be fast.

Comment thread railway.toml

[deploy]
healthcheckPath = "/api/health"
healthcheckTimeout = 300

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

A health check timeout of 300 seconds (5 minutes) is excessively long, especially since the /api/health endpoint returns a static response and should be very fast. While a longer timeout can be useful if the service has a slow startup time, 5 minutes can mask issues where the application becomes unresponsive. Consider reducing this to a more reasonable value, for example 60 seconds. If the application startup is indeed very long, it might be worth investigating if Railway offers an initial delay for health checks to handle this more gracefully.

Suggested change
healthcheckTimeout = 300
healthcheckTimeout = 60

@henrypark133
henrypark133 merged commit 580165c into staging Apr 10, 2026
15 checks passed
@henrypark133
henrypark133 deleted the feat/railway-staging-target branch April 10, 2026 01:11
@ironclaw-ci ironclaw-ci Bot mentioned this pull request Apr 10, 2026
@ironclaw-ci ironclaw-ci Bot mentioned this pull request Apr 18, 2026
theredspoon pushed a commit to theredspoon/ironclaw that referenced this pull request Jun 21, 2026
…earai#2219)

Add railway.toml with target = "runtime-staging" so Railway builds the
Docker target that includes all WASM tool/channel extensions. All
Railway environments deploy from the staging branch and benefit from
having extensions pre-installed.

Depends on the runtime-staging Dockerfile target added in nearai#2210.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: core 20+ merged PRs risk: low Changes to docs, tests, or low-risk modules size: S 10-49 changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants