[go: up one dir, main page]

Skip to content

postStart commands should run in project directory

MR: postStart commands should run in project directory (!203029 - merged)

Problem

Currently postStart commands are run in the WORKDIR . That is both surprising and confusing for users, as it differs from how it works in competitor products, where the project directory is always automatically selected.

When I set up the devfile for our design system, fixing this cost me nearly 30 minutes:

  • First I was confused why commands that should be available in the project directory were not working
  • I then updated the devfile and installed necessary dependencies again to figure out if that was the problem
  • When that not worked, I tried to figure out which directory I'm in by updating the devfile and adding the pwd command
  • Once I noticed that this was the problem, I updated the devfile once more and manually switch the user to the right directory

@gitlab.mschoenlaub also ran into the same problem:

I think I had the same observation, I couldn't easily figure out where the post-start directory was. I just wrapped my stuff in pushd - popd with absolute paths. Just to be sure that I know where my cwd is 

Solution

postStart commands should run in the project directory.

Acceptance Criteria

  • workingDir attribute for commands is enabled in the devfile
  • main container post start commands execute in clone project directory ($PROJECT_SOURCE) by default
  • secondary container post start commands execute in the WORKDIR of the container by default
  • if workingDir attribute is provided for any post start command in the devfile, then post start commands execute in that specified directory for both main and secondary containers.
  • Add a new fixture for the workingDir attribute
  • Update documentation for the new postStart execution directory
Edited by 🤖 GitLab Bot 🤖