You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* refactor Feature interface
* Feat: Add in inline command lifecycle hook contribution from Features
* markerfile to exercise order of execution
* add in two helper scripts with the same name in two different Features
* test with ${featureRoot}
* make Feature artifacts executable by all users
* test for advanced lifehook scenario
* add
* typecheck
* improve test
* refactor variable names from 'postCreate' -> 'lifecycleHook'
* refactor variable names from 'postCreate' -> 'lifecycleHook'
* update test for running in parallel
* update test
* Display the 'origin' of the lifecycle command in the output log during 'up'
Logs like 'Running the postCreateCommand from devcontainer.json'
are updated to include the origin of the command
e.g: 'Running the postCreateCommand from Feature 'common-utils'.
This patch adds in a mapping object that is passed along and used to
map a command to an origin.
This change is a bit less efficient, with the added benefit of not
needing to modify the existing merging logic.
* Change copy path for Features on-container from /tmp-build-features to /opt/build-features
This is to support resuming a container in Codespaces with
Feature-contributed lifecycle hooks. Codespaces bind-mounts a different
volume on top of /tmp, so the container's /tmp directory is not
persisted.
* run lifecycle commands in Feature install order
* stop passing config object where unused
* Rename LifecycleCommandOriginMap -> LifecycleHooksInstallMap
* add test to assert installsAfter is respected
* rm -rf test dir
* assert contents in metadata label
* unused test stub
* exercise dev container test cmd
* increase test timeouts
* '' -> ''
* pass contentSourceRootPath as a variable instead of string subst
* remove dead code referencing "hasAcquires"
* cannot change line 256
* persist final Features copy to /usr/share/devcontainer/features
* update existing test
* feature dir need not be writable by anyone but its owner
* add test to assert resume will trigger lifecycle hooks
* Test: "${featureRootFolder} substituted lifecycle hooks trigger on resume
* missing semicolon
* preserve featureRootFolder in metadata and replace right before usage
* rename metadata entry to featureRootFolder for clarity and only emit in featureRaw
* merged config has substituted featureRootFolder values
* update tests to remove ${featureRootFolder}
* remove ${featureRootFolder} variable substiution
* move Features container build folder back to /tmp
RUN cd ${path.posix.join('/tmp/build-features',getSourceInfoString(featureSet.sourceInformation),'features',f.id)} && set -a && . ./devcontainer-features.env && set +a && ./bin/acquire`
RUN cd ${path.posix.join('/tmp/build-features',getSourceInfoString(featureSet.sourceInformation),'features',f.id)} && set -a && . ./devcontainer-features.env && set +a && ./bin/configure` : ''}`;
0 commit comments