ChristopherHX / runner.server

An unofficial Local GitHub Actions and Azure Pipelines Emulator
MIT License
175 stars 16 forks source link

Prepare for adding `tart` to `runner.server` [Insider information of gitlab-tart-executor parameters executed through Debug on M2 has been provided] #282

Open oilrich25 opened 10 months ago

oilrich25 commented 10 months ago

Thanks to @ChristopherHX for adding the tart pkg for act https://github.com/nektos/act/issues/2105#issuecomment-1839449499. But since @ChristopherHX does not have M1 or M2 hardware on hand, he may have some doubts about some internal parameters of gitlab-tart-executor. In order to help @ChristopherHX complete this task, I specially set gitlab-tart-executor I didDebugparameter tracking during the execution oftartcontainer, hoping to give @ChristopherHX some help. Secondly, I think it is more reasonable to integratetartintoChristopherHX/runner.server. Because I saw @ChristopherHX addedWindows ContainerDocker container support toChristopherHX/runner.server, soChristopherHX/runner.servercan currently runLinux ContainerandWindows Container, IfChristopherHX/runner.serveralso integratestart, it means thatChristopherHX/runner.server` can completely execute and build our code on the three major platforms through a complete isolation space.

custom-executor786579228.tar.gz output.txt

oilrich25deMac-mini:~ oilrich25$ watch -n 1 'ps aux | grep gitlab-tart-executor >> output.txt'
oilrich25deMac-mini:~ oilrich25$ grep "gitlab-tart-executor" output.txt > filtered_output.txt
oilrich25     78530   0.0  0.1 409743136   8000   ??  S     5:59下午   0:00.02 /opt/homebrew/bin/gitlab-tart-executor prepare
oilrich25     78582   0.4  0.1 409753776   8496   ??  S     5:59下午   0:00.01 /opt/homebrew/bin/gitlab-tart-executor run /var/folders/05/1r2lzby17wb_7tlwtr0qsyjw0000gn/T/custom-executor786579228/script2110979536/script. prepare_script
oilrich25     78589   1.7  0.1 409742512  10096   ??  S     5:59下午   0:00.01 /opt/homebrew/bin/gitlab-tart-executor run /var/folders/05/1r2lzby17wb_7tlwtr0qsyjw0000gn/T/custom-executor786579228/script741168682/script. get_sources
oilrich25     78599   0.0  0.1 409742208   8048   ??  S     5:59下午   0:00.01 /opt/homebrew/bin/gitlab-tart-executor run /var/folders/05/1r2lzby17wb_7tlwtr0qsyjw0000gn/T/custom-executor786579228/script1968687583/script. build_script
oilrich25     79216   0.0  0.0 408515504   3344   ??  U     6:02下午   0:00.01 /opt/homebrew/bin/gitlab-tart-executor cleanup
oilrich25deMac-mini:custom-executor786579228 oilrich25$ tree .
.
├── gitlab-41-tart-run-output.log
├── response.json
├── script1968687583
│   └── script.
├── script2110979536
│   └── script.
└── script741168682
    └── script.

4 directories, 5 files

# script2110979536/script. // prepare_script

#!/usr/bin/env bash

if set -o | grep pipefail > /dev/null; then set -o pipefail; fi; set -o errexit
set +o noclobber
: | eval $'echo "Running on $(hostname)..."\n'
exit 0

# script741168682/script. // get_sources

#!/usr/bin/env bash

if set -o | grep pipefail > /dev/null; then set -o pipefail; fi; set -o errexit
set +o noclobber
: | eval $'export FF_CMD_DISABLE_DELAYED_ERROR_LEVEL_EXPANSION=$\'false\'\nexport FF_NETWORK_PER_BUILD=$\'false\'\nexport FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY=$\'false\'\nexport FF_USE_DIRECT_DOWNLOAD=$\'true\'\nexport FF_SKIP_NOOP_BUILD_STAGES=$\'true\'\nexport FF_USE_FASTZIP=$\'false\'\nexport FF_DISABLE_UMASK_FOR_DOCKER_EXECUTOR=$\'false\'\nexport FF_ENABLE_BASH_EXIT_CODE_CHECK=$\'false\'\nexport FF_USE_WINDOWS_LEGACY_PROCESS_STRATEGY=$\'true\'\nexport FF_USE_NEW_BASH_EVAL_STRATEGY=$\'false\'\nexport FF_USE_POWERSHELL_PATH_RESOLVER=$\'false\'\nexport FF_USE_DYNAMIC_TRACE_FORCE_SEND_INTERVAL=$\'false\'\nexport FF_SCRIPT_SECTIONS=$\'false\'\nexport FF_USE_NEW_SHELL_ESCAPE=$\'false\'\nexport FF_ENABLE_JOB_CLEANUP=$\'false\'\nexport FF_KUBERNETES_HONOR_ENTRYPOINT=$\'false\'\nexport FF_POSIXLY_CORRECT_ESCAPES=$\'false\'\nexport FF_USE_IMPROVED_URL_MASKING=$\'false\'\nexport FF_RESOLVE_FULL_TLS_CHAIN=$\'false\'\nexport FF_DISABLE_POWERSHELL_STDIN=$\'false\'\nexport FF_USE_POD_ACTIVE_DEADLINE_SECONDS=$\'true\'\nexport FF_USE_ADVANCED_POD_SPEC_CONFIGURATION=$\'false\'\nexport FF_SET_PERMISSIONS_BEFORE_CLEANUP=$\'true\'\nexport FF_SECRET_RESOLVING_FAILS_IF_MISSING=$\'true\'\nexport FF_RETRIEVE_POD_WARNING_EVENTS=$\'false\'\nexport FF_PRINT_POD_EVENTS=$\'false\'\nexport FF_USE_GIT_BUNDLE_URIS=$\'true\'\nexport FF_USE_DUMB_INIT_WITH_KUBERNETES_EXECUTOR=$\'false\'\nexport FF_USE_INIT_WITH_DOCKER_EXECUTOR=$\'false\'\nexport CI_JOB_IMAGE=$\'macos-ventura-base\'\nexport CI_RUNNER_SHORT_TOKEN=$\'7GL9LSi9\'\nexport CI_BUILDS_DIR=$\'/private/tmp/builds\'\nexport CI_PROJECT_DIR=$\'/private/tmp/builds/oilrich25/actions-demo\'\nexport CI_CONCURRENT_ID=0\nexport CI_CONCURRENT_PROJECT_ID=0\nexport CI_SERVER=$\'yes\'\nexport CI_JOB_STATUS=$\'running\'\nexport CI_JOB_TIMEOUT=3600\nexport CI_PIPELINE_ID=5\nexport CI_PIPELINE_URL=$\'http://192.168.1.10:3200/oilrich25/actions-demo/-/pipelines/5\'\nexport CI_JOB_ID=41\nexport CI_JOB_URL=$\'http://192.168.1.10:3200/oilrich25/actions-demo/-/jobs/41\'\nexport CI_JOB_TOKEN=$\'64_ezSjSLV-vAx94o2Vq9os\'\nexport CI_JOB_STARTED_AT=$\'2023-12-07T09:59:58Z\'\nexport CI_REGISTRY_USER=$\'gitlab-ci-token\'\nexport CI_REGISTRY_PASSWORD=$\'64_ezSjSLV-vAx94o2Vq9os\'\nexport CI_REPOSITORY_URL=$\'http://gitlab-ci-token:64_ezSjSLV-vAx94o2Vq9os@192.168.1.10:3200/oilrich25/actions-demo.git\'\nexport CI_DEPENDENCY_PROXY_USER=$\'gitlab-ci-token\'\nexport CI_DEPENDENCY_PROXY_PASSWORD=$\'64_ezSjSLV-vAx94o2Vq9os\'\nexport CI_JOB_JWT=$\'eyJraWQiOiI5OFNwN09zQ2tOd3NwbklPSGI3TjVuT0ZxV09QMGt6N2w2RFhYRjh4R1BZIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJuYW1lc3BhY2VfaWQiOiIxIiwibmFtZXNwYWNlX3BhdGgiOiJjYWNoaXRvLXdvcmtlciIsInByb2plY3RfaWQiOiIxIiwicHJvamVjdF9wYXRoIjoiY2FjaGl0by13b3JrZXIvYWN0aW9ucy1kZW1vIiwidXNlcl9pZCI6IjEiLCJ1c2VyX2xvZ2luIjoiY2FjaGl0by13b3JrZXIiLCJ1c2VyX2VtYWlsIjoiYWRtaW5AZXhhbXBsZS5jb20iLCJwaXBlbGluZV9pZCI6IjUiLCJwaXBlbGluZV9zb3VyY2UiOiJwdXNoIiwiam9iX2lkIjoiNDEiLCJyZWYiOiJtYXN0ZXIiLCJyZWZfdHlwZSI6ImJyYW5jaCIsInJlZl9wYXRoIjoicmVmcy9oZWFkcy9tYXN0ZXIiLCJyZWZfcHJvdGVjdGVkIjoidHJ1ZSIsImp0aSI6IjljYWMxM2FmLTJmMDctNDE4MS05NTM1LWIwZTYxZjNmMDdkZCIsImlzcyI6IjE5Mi4xNjguMzEuMTAyIiwiaWF0IjoxNzAxOTQzMTk4LCJuYmYiOjE3MDE5NDMxOTMsImV4cCI6MTcwMTk0Njc5OCwic3ViIjoiam9iXzQxIn0.tsdRDPX6i9oPcKkgObtA1JiKRoxPNEYsotwkxUrBMkkCIZbef0Y4P6HDtXs7bHUeObGzrfBUupTMdllh6IunL8T0CrIiPjBVQmKBG8liW3jI5SCYAJWeBg0K0zxYsZGP35Yi9A-gj_xkqYjM6rQAPtkcL6HWr5WFo2qMFjAibALIgrjAw-5CXzDXaRRMzXv2WnvfTJB4lJah-gyFC2Tt4nyq6Fz_6qv1MG1eBqqdKkrXhwxMXK_m7dmCH9M22tTeLgxMoazQMSkGiY-LYqMNuXtBeFmsATmNhwu--J-z3ns0oZRwjl_WkVPrUEyq5aJSj__0mVRi6Cm2fNrDT120nQ\'\nexport CI_JOB_JWT_V1=$\'eyJraWQiOiI5OFNwN09zQ2tOd3NwbklPSGI3TjVuT0ZxV09QMGt6N2w2RFhYRjh4R1BZIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJuYW1lc3BhY2VfaWQiOiIxIiwibmFtZXNwYWNlX3BhdGgiOiJjYWNoaXRvLXdvcmtlciIsInByb2plY3RfaWQiOiIxIiwicHJvamVjdF9wYXRoIjoiY2FjaGl0by13b3JrZXIvYWN0aW9ucy1kZW1vIiwidXNlcl9pZCI6IjEiLCJ1c2VyX2xvZ2luIjoiY2FjaGl0by13b3JrZXIiLCJ1c2VyX2VtYWlsIjoiYWRtaW5AZXhhbXBsZS5jb20iLCJwaXBlbGluZV9pZCI6IjUiLCJwaXBlbGluZV9zb3VyY2UiOiJwdXNoIiwiam9iX2lkIjoiNDEiLCJyZWYiOiJtYXN0ZXIiLCJyZWZfdHlwZSI6ImJyYW5jaCIsInJlZl9wYXRoIjoicmVmcy9oZWFkcy9tYXN0ZXIiLCJyZWZfcHJvdGVjdGVkIjoidHJ1ZSIsImp0aSI6IjljYWMxM2FmLTJmMDctNDE4MS05NTM1LWIwZTYxZjNmMDdkZCIsImlzcyI6IjE5Mi4xNjguMzEuMTAyIiwiaWF0IjoxNzAxOTQzMTk4LCJuYmYiOjE3MDE5NDMxOTMsImV4cCI6MTcwMTk0Njc5OCwic3ViIjoiam9iXzQxIn0.tsdRDPX6i9oPcKkgObtA1JiKRoxPNEYsotwkxUrBMkkCIZbef0Y4P6HDtXs7bHUeObGzrfBUupTMdllh6IunL8T0CrIiPjBVQmKBG8liW3jI5SCYAJWeBg0K0zxYsZGP35Yi9A-gj_xkqYjM6rQAPtkcL6HWr5WFo2qMFjAibALIgrjAw-5CXzDXaRRMzXv2WnvfTJB4lJah-gyFC2Tt4nyq6Fz_6qv1MG1eBqqdKkrXhwxMXK_m7dmCH9M22tTeLgxMoazQMSkGiY-LYqMNuXtBeFmsATmNhwu--J-z3ns0oZRwjl_WkVPrUEyq5aJSj__0mVRi6Cm2fNrDT120nQ\'\nexport CI_JOB_JWT_V2=$\'eyJraWQiOiI5OFNwN09zQ2tOd3NwbklPSGI3TjVuT0ZxV09QMGt6N2w2RFhYRjh4R1BZIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJuYW1lc3BhY2VfaWQiOiIxIiwibmFtZXNwYWNlX3BhdGgiOiJjYWNoaXRvLXdvcmtlciIsInByb2plY3RfaWQiOiIxIiwicHJvamVjdF9wYXRoIjoiY2FjaGl0by13b3JrZXIvYWN0aW9ucy1kZW1vIiwidXNlcl9pZCI6IjEiLCJ1c2VyX2xvZ2luIjoiY2FjaGl0by13b3JrZXIiLCJ1c2VyX2VtYWlsIjoiYWRtaW5AZXhhbXBsZS5jb20iLCJwaXBlbGluZV9pZCI6IjUiLCJwaXBlbGluZV9zb3VyY2UiOiJwdXNoIiwiam9iX2lkIjoiNDEiLCJyZWYiOiJtYXN0ZXIiLCJyZWZfdHlwZSI6ImJyYW5jaCIsInJlZl9wYXRoIjoicmVmcy9oZWFkcy9tYXN0ZXIiLCJyZWZfcHJvdGVjdGVkIjoidHJ1ZSIsInJ1bm5lcl9pZCI6MSwicnVubmVyX2Vudmlyb25tZW50Ijoic2VsZi1ob3N0ZWQiLCJzaGEiOiI5MGRhNmFjODk3N2RiZjA2Y2ZkYjBkNWEyOGJiNThmNjdmNjQ3ZWZkIiwicHJvamVjdF92aXNpYmlsaXR5IjoicHVibGljIiwiY2lfY29uZmlnX3JlZl91cmkiOiIxOTIuMTY4LjMxLjEwMjozMjAwL2NhY2hpdG8td29ya2VyL2FjdGlvbnMtZGVtby8vLmdpdGxhYi1jaS55bWxAcmVmcy9oZWFkcy9tYXN0ZXIiLCJjaV9jb25maWdfc2hhIjoiOTBkYTZhYzg5NzdkYmYwNmNmZGIwZDVhMjhiYjU4ZjY3ZjY0N2VmZCIsImp0aSI6IjMxNjUwODJkLWZkNTMtNGQ5OS05OTFkLThhNWQxOWM5NzdmNyIsImlzcyI6Imh0dHA6Ly8xOTIuMTY4LjMxLjEwMjozMjAwIiwiaWF0IjoxNzAxOTQzMTk4LCJuYmYiOjE3MDE5NDMxOTMsImV4cCI6MTcwMTk0Njc5OCwic3ViIjoicHJvamVjdF9wYXRoOmNhY2hpdG8td29ya2VyL2FjdGlvbnMtZGVtbzpyZWZfdHlwZTpicmFuY2g6cmVmOm1hc3RlciIsImF1ZCI6Imh0dHA6Ly8xOTIuMTY4LjMxLjEwMjozMjAwIn0.dbK1FGChAS15_hCMyZGHeNGXSjnZdlr648jPImuJTklKu-GxLDHA85-t7_I00FXVeOBLNm_-583Zh-NBXtSlDpsM9rVrtS92u3mF10ohlWcKPICLogqewVJqRkD1oKjmJSwcL3BdRo_Rtwjok0zaGkvZWCdGVfeD0vmK5HMsklkdutXaPHltGV5kkt982QKGDlVoducBSBxtluk877uhqQHrN3JrzeSjStWbIDbissB_DeIhwPXZ9khBDLob_dq0e-DaFeE1kSkR0opTGF6bSldZb5Ie-8J6CRrgxql5pHqUr9fNNX7LXWub29uXSZeRbX4eAdvCCrsuM1cDOVQWDw\'\nexport CI_JOB_NAME=$\'test\'\nexport CI_JOB_NAME_SLUG=$\'test\'\nexport CI_JOB_STAGE=$\'test\'\nexport CI_NODE_TOTAL=1\nexport CI=$\'true\'\nexport GITLAB_CI=$\'true\'\nexport CI_SERVER_URL=$\'http://192.168.1.10:3200\'\nexport CI_SERVER_HOST=192.168.1.10\nexport CI_SERVER_PORT=3200\nexport CI_SERVER_PROTOCOL=$\'http\'\nexport CI_SERVER_SHELL_SSH_HOST=192.168.1.10\nexport CI_SERVER_SHELL_SSH_PORT=222\nexport CI_SERVER_NAME=$\'GitLab\'\nexport CI_SERVER_VERSION=16.6.0\nexport CI_SERVER_VERSION_MAJOR=16\nexport CI_SERVER_VERSION_MINOR=6\nexport CI_SERVER_VERSION_PATCH=0\nexport CI_SERVER_REVISION=$\'6d558d71eba\'\nexport GITLAB_FEATURES=\'\'\nexport CI_PROJECT_ID=1\nexport CI_PROJECT_NAME=$\'actions-demo\'\nexport CI_PROJECT_TITLE=$\'actions-demo\'\nexport CI_PROJECT_DESCRIPTION=\'\'\nexport CI_PROJECT_PATH=$\'oilrich25/actions-demo\'\nexport CI_PROJECT_PATH_SLUG=$\'oilrich25-actions-demo\'\nexport CI_PROJECT_NAMESPACE=$\'oilrich25\'\nexport CI_PROJECT_NAMESPACE_ID=1\nexport CI_PROJECT_ROOT_NAMESPACE=$\'oilrich25\'\nexport CI_PROJECT_URL=$\'http://192.168.1.10:3200/oilrich25/actions-demo\'\nexport CI_PROJECT_VISIBILITY=$\'public\'\nexport CI_PROJECT_REPOSITORY_LANGUAGES=$\'javascript,pug,dockerfile,css\'\nexport CI_PROJECT_CLASSIFICATION_LABEL=\'\'\nexport CI_DEFAULT_BRANCH=$\'master\'\nexport CI_CONFIG_PATH=$\'.gitlab-ci.yml\'\nexport CI_PAGES_DOMAIN=$\'example.com\'\nexport CI_PAGES_URL=$\'http://oilrich25.example.com/actions-demo\'\nexport CI_DEPENDENCY_PROXY_SERVER=$\'192.168.1.10:3200\'\nexport CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX=$\'192.168.1.10:3200/oilrich25/dependency_proxy/containers\'\nexport CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX=$\'192.168.1.10:3200/oilrich25/dependency_proxy/containers\'\nexport CI_API_V4_URL=$\'http://192.168.1.10:3200/api/v4\'\nexport CI_API_GRAPHQL_URL=$\'http://192.168.1.10:3200/api/graphql\'\nexport CI_TEMPLATE_REGISTRY_HOST=$\'registry.gitlab.com\'\nexport CI_PIPELINE_IID=5\nexport CI_PIPELINE_SOURCE=$\'push\'\nexport CI_PIPELINE_CREATED_AT=$\'2023-12-07T09:59:57Z\'\nexport CI_PIPELINE_NAME=\'\'\nexport CI_COMMIT_SHA=$\'90da6ac8977dbf06cfdb0d5a28bb58f67f647efd\'\nexport CI_COMMIT_SHORT_SHA=$\'90da6ac8\'\nexport CI_COMMIT_BEFORE_SHA=$\'e568752634d370ee63992cc204a673fb81c57a36\'\nexport CI_COMMIT_REF_NAME=$\'master\'\nexport CI_COMMIT_REF_SLUG=$\'master\'\nexport CI_COMMIT_BRANCH=$\'master\'\nexport CI_COMMIT_MESSAGE=$\'Update .gitlab-ci.yml file\'\nexport CI_COMMIT_TITLE=$\'Update .gitlab-ci.yml file\'\nexport CI_COMMIT_DESCRIPTION=\'\'\nexport CI_COMMIT_REF_PROTECTED=$\'true\'\nexport CI_COMMIT_TIMESTAMP=$\'2023-12-07T09:59:57+00:00\'\nexport CI_COMMIT_AUTHOR=$\'oilrich25 <admin@example.com>\'\nexport CI_RUNNER_ID=1\nexport CI_RUNNER_DESCRIPTION=$\'macOS-runner\'\nexport CI_RUNNER_TAGS=$\'["tart-installed"]\'\nexport TART_EXECUTOR_HEADLESS=$\'false\'\nexport GITLAB_USER_ID=1\nexport GITLAB_USER_EMAIL=$\'admin@example.com\'\nexport GITLAB_USER_LOGIN=$\'oilrich25\'\nexport GITLAB_USER_NAME=$\'oilrich25\'\nexport CI_SHARED_ENVIRONMENT=$\'true\'\nexport CI_RUNNER_VERSION=16.6.1\nexport CI_RUNNER_REVISION=$\'07a32dcc\'\nexport CI_RUNNER_EXECUTABLE_ARCH=$\'darwin/arm64\'\nexport RUNNER_TEMP_PROJECT_DIR=$\'/private/tmp/builds/oilrich25/actions-demo.tmp\'\nexport GITLAB_ENV=$\'/private/tmp/builds/oilrich25/actions-demo.tmp/gitlab_runner_env\'\nmkdir -p "/private/tmp/builds/oilrich25/actions-demo.tmp"\ntouch "/private/tmp/builds/oilrich25/actions-demo.tmp/gitlab_runner_env"\nset -o allexport\nsource "/private/tmp/builds/oilrich25/actions-demo.tmp/gitlab_runner_env" set\nset +o allexport\nexport GIT_LFS_SKIP_SMUDGE=1\necho $\'\\x1b[32;1mFetching changes with git depth set to 20...\\x1b[0;m\'\n$\'mkdir\' -p /private/tmp/builds/oilrich25/actions-demo.tmp/git-template\n$\'git\' config -f /private/tmp/builds/oilrich25/actions-demo.tmp/git-template/config init.defaultBranch none\n$\'git\' config -f /private/tmp/builds/oilrich25/actions-demo.tmp/git-template/config fetch.recurseSubmodules false\n$\'git\' config -f /private/tmp/builds/oilrich25/actions-demo.tmp/git-template/config transfer.bundleURI true\n$\'rm\' -f /private/tmp/builds/oilrich25/actions-demo/.git/index.lock\n$\'rm\' -f /private/tmp/builds/oilrich25/actions-demo/.git/shallow.lock\n$\'rm\' -f /private/tmp/builds/oilrich25/actions-demo/.git/HEAD.lock\n$\'rm\' -f /private/tmp/builds/oilrich25/actions-demo/.git/hooks/post-checkout\n$\'rm\' -f /private/tmp/builds/oilrich25/actions-demo/.git/config.lock\n$\'git\' init /private/tmp/builds/oilrich25/actions-demo --template /private/tmp/builds/oilrich25/actions-demo.tmp/git-template\n$\'cd\' /private/tmp/builds/oilrich25/actions-demo\nif $\'git\' remote add origin $\'http://gitlab-ci-token:64_ezSjSLV-vAx94o2Vq9os@192.168.1.10:3200/oilrich25/actions-demo.git\' >/dev/null 2>&1; then\n  echo $\'\\x1b[32;1mCreated fresh repository.\\x1b[0;m\'\nelse\n  $\'git\' remote set-url origin $\'http://gitlab-ci-token:64_ezSjSLV-vAx94o2Vq9os@192.168.1.10:3200/oilrich25/actions-demo.git\'\nfi\n$\'git\' -c $\'http.userAgent=gitlab-runner 16.6.1 darwin/arm64\' fetch origin $\'+refs/pipelines/5:refs/pipelines/5\' $\'+refs/heads/master:refs/remotes/origin/master\' --depth 20 --prune --quiet\necho $\'\\x1b[32;1mChecking out 90da6ac8 as detached HEAD (ref is master)...\\x1b[0;m\'\n$\'git\' checkout -f -q 90da6ac8977dbf06cfdb0d5a28bb58f67f647efd\n$\'git\' clean -ffdx\nif $\'git\' lfs version >/dev/null 2>&1; then\n  $\'git\' lfs pull\n  echo\nfi\necho $\'\\x1b[32;1mSkipping Git submodules setup\\x1b[0;m\'\n'
exit 0

# script1968687583/script. // build_script

#!/usr/bin/env bash

if set -o | grep pipefail > /dev/null; then set -o pipefail; fi; set -o errexit
set +o noclobber
: | eval $'export FF_CMD_DISABLE_DELAYED_ERROR_LEVEL_EXPANSION=$\'false\'\nexport FF_NETWORK_PER_BUILD=$\'false\'\nexport FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY=$\'false\'\nexport FF_USE_DIRECT_DOWNLOAD=$\'true\'\nexport FF_SKIP_NOOP_BUILD_STAGES=$\'true\'\nexport FF_USE_FASTZIP=$\'false\'\nexport FF_DISABLE_UMASK_FOR_DOCKER_EXECUTOR=$\'false\'\nexport FF_ENABLE_BASH_EXIT_CODE_CHECK=$\'false\'\nexport FF_USE_WINDOWS_LEGACY_PROCESS_STRATEGY=$\'true\'\nexport FF_USE_NEW_BASH_EVAL_STRATEGY=$\'false\'\nexport FF_USE_POWERSHELL_PATH_RESOLVER=$\'false\'\nexport FF_USE_DYNAMIC_TRACE_FORCE_SEND_INTERVAL=$\'false\'\nexport FF_SCRIPT_SECTIONS=$\'false\'\nexport FF_USE_NEW_SHELL_ESCAPE=$\'false\'\nexport FF_ENABLE_JOB_CLEANUP=$\'false\'\nexport FF_KUBERNETES_HONOR_ENTRYPOINT=$\'false\'\nexport FF_POSIXLY_CORRECT_ESCAPES=$\'false\'\nexport FF_USE_IMPROVED_URL_MASKING=$\'false\'\nexport FF_RESOLVE_FULL_TLS_CHAIN=$\'false\'\nexport FF_DISABLE_POWERSHELL_STDIN=$\'false\'\nexport FF_USE_POD_ACTIVE_DEADLINE_SECONDS=$\'true\'\nexport FF_USE_ADVANCED_POD_SPEC_CONFIGURATION=$\'false\'\nexport FF_SET_PERMISSIONS_BEFORE_CLEANUP=$\'true\'\nexport FF_SECRET_RESOLVING_FAILS_IF_MISSING=$\'true\'\nexport FF_RETRIEVE_POD_WARNING_EVENTS=$\'false\'\nexport FF_PRINT_POD_EVENTS=$\'false\'\nexport FF_USE_GIT_BUNDLE_URIS=$\'true\'\nexport FF_USE_DUMB_INIT_WITH_KUBERNETES_EXECUTOR=$\'false\'\nexport FF_USE_INIT_WITH_DOCKER_EXECUTOR=$\'false\'\nexport CI_JOB_IMAGE=$\'macos-ventura-base\'\nexport CI_RUNNER_SHORT_TOKEN=$\'7GL9LSi9\'\nexport CI_BUILDS_DIR=$\'/private/tmp/builds\'\nexport CI_PROJECT_DIR=$\'/private/tmp/builds/oilrich25/actions-demo\'\nexport CI_CONCURRENT_ID=0\nexport CI_CONCURRENT_PROJECT_ID=0\nexport CI_SERVER=$\'yes\'\nexport CI_JOB_STATUS=$\'running\'\nexport CI_JOB_TIMEOUT=3600\nexport CI_PIPELINE_ID=5\nexport CI_PIPELINE_URL=$\'http://192.168.1.10:3200/oilrich25/actions-demo/-/pipelines/5\'\nexport CI_JOB_ID=41\nexport CI_JOB_URL=$\'http://192.168.1.10:3200/oilrich25/actions-demo/-/jobs/41\'\nexport CI_JOB_TOKEN=$\'64_ezSjSLV-vAx94o2Vq9os\'\nexport CI_JOB_STARTED_AT=$\'2023-12-07T09:59:58Z\'\nexport CI_REGISTRY_USER=$\'gitlab-ci-token\'\nexport CI_REGISTRY_PASSWORD=$\'64_ezSjSLV-vAx94o2Vq9os\'\nexport CI_REPOSITORY_URL=$\'http://gitlab-ci-token:64_ezSjSLV-vAx94o2Vq9os@192.168.1.10:3200/oilrich25/actions-demo.git\'\nexport CI_DEPENDENCY_PROXY_USER=$\'gitlab-ci-token\'\nexport CI_DEPENDENCY_PROXY_PASSWORD=$\'64_ezSjSLV-vAx94o2Vq9os\'\nexport CI_JOB_JWT=$\'eyJraWQiOiI5OFNwN09zQ2tOd3NwbklPSGI3TjVuT0ZxV09QMGt6N2w2RFhYRjh4R1BZIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJuYW1lc3BhY2VfaWQiOiIxIiwibmFtZXNwYWNlX3BhdGgiOiJjYWNoaXRvLXdvcmtlciIsInByb2plY3RfaWQiOiIxIiwicHJvamVjdF9wYXRoIjoiY2FjaGl0by13b3JrZXIvYWN0aW9ucy1kZW1vIiwidXNlcl9pZCI6IjEiLCJ1c2VyX2xvZ2luIjoiY2FjaGl0by13b3JrZXIiLCJ1c2VyX2VtYWlsIjoiYWRtaW5AZXhhbXBsZS5jb20iLCJwaXBlbGluZV9pZCI6IjUiLCJwaXBlbGluZV9zb3VyY2UiOiJwdXNoIiwiam9iX2lkIjoiNDEiLCJyZWYiOiJtYXN0ZXIiLCJyZWZfdHlwZSI6ImJyYW5jaCIsInJlZl9wYXRoIjoicmVmcy9oZWFkcy9tYXN0ZXIiLCJyZWZfcHJvdGVjdGVkIjoidHJ1ZSIsImp0aSI6IjljYWMxM2FmLTJmMDctNDE4MS05NTM1LWIwZTYxZjNmMDdkZCIsImlzcyI6IjE5Mi4xNjguMzEuMTAyIiwiaWF0IjoxNzAxOTQzMTk4LCJuYmYiOjE3MDE5NDMxOTMsImV4cCI6MTcwMTk0Njc5OCwic3ViIjoiam9iXzQxIn0.tsdRDPX6i9oPcKkgObtA1JiKRoxPNEYsotwkxUrBMkkCIZbef0Y4P6HDtXs7bHUeObGzrfBUupTMdllh6IunL8T0CrIiPjBVQmKBG8liW3jI5SCYAJWeBg0K0zxYsZGP35Yi9A-gj_xkqYjM6rQAPtkcL6HWr5WFo2qMFjAibALIgrjAw-5CXzDXaRRMzXv2WnvfTJB4lJah-gyFC2Tt4nyq6Fz_6qv1MG1eBqqdKkrXhwxMXK_m7dmCH9M22tTeLgxMoazQMSkGiY-LYqMNuXtBeFmsATmNhwu--J-z3ns0oZRwjl_WkVPrUEyq5aJSj__0mVRi6Cm2fNrDT120nQ\'\nexport CI_JOB_JWT_V1=$\'eyJraWQiOiI5OFNwN09zQ2tOd3NwbklPSGI3TjVuT0ZxV09QMGt6N2w2RFhYRjh4R1BZIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJuYW1lc3BhY2VfaWQiOiIxIiwibmFtZXNwYWNlX3BhdGgiOiJjYWNoaXRvLXdvcmtlciIsInByb2plY3RfaWQiOiIxIiwicHJvamVjdF9wYXRoIjoiY2FjaGl0by13b3JrZXIvYWN0aW9ucy1kZW1vIiwidXNlcl9pZCI6IjEiLCJ1c2VyX2xvZ2luIjoiY2FjaGl0by13b3JrZXIiLCJ1c2VyX2VtYWlsIjoiYWRtaW5AZXhhbXBsZS5jb20iLCJwaXBlbGluZV9pZCI6IjUiLCJwaXBlbGluZV9zb3VyY2UiOiJwdXNoIiwiam9iX2lkIjoiNDEiLCJyZWYiOiJtYXN0ZXIiLCJyZWZfdHlwZSI6ImJyYW5jaCIsInJlZl9wYXRoIjoicmVmcy9oZWFkcy9tYXN0ZXIiLCJyZWZfcHJvdGVjdGVkIjoidHJ1ZSIsImp0aSI6IjljYWMxM2FmLTJmMDctNDE4MS05NTM1LWIwZTYxZjNmMDdkZCIsImlzcyI6IjE5Mi4xNjguMzEuMTAyIiwiaWF0IjoxNzAxOTQzMTk4LCJuYmYiOjE3MDE5NDMxOTMsImV4cCI6MTcwMTk0Njc5OCwic3ViIjoiam9iXzQxIn0.tsdRDPX6i9oPcKkgObtA1JiKRoxPNEYsotwkxUrBMkkCIZbef0Y4P6HDtXs7bHUeObGzrfBUupTMdllh6IunL8T0CrIiPjBVQmKBG8liW3jI5SCYAJWeBg0K0zxYsZGP35Yi9A-gj_xkqYjM6rQAPtkcL6HWr5WFo2qMFjAibALIgrjAw-5CXzDXaRRMzXv2WnvfTJB4lJah-gyFC2Tt4nyq6Fz_6qv1MG1eBqqdKkrXhwxMXK_m7dmCH9M22tTeLgxMoazQMSkGiY-LYqMNuXtBeFmsATmNhwu--J-z3ns0oZRwjl_WkVPrUEyq5aJSj__0mVRi6Cm2fNrDT120nQ\'\nexport CI_JOB_JWT_V2=$\'eyJraWQiOiI5OFNwN09zQ2tOd3NwbklPSGI3TjVuT0ZxV09QMGt6N2w2RFhYRjh4R1BZIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJuYW1lc3BhY2VfaWQiOiIxIiwibmFtZXNwYWNlX3BhdGgiOiJjYWNoaXRvLXdvcmtlciIsInByb2plY3RfaWQiOiIxIiwicHJvamVjdF9wYXRoIjoiY2FjaGl0by13b3JrZXIvYWN0aW9ucy1kZW1vIiwidXNlcl9pZCI6IjEiLCJ1c2VyX2xvZ2luIjoiY2FjaGl0by13b3JrZXIiLCJ1c2VyX2VtYWlsIjoiYWRtaW5AZXhhbXBsZS5jb20iLCJwaXBlbGluZV9pZCI6IjUiLCJwaXBlbGluZV9zb3VyY2UiOiJwdXNoIiwiam9iX2lkIjoiNDEiLCJyZWYiOiJtYXN0ZXIiLCJyZWZfdHlwZSI6ImJyYW5jaCIsInJlZl9wYXRoIjoicmVmcy9oZWFkcy9tYXN0ZXIiLCJyZWZfcHJvdGVjdGVkIjoidHJ1ZSIsInJ1bm5lcl9pZCI6MSwicnVubmVyX2Vudmlyb25tZW50Ijoic2VsZi1ob3N0ZWQiLCJzaGEiOiI5MGRhNmFjODk3N2RiZjA2Y2ZkYjBkNWEyOGJiNThmNjdmNjQ3ZWZkIiwicHJvamVjdF92aXNpYmlsaXR5IjoicHVibGljIiwiY2lfY29uZmlnX3JlZl91cmkiOiIxOTIuMTY4LjMxLjEwMjozMjAwL2NhY2hpdG8td29ya2VyL2FjdGlvbnMtZGVtby8vLmdpdGxhYi1jaS55bWxAcmVmcy9oZWFkcy9tYXN0ZXIiLCJjaV9jb25maWdfc2hhIjoiOTBkYTZhYzg5NzdkYmYwNmNmZGIwZDVhMjhiYjU4ZjY3ZjY0N2VmZCIsImp0aSI6IjMxNjUwODJkLWZkNTMtNGQ5OS05OTFkLThhNWQxOWM5NzdmNyIsImlzcyI6Imh0dHA6Ly8xOTIuMTY4LjMxLjEwMjozMjAwIiwiaWF0IjoxNzAxOTQzMTk4LCJuYmYiOjE3MDE5NDMxOTMsImV4cCI6MTcwMTk0Njc5OCwic3ViIjoicHJvamVjdF9wYXRoOmNhY2hpdG8td29ya2VyL2FjdGlvbnMtZGVtbzpyZWZfdHlwZTpicmFuY2g6cmVmOm1hc3RlciIsImF1ZCI6Imh0dHA6Ly8xOTIuMTY4LjMxLjEwMjozMjAwIn0.dbK1FGChAS15_hCMyZGHeNGXSjnZdlr648jPImuJTklKu-GxLDHA85-t7_I00FXVeOBLNm_-583Zh-NBXtSlDpsM9rVrtS92u3mF10ohlWcKPICLogqewVJqRkD1oKjmJSwcL3BdRo_Rtwjok0zaGkvZWCdGVfeD0vmK5HMsklkdutXaPHltGV5kkt982QKGDlVoducBSBxtluk877uhqQHrN3JrzeSjStWbIDbissB_DeIhwPXZ9khBDLob_dq0e-DaFeE1kSkR0opTGF6bSldZb5Ie-8J6CRrgxql5pHqUr9fNNX7LXWub29uXSZeRbX4eAdvCCrsuM1cDOVQWDw\'\nexport CI_JOB_NAME=$\'test\'\nexport CI_JOB_NAME_SLUG=$\'test\'\nexport CI_JOB_STAGE=$\'test\'\nexport CI_NODE_TOTAL=1\nexport CI=$\'true\'\nexport GITLAB_CI=$\'true\'\nexport CI_SERVER_URL=$\'http://192.168.1.10:3200\'\nexport CI_SERVER_HOST=192.168.1.10\nexport CI_SERVER_PORT=3200\nexport CI_SERVER_PROTOCOL=$\'http\'\nexport CI_SERVER_SHELL_SSH_HOST=192.168.1.10\nexport CI_SERVER_SHELL_SSH_PORT=222\nexport CI_SERVER_NAME=$\'GitLab\'\nexport CI_SERVER_VERSION=16.6.0\nexport CI_SERVER_VERSION_MAJOR=16\nexport CI_SERVER_VERSION_MINOR=6\nexport CI_SERVER_VERSION_PATCH=0\nexport CI_SERVER_REVISION=$\'6d558d71eba\'\nexport GITLAB_FEATURES=\'\'\nexport CI_PROJECT_ID=1\nexport CI_PROJECT_NAME=$\'actions-demo\'\nexport CI_PROJECT_TITLE=$\'actions-demo\'\nexport CI_PROJECT_DESCRIPTION=\'\'\nexport CI_PROJECT_PATH=$\'oilrich25/actions-demo\'\nexport CI_PROJECT_PATH_SLUG=$\'oilrich25-actions-demo\'\nexport CI_PROJECT_NAMESPACE=$\'oilrich25\'\nexport CI_PROJECT_NAMESPACE_ID=1\nexport CI_PROJECT_ROOT_NAMESPACE=$\'oilrich25\'\nexport CI_PROJECT_URL=$\'http://192.168.1.10:3200/oilrich25/actions-demo\'\nexport CI_PROJECT_VISIBILITY=$\'public\'\nexport CI_PROJECT_REPOSITORY_LANGUAGES=$\'javascript,pug,dockerfile,css\'\nexport CI_PROJECT_CLASSIFICATION_LABEL=\'\'\nexport CI_DEFAULT_BRANCH=$\'master\'\nexport CI_CONFIG_PATH=$\'.gitlab-ci.yml\'\nexport CI_PAGES_DOMAIN=$\'example.com\'\nexport CI_PAGES_URL=$\'http://oilrich25.example.com/actions-demo\'\nexport CI_DEPENDENCY_PROXY_SERVER=$\'192.168.1.10:3200\'\nexport CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX=$\'192.168.1.10:3200/oilrich25/dependency_proxy/containers\'\nexport CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX=$\'192.168.1.10:3200/oilrich25/dependency_proxy/containers\'\nexport CI_API_V4_URL=$\'http://192.168.1.10:3200/api/v4\'\nexport CI_API_GRAPHQL_URL=$\'http://192.168.1.10:3200/api/graphql\'\nexport CI_TEMPLATE_REGISTRY_HOST=$\'registry.gitlab.com\'\nexport CI_PIPELINE_IID=5\nexport CI_PIPELINE_SOURCE=$\'push\'\nexport CI_PIPELINE_CREATED_AT=$\'2023-12-07T09:59:57Z\'\nexport CI_PIPELINE_NAME=\'\'\nexport CI_COMMIT_SHA=$\'90da6ac8977dbf06cfdb0d5a28bb58f67f647efd\'\nexport CI_COMMIT_SHORT_SHA=$\'90da6ac8\'\nexport CI_COMMIT_BEFORE_SHA=$\'e568752634d370ee63992cc204a673fb81c57a36\'\nexport CI_COMMIT_REF_NAME=$\'master\'\nexport CI_COMMIT_REF_SLUG=$\'master\'\nexport CI_COMMIT_BRANCH=$\'master\'\nexport CI_COMMIT_MESSAGE=$\'Update .gitlab-ci.yml file\'\nexport CI_COMMIT_TITLE=$\'Update .gitlab-ci.yml file\'\nexport CI_COMMIT_DESCRIPTION=\'\'\nexport CI_COMMIT_REF_PROTECTED=$\'true\'\nexport CI_COMMIT_TIMESTAMP=$\'2023-12-07T09:59:57+00:00\'\nexport CI_COMMIT_AUTHOR=$\'oilrich25 <admin@example.com>\'\nexport CI_RUNNER_ID=1\nexport CI_RUNNER_DESCRIPTION=$\'macOS-runner\'\nexport CI_RUNNER_TAGS=$\'["tart-installed"]\'\nexport TART_EXECUTOR_HEADLESS=$\'false\'\nexport GITLAB_USER_ID=1\nexport GITLAB_USER_EMAIL=$\'admin@example.com\'\nexport GITLAB_USER_LOGIN=$\'oilrich25\'\nexport GITLAB_USER_NAME=$\'oilrich25\'\nexport CI_SHARED_ENVIRONMENT=$\'true\'\nexport CI_RUNNER_VERSION=16.6.1\nexport CI_RUNNER_REVISION=$\'07a32dcc\'\nexport CI_RUNNER_EXECUTABLE_ARCH=$\'darwin/arm64\'\nexport RUNNER_TEMP_PROJECT_DIR=$\'/private/tmp/builds/oilrich25/actions-demo.tmp\'\nexport GITLAB_ENV=$\'/private/tmp/builds/oilrich25/actions-demo.tmp/gitlab_runner_env\'\nmkdir -p "/private/tmp/builds/oilrich25/actions-demo.tmp"\ntouch "/private/tmp/builds/oilrich25/actions-demo.tmp/gitlab_runner_env"\nset -o allexport\nsource "/private/tmp/builds/oilrich25/actions-demo.tmp/gitlab_runner_env" set\nset +o allexport\n$\'cd\' /private/tmp/builds/oilrich25/actions-demo\necho $\'\\

x1b[32;1m$ uname -a\\x1b[0;m\'\nuname -a\necho $\'\\x1b[32;1m$ sleep 160\\x1b[0;m\'\nsleep 160\n'
exit 0
oilrich25 commented 10 months ago

Today I discovered through debugging the gitlab-tart-executor project that CI_BUILDS_DIR is located at:

export CI_BUILDS_DIR=$\'/private/tmp/builds\

Instead of /Volumes/My Shared Files/hostdir as you mentioned before. The actual build directory found in the tart container is in $\'/private/tmp/builds\, please see the screenshot

7 53 47
oilrich25 commented 10 months ago

@ChristopherHX You can combine the files I posted above to correspond to the ENV variable in cirruslabs/gitlab-tart-executor, and you should be able to continue.

ChristopherHX commented 10 months ago

Today I discovered through debugging the gitlab-tart-executor project that CI_BUILDS_DIR is located at:

export CI_BUILDS_DIR=$\'/private/tmp/builds\

Instead of /Volumes/My Shared Files/hostdir as you mentioned before

This is only the case if the build dir is not mounted

see: https://github.com/cirruslabs/gitlab-tart-executor/blob/4c8c5b65bea9cddafed0aac8b664ef385a733f94/internal/commands/config/config.go#L47

If you mount build dir it changes.

However https://tart.run/quick-start/ mentiones changing the mount location, so yes we could get rid of spaces even for mounted folders.

Both runner.server/gitea-actions-runner don't need a shared filesystem, only a shared network.

act integrations need a shared filesystem or something like docker cp.

This project (runner.server) is capable to run a custom script together with information about the started job. https://github.com/ChristopherHX/runner.server#onqueuejob like labels.

gitlab-tart-executor could also be used as a cli tool for that script.

I'm currently quite busy with my assignments for my university

oilrich25 commented 10 months ago

Today I discovered through debugging the gitlab-tart-executor project that CI_BUILDS_DIR is located at:

export CI_BUILDS_DIR=$\'/private/tmp/builds\

Instead of /Volumes/My Shared Files/hostdir as you mentioned before

This is only the case if the build dir is not mounted

see: https://github.com/cirruslabs/gitlab-tart-executor/blob/4c8c5b65bea9cddafed0aac8b664ef385a733f94/internal/commands/config/config.go#L47

If you mount build dir it changes.

However https://tart.run/quick-start/ mentiones changing the mount location, so yes we could get rid of spaces even for mounted folders.

Both runner.server/gitea-actions-runner don't need a shared filesystem, only a shared network.

act integrations need a shared filesystem or something like docker cp.

This project (runner.server) is capable to run a custom script together with information about the started job. https://github.com/ChristopherHX/runner.server#onqueuejob like labels.

gitlab-tart-executor could also be used as a cli tool for that script.

  • start vm using image of the labels array of the json (gitlab-tart-executor prepare)
  • Run the ./config.sh script on the VM to register the VM to runner.server (--ephemeral, causes exit after the first job finished) (gitlab-tart-executor run somescript.sh)
  • Run the ./run.sh script and wait for exit
  • Stop (gitlab-tart-executor cleanup)

I'm currently quite busy with my assignments for my university

oilrich25deMac-mini:Desktop oilrich25$ CUSTOM_ENV_CI_JOB_ID=10 CUSTOM_ENV_CI_JOB_IMAGE="macos-ventura-base" /opt/homebrew/bin/gitlab-tart-executor config -h
Configure GitLab Runner

Usage:
  executor config [flags]

Flags:
      --builds-dir string   Path to a directory on host to use for storing builds
      --cache-dir string    path to a directory on host to use for caching purposes
  -h, --help                help for config

oilrich25deMac-mini:Desktop oilrich25$ CUSTOM_ENV_CI_JOB_ID=10 CUSTOM_ENV_CI_JOB_IMAGE="macos-ventura-base" /opt/homebrew/bin/gitlab-tart-executor config
{
  "builds_dir": "/private/tmp/builds",
  "cache_dir": "/private/tmp/cache"
}

What you mean above is that runner.server directly integrates cirruslabs/gitlab-tart-executor to execute the tart container to build the project, right? I think it's also a good note. After all, I successfully restored the below. Use cirruslabs/gitlab-tart-executor to execute the tart container, then build and finally destroy the tart container. But the premise is that the parameters required by prepare_script, get_sources, and build_script need to be constructed.

By the way, no matter which command in cirruslabs/gitlab-tart-executor is executed, the two environment variables CUSTOM_ENV_CI_JOB_ID and CUSTOM_ENV_CI_JOB_IMAGE must be brought in front

oilrich25deMac-mini:Desktop oilrich25$ tart list
Source Name               Size State  
local  macos-ventura-base 20   stopped
oilrich25deMac-mini:Desktop oilrich25$ CUSTOM_ENV_CI_JOB_ID=10 CUSTOM_ENV_CI_JOB_IMAGE="macos-ventura-base" /opt/homebrew/bin/gitlab-tart-executor prepare
2023/12/10 12:35:20 Pulling the latest version of macos-ventura-base...
2023/12/10 12:35:20 Cloning and configuring a new VM...
2023/12/10 12:35:20 Waiting for the VM to boot and be SSH-able...
2023/12/10 12:35:29 Was able to SSH!
2023/12/10 12:35:29 VM is ready.
oilrich25deMac-mini:Desktop oilrich25$ 
oilrich25deMac-mini:Desktop oilrich25$ tart list
Source Name               Size State  
local  gitlab-10          20   running       //    CUSTOM_ENV_CI_JOB_ID=10  , Created by `cirruslabs/gitlab-tart-executor` through prepare method
local  macos-ventura-base 20   stopped
oilrich25deMac-mini:Desktop oilrich25$ 
oilrich25deMac-mini:Desktop oilrich25$ CUSTOM_ENV_CI_JOB_ID=10 CUSTOM_ENV_CI_JOB_IMAGE="macos-ventura-base" /opt/homebrew/bin/gitlab-tart-executor run custom-executor786579228/script2110979536/script. prepare_script
Running on admins-Virtual-Machine.local...
oilrich25deMac-mini:Desktop oilrich25$ 
oilrich25deMac-mini:Desktop oilrich25$ CUSTOM_ENV_CI_JOB_ID=10 CUSTOM_ENV_CI_JOB_IMAGE="macos-ventura-base" /opt/homebrew/bin/gitlab-tart-executor run custom-executor786579228/script741168682/script. get_sources
Fetching changes with git depth set to 20...
Initialized empty Git repository in /private/tmp/builds/oilrich25/actions-demo/.git/
Created fresh repository.
fatal: couldn't find remote ref refs/pipelines/5
2023/12/10 12:36:39 Process exited with status 128
oilrich25deMac-mini:Desktop oilrich25$ 
oilrich25deMac-mini:Desktop oilrich25$ CUSTOM_ENV_CI_JOB_ID=10 CUSTOM_ENV_CI_JOB_IMAGE="macos-ventura-base" /opt/homebrew/bin/gitlab-tart-executor run custom-executor786579228/script1968687583/script. build_script
$ uname -a
Darwin admins-Virtual-Machine.local 22.6.0 Darwin Kernel Version 22.6.0: Wed Jul  5 22:22:19 PDT 2023; root:xnu-8796.141.3~6/RELEASE_ARM64_VMAPPLE arm64
$ pwd
/private/tmp/builds/oilrich25/actions-demo
oilrich25deMac-mini:Desktop oilrich25$ 
oilrich25deMac-mini:Desktop oilrich25$ CUSTOM_ENV_CI_JOB_ID=10 CUSTOM_ENV_CI_JOB_IMAGE="macos-ventura-base" /opt/homebrew/bin/gitlab-tart-executor cleanup
oilrich25deMac-mini:Desktop oilrich25$ 
oilrich25deMac-mini:Desktop oilrich25$ tart list
Source Name               Size State  
local  macos-ventura-base 20   stopped
oilrich25deMac-mini:Desktop oilrich25$ 
oilrich25 commented 10 months ago

Both runner.server/gitea-actions-runner don't need a shared filesystem, only a shared network.

I also agree that runner.server/gitea-actions-runner is easier to integrate. And I pretty much use runner.server/gitea-actions-runner currently, not act. 😀

oilrich25 commented 10 months ago

If it is a shared file system, it has been tested by me. The following method was found to be feasible.

oilrich25deMac-mini:Desktop oilrich25$ tart list
Source Name               Size State  
local  macos-ventura-base 20   stopped

oilrich25deMac-mini:Desktop oilrich25$ tart clone macos-ventura-base vm

oilrich25deMac-mini:Desktop oilrich25$ tart run --dir=_work:/Users/oilrich25/Desktop/gitea-actions-runner/actions-runner/_work vm

It is recommended to make a soft link ln -s /Volumes/My\ Shared\ Files/_work /private/tmp/_work

oilrich25deMac-mini:Desktop oilrich25$ sshpass -p admin ssh -o "StrictHostKeyChecking no" admin@$(tart ip vm) "ln -s /Volumes/My\ Shared\ Files/_work /private/tmp/_work"
oilrich25deMac-mini:Desktop oilrich25$ sshpass -p admin ssh -o "StrictHostKeyChecking no" admin@$(tart ip vm) "cd /private/tmp/_work/simple-go-action/simple-go-action/"
oilrich25deMac-mini:Desktop oilrich25$ sshpass -p admin ssh -o "StrictHostKeyChecking no" admin@$(tart ip vm) "cd /private/tmp/_work/simple-go-action/simple-go-action/ && pwd"
/private/tmp/_work/simple-go-action/simple-go-action

oilrich25deMac-mini:Desktop oilrich25$ sshpass -p admin ssh -o "StrictHostKeyChecking no" admin@$(tart ip vm) "cd /private/tmp/_work/simple-go-action/simple-go-action/ && ls"
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE.txt
README.md
build-image.sh
image
shell.sh

oilrich25deMac-mini:Desktop oilrich25$ sshpass -p admin ssh -o "StrictHostKeyChecking no" admin@$(tart ip vm) "cd /private/tmp/_work/simple-go-action/simple-go-action/ && ./shell.sh"
/private/tmp/_work/simple-go-action/simple-go-action