diff --git a/.github/workflows/test-mlc-docker-core.yml b/.github/workflows/test-mlc-docker-core.yml new file mode 100644 index 000000000..0bf5632f1 --- /dev/null +++ b/.github/workflows/test-mlc-docker-core.yml @@ -0,0 +1,66 @@ +name: MLC Docker core action tests + +on: + pull_request: + branches: [ "main", "dev" ] + paths: + - '.github/workflows/test-mlc-docker-core.yml' + - '**' + - '!**.md' + +jobs: + test_mlc_docker_core: + + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ["3.12", "3.8"] + os: ["ubuntu-latest", "windows-latest", "macos-latest"] + exclude: + - os: windows-latest + - os: macos-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + + - name: Configure git longpaths (Windows) + if: matrix.os == 'windows-latest' + run: | + git config --system core.longpaths true + + - name: Install mlcflow from the pull request's source repository and branch + run: | + python -m pip install --upgrade pip + python -m pip install --ignore-installed --verbose pip setuptools + python -m pip install . + + - name: Clone MLCOMMONS mlperf-automations repository + run: | + mlc pull repo mlcommons@mlperf-automations + + - name: Test --docker_dt for running in detached mode + run: | + mlc docker run --tags=detect,os --docker_dt + docker stop $(docker ps -aq) + + - name: Test --docker_detached for running in detached mode + run: | + mlc docker run --tags=detect,os --docker_detached + docker stop $(docker ps -aq) + + - name: Test --docker_cache + run: | + mlc docker run --tags=detect,os --docker_dt --docker_cache=no + + - name: Test --docker_rebuild + run: | + mlc docker run --tags=detect,os --docker_dt --docker_cache=no --docker_rebuild + + - name: Test --dockerfile_recreate + run: | + mlc docker run --tags=detect,os --docker_dt --docker_cache=no --docker_rebuild --dockerfile_recreate diff --git a/mlc/main.py b/mlc/main.py index 617f52e5b..8e6133ec7 100644 --- a/mlc/main.py +++ b/mlc/main.py @@ -1779,6 +1779,7 @@ def main(): if args.command in ['docker']: if args.target == "run": run_args['target'] = 'script' #allowing run to be used for docker run instead of docker script + args.target = "script" if hasattr(args, 'details') and args.details and "," in args.details and not run_args.get("tags") and args.target in ["script", "cache"]: run_args['tags'] = args.details