Skip to content

Conversation

@janderland
Copy link
Owner

Summary

Resolves image collision issues when multiple projects use fenv as a submodule by namespacing extended images with the project name.

Changes

  • Image naming: Extended images are now named fenv-ext-{project}:{tag} instead of fenv-ext:{tag}
  • Auto-detection: Project name is automatically derived from:
    1. FENV_PROJECT_NAME environment variable (if set)
    2. Git remote repository name
    3. Current directory name (fallback)
  • GitHub Actions: Added optional project_name input to the action
  • Documentation: Updated README with new configuration options

Problem Solved

Before this change, if two projects (projA and projB) both used fenv as a submodule, they would share the same extended image name fenv-ext:{tag}. This caused issues:

  • If both projects were at the same git commit hash, they'd have the same tag but potentially different Dockerfiles
  • Image caches would collide and overwrite each other
  • One project's extended image could incorrectly be used by another project

Test Plan

  • Verified fenv.sh builds extended images with project name
  • Confirmed project name derivation logic works correctly
  • Test in a real project using fenv as a submodule
  • Verify GitHub Actions workflow with the new input

🤖 Generated with Claude Code

Resolves image collision issues when multiple projects use fenv as a
submodule. Extended images are now named 'fenv-ext-{project}:{tag}'
instead of 'fenv-ext:{tag}'.

Changes:
- Add FENV_PROJECT_NAME environment variable for explicit naming
- Auto-derive project name from git remote URL or directory name
- Update both fenv.sh and GitHub Action to support namespacing
- Document new configuration option in README

This ensures different projects can maintain separate extended images
without cache collisions, even at the same git commit hash.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@janderland janderland merged commit 387b628 into main Dec 27, 2025
2 checks passed
@janderland janderland deleted the add-project-name-namespacing branch December 27, 2025 23:08
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.

2 participants