Skip to content

Unified at|docker_shell script#4010

Draft
luarss wants to merge 1 commit intoThe-OpenROAD-Project:masterfrom
luarss:topic/unify-docker-shell
Draft

Unified at|docker_shell script#4010
luarss wants to merge 1 commit intoThe-OpenROAD-Project:masterfrom
luarss:topic/unify-docker-shell

Conversation

@luarss
Copy link
Contributor

@luarss luarss commented Mar 17, 2026

Fixes https://github.com/The-OpenROAD-Project-private/AutoTuner/issues/126

Diffs

  • Replace ad-hoc at_shell/docker_shell scripts with a single etc/docker_shell supporting --image, --user, --orfs-flow, --port, --dry-run, and --help flags.

Mapping pwd to /OpenROAD-flow-scripts/flow (read-only)

  • etc/docker_shell defaults to mounting pwd at /work, which is writable.

To use the AT flow:

etc/docker_shell --image autotuner:1.0 -- <command>

For the Rapidus/ORFS use case where pwd should overlay /OpenROAD-flow-scripts/flow, pass --orfs-flow:

etc/docker_shell --orfs-flow -- openroad -version 2>&1)

Sourcing of ../env.sh

  • env.sh is sourced automatically only in --orfs-flow mode, where /OpenROAD-flow-scripts/flow is the working directory and OR tools need to be added to PATH.

Image selection priority

  1. --image IMAGE flag
  2. $OR_IMAGE environment variable
  3. openroad/orfs:latest (built-in default)

@jeffng-or FYI

… AutoTuner and ORFS workflows.

Signed-off-by: Jack Luar <jluar@precisioninno.com>
@luarss luarss self-assigned this Mar 17, 2026
@luarss luarss requested a review from jeffng-or March 19, 2026 02:14
@luarss
Copy link
Contributor Author

luarss commented Mar 19, 2026

@jeffng-or FYI

@luarss luarss requested a review from vvbandeira March 19, 2026 13:14
@jeffng-or
Copy link
Contributor

Doesn't quite seem to work correctly:

  1. support make DESIGN_CONFIG=... - nor working
jeffng@dev-secure-jeffng-experiments:/workspace/bitdeerAT$ ./docker_shell.jack --image openroad/orfs-autotuner:26Q1-636-gb9f42fead make DESIGN_CONFIG=designs/asap7/gcd/config.mk metadata
+ DEFAULT_IMAGE=openroad/orfs:latest
+ MOUNT_TARGET=/work
+ USE_USER=false
+ DRY_RUN=false
+ PORTS=()
+ IMAGE=
+ CMD_ARGS=()
+ [[ 5 -gt 0 ]]
+ case "$1" in
+ IMAGE=openroad/orfs-autotuner:26Q1-636-gb9f42fead
+ shift 2
+ [[ 3 -gt 0 ]]
+ case "$1" in
+ echo 'Unknown option: make'
Unknown option: make
+ exit 1
jeffng@dev-secure-jeffng-experiments:/workspace/bitdeerAT$ ./docker_shell.jack --image openroad/orfs-autotuner:26Q1-636-gb9f42fead bash
+ DEFAULT_IMAGE=openroad/orfs:latest
+ MOUNT_TARGET=/work
+ USE_USER=false
+ DRY_RUN=false
+ PORTS=()
+ IMAGE=
+ CMD_ARGS=()
+ [[ 3 -gt 0 ]]
+ case "$1" in
+ IMAGE=openroad/orfs-autotuner:26Q1-636-gb9f42fead
+ shift 2
+ [[ 1 -gt 0 ]]
+ case "$1" in
+ echo 'Unknown option: bash'
Unknown option: bash
+ exit 1
jeffng@dev-secure-jeffng-experiments:/workspace/bitdeerAT$ ./docker_shell.jack --image openroad/orfs-autotuner:26Q1-636-gb9f42fead make DESIGN_CONFIG=designs/asap7/gcd/config.mk metadata
+ DEFAULT_IMAGE=openroad/orfs:latest
+ MOUNT_TARGET=/work
+ USE_USER=false
+ DRY_RUN=false
+ PORTS=()
+ IMAGE=
+ CMD_ARGS=()
+ [[ 5 -gt 0 ]]
+ case "$1" in
+ IMAGE=openroad/orfs-autotuner:26Q1-636-gb9f42fead
+ shift 2
+ [[ 3 -gt 0 ]]
+ case "$1" in
+ echo 'Unknown option: make'
Unknown option: make
+ exit 1
  1. Support interactive bash - not working
jeffng@dev-secure-jeffng-experiments:/workspace/bitdeerAT$ ./docker_shell.jack --image openroad/orfs-autotuner:26Q1-636-gb9f42fead make DESIGN_CONFIG=designs/asap7/gcd/config.mk metadata
+ DEFAULT_IMAGE=openroad/orfs:latest
+ MOUNT_TARGET=/work
+ USE_USER=false
+ DRY_RUN=false
+ PORTS=()
+ IMAGE=
+ CMD_ARGS=()
+ [[ 5 -gt 0 ]]
+ case "$1" in
+ IMAGE=openroad/orfs-autotuner:26Q1-636-gb9f42fead
+ shift 2
+ [[ 3 -gt 0 ]]
+ case "$1" in
+ echo 'Unknown option: make'
Unknown option: make
+ exit 1
jeffng@dev-secure-jeffng-experiments:/workspace/bitdeerAT$ ./docker_shell.jack --image openroad/orfs-autotuner:26Q1-636-gb9f42fead bash
+ DEFAULT_IMAGE=openroad/orfs:latest
+ MOUNT_TARGET=/work
+ USE_USER=false
+ DRY_RUN=false
+ PORTS=()
+ IMAGE=
+ CMD_ARGS=()
+ [[ 3 -gt 0 ]]
+ case "$1" in
+ IMAGE=openroad/orfs-autotuner:26Q1-636-gb9f42fead
+ shift 2
+ [[ 1 -gt 0 ]]
+ case "$1" in
+ echo 'Unknown option: bash'
Unknown option: bash
+ exit 1
  1. support openroad_autotuner - not working
jeffng@dev-secure-jeffng-experiments:/workspace/bitdeerAT$ ./docker_shell.jack --image openroad/orfs-autotuner:26Q1-636-gb9f42fead openroad_autotuner -s /OpenROAD-flow-scripts/flow/designs/asap7/gcd/asap7_gcd_sweep.yaml
+ DEFAULT_IMAGE=openroad/orfs:latest
+ MOUNT_TARGET=/work
+ USE_USER=false
+ DRY_RUN=false
+ PORTS=()
+ IMAGE=
+ CMD_ARGS=()
+ [[ 5 -gt 0 ]]
+ case "$1" in
+ IMAGE=openroad/orfs-autotuner:26Q1-636-gb9f42fead
+ shift 2
+ [[ 3 -gt 0 ]]
+ case "$1" in
+ echo 'Unknown option: openroad_autotuner'
Unknown option: openroad_autotuner
+ exit 1

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