Skip to content

Fix Dagster+ PEX deploy: nmuwd path trailing slash#72

Merged
jirhiker merged 4 commits into
mainfrom
feature/dagster-plus-serverless-v2
Jun 24, 2026
Merged

Fix Dagster+ PEX deploy: nmuwd path trailing slash#72
jirhiker merged 4 commits into
mainfrom
feature/dagster-plus-serverless-v2

Conversation

@jirhiker

Copy link
Copy Markdown
Member

The Dagster+ serverless PEX deploy failed resolving dependencies:

Problem parsing '..' as a requirement: Expected package name at the start of dependency specifier
    ..

Cause: orchestration/pyproject.toml declares [tool.uv.sources] nmuwd = { path = ".." }. The dagster-cloud PEX builder only treats a uv.sources path as a local package (bundled into the source PEX) when it starts with ./, ../, or /. Bare .. slips past that check and is handed to the dependency resolver, which crashes.

Fix: path = "../" (trailing slash) → recognized as the local repo-root package, as intended. uv lock still resolves cleanly.

This branch-deployment run exercises the PEX build with the configured secrets, so a green "Dagster Serverless Deploy" check here confirms the fix before it reaches the prod deploy on main.

🤖 Generated with Claude Code

The serverless PEX build failed parsing '..' as a dependency:
  Problem parsing '..' as a requirement: Expected package name

The dagster-cloud PEX builder resolves [tool.uv.sources] path deps to a
local package only when the path starts with "./", "../", or "/". Bare
".." falls through to the dependency resolver and crashes. Use "../" so
nmuwd is bundled into the source PEX as intended.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown

Your pull request is automatically being deployed to Dagster Cloud.

Location Status Link Updated
die-orchestration View in Cloud Jun 24, 2026 at 10:26 PM (UTC)

jirhiker and others added 3 commits June 24, 2026 16:09
dagster-cloud-deploy.yml / dagster-cloud-branch-deployments.yml duplicate
the official quickstart workflows (deploy.yml / branch_deployments.yml):
same concurrency groups and job names, so the two pairs cancelled each
other and double-ran. Keep the official pair (DAGSTER_CLOUD_URL set,
pinned actions); drop the redundant pair.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The serverless PEX build asserts the deps pex contains dagster_cloud:
  ValueError: The dagster_cloud package dependency was expected but not found.
It was missing from orchestration/pyproject.toml; add it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Deploy synced but the location failed to import:
  ModuleNotFoundError: No module named 'orchestration'

The source PEX copies build.directory contents into an importable
working_directory/root. With directory: orchestration, that root held
orchestration's *contents* flat, so there was no `orchestration` package
and `orchestration.definitions` (plus its `from backend...` imports)
couldn't resolve.

Build from the repo root instead: working_directory/root now contains
orchestration/ and backend/ as top-level packages. Runtime deps move to a
root requirements.txt (dagster stack), since the root pyproject is the
nmuwd package and doesn't carry them.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@jirhiker jirhiker merged commit b02d9db into main Jun 24, 2026
2 checks passed
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