Allow launch overrides #281
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Allow launch overrides
What does this pull request do?
Sometimes you may want to test different configurations of the autonomy stack. For example, you may want to disable automatically playing the sim on startup,
or to change a child launch file.
The
docker composeworkflow is designed to support these overrides for local development.docker composeuses.envfiles to set docker-compose variables that get propagated and interpolated intodocker-compose.yamlfiles.See the docker compose documentation for more details.
The default
.envfile is in the project root directory.When no
--env-fileargument is passed todocker compose, it automatically uses this default.envfile.To override the default
.envfile, you can pass the--env-fileargument todocker composewith a path to your custom.envfile.For example, this command disables playing the simulation on startup by overriding the
PLAY_SIM_ON_STARTvariable:docker compose --env-file .env --env-file overrides/no_play_sim_on_start.env up -d # this is also supported with the airstack command airstack --env-file .env --env-file overrides/no_play_sim_on_start.env upAs another example, this command changes the perception launch file to
perception_no_macvo.launch.xml:When overriding, the default
.envfile must be loaded first. The overrides are applied on top of it.Which issue number does this address? Didn't make it into an issue
How did you implement it?
Using the --env-file syntax.
Testing
How do you run the tests?
See above. Try the no_play_sim_on_start.env file, when Isaac opens, it won't play the sim.
What do the tests do?
See above.
What are the expected results of the tests?
See above.
Did you update the docs (and where)?
Yup, under
docker_usage.md