← Back to issue list

Set the project environment in the Lifecycle Service

View original Github issue

Metadata

Project
craft-application
Number
#320
Type
issue
State
open
Author
mr-cal
Labels
Created
Updated
Closed

Current evaluation

Request to set CRAFT_PROJECT_NAME/VERSION env vars in the Lifecycle Service build environment. Code now has ProjectService.update_project_environment() hook, but only CRAFT_PROJECT_VERSION is set by default; CRAFT_PROJECT_NAME still missing. A July 2024 comment reports SNAPCRAFT_PROJECT_NAME=None in PULL phase.

Suggested action: keep open

Reason: The issue is a real bug/feature request (not support) with a follow-up report (brlin-tw, 2024-07-06) confirming SNAPCRAFT_PROJECT_NAME=None in the PULL phase, so it remains reproducible. The codebase now has a ProjectService.update_project_environment() hook (added via #646, deprecated _set_global_environment removed in #1078) that sets only CRAFT_PROJECT_VERSION, leaving CRAFT_PROJECT_NAME unset — the core ask is still unmet. No labels/assignee, so it needs triage, but the problem is clearly still applicable to current code, so keep open.

Impact: 50 Quick Win: 30.0 Staleness: 55 Complexity: 40 Confidence: 70 Support Request: 10

Issue body

### What needs to get done Set the project's environment in the Lifecycle Service. There are two potential solutions described [here](https://github.com/canonical/craft-application/pull/318#discussion_r1576953260). ### Why it needs to get done `CRAFT_PROJECT_NAME` and `CRAFT_PROJECT_VERSION` are not available as environment variables in the build environment. See #318 for context

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 50
Quick Win: 30.0
Staleness: 55
Complexity: 40
Confidence: 70
Support Request: 10
keep open Request to set CRAFT_PROJECT_NAME/VERSION env vars in the Lifecycle Service build environment. Code now has ProjectService.update_project_environment() hook, but only CRAFT_PROJECT_VERSION is set by default; CRAFT_PROJECT_NAME still missing. A July 2024 comment reports SNAPCRAFT_PROJECT_NAME=None in PULL phase.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 40
Confidence: 70
Support Request: 20
needs triage Unlabelled issue requesting setting project environment variables in the Lifecycle Service due to them being unavailable or incorrectly set to None during build/pull phases. No maintainer assessment or labels present.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 30
Confidence: 75
Support Request: 10
needs triage Task to set CRAFT_PROJECT_NAME and CRAFT_PROJECT_VERSION environment variables in the Lifecycle Service. Open for over two years with no labels, assignee, or maintainer assessment.
qwen3.6-35b-a3b-mtp-q6
Staleness: 88
Complexity: 45
Confidence: 72
Support Request: 10
close stale Set CRAFT_PROJECT_NAME and CRAFT_PROJECT_VERSION as environment variables in the Lifecycle Service. Currently open and awaiting implementation, with recent reports of these variables incorrectly defaulting to None during the pull phase.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-application#318 (confidence 80%)

    Issue body explicitly references PR #318 for context on the two potential solutions.

  • Related To: canonical/craft-application#646 (confidence 60%)

    Added ProjectService with update_project_environment() hook, the mechanism where this env var should be set.

  • Related To: canonical/craft-application#1078 (confidence 55%)

    Removed deprecated Application._set_global_environment(), directing apps to ProjectService.update_project_environment().

Related issues

No related issues found above the similarity threshold.