MacOS 上的 Github 自托管运行器 - 使用提升的权限运行 Python 脚本?

问题描述 投票:0回答:1

我正在托管一个自托管运行器,使用 python 来自动化一些 Unity 测试。我已经为局部变量设置了一个

.env
文件,因此最终我可以将运行器和脚本部署到任何计算机上。但是,当我通过 GitHub Actions 触发脚本时遇到问题。如果我自己在自己的机器上使用终端,它运行得很好。

我的问题是,有没有办法提升跑步者的权限,还是我错过了一个步骤?

“操作”选项卡中的错误是

##[debug]Result: '$SELF_HOSTED_UNITY_TEST_SCRIPT {branch_name}'
##[debug]Loading env
Run $SELF_HOSTED_UNITY_TEST_SCRIPT pythonmacos
  $SELF_HOSTED_UNITY_TEST_SCRIPT pythonmacos
  shell: /bin/bash -e {0}
##[debug]/bin/bash -e {user_path}/actions-runner/_work/_temp/129fb3d0-cb43-49b5-b558-9f36543c0193.sh
{user_path}/actions-runner/_work/_temp/129fb3d0-cb43-49b5-b558-9f36543c0193.sh: line 1: {user_path}/dev-tools/test-runner/GithubActions/RunTests.py: Permission denied
Error: Process completed with exit code 1.
##[debug]Finishing: Mac - Run testing script

python脚本中的前几行:

if __name__ == '__main__':
    load_dotenv(find_dotenv())
    git_project_path = os.environ.get("GIT_PROJECT_PATH")

    parser = init_argparse()
    args = parser.parse_args()
    branch_name = args.branch_name[0]
    if not branch_name:
        exit(2)

工作流程脚本:

name: Testing on Self Hosted Runner
run-name: ${{ github.actor }} is running a test on a self hosted runner on branch ${{ github.head_ref }}.
on: pull_request

jobs:
  Create:
    runs-on: self-hosted
    steps:
      - name: Mac - Setup alias
        if: runner.os == 'macOS'
        run: |
          shopt -s expand_aliases

      - name: Mac - Run testing script
        if: runner.os == 'macOS'
        run: $SELF_HOSTED_UNITY_TEST_SCRIPT ${{ github.head_ref }}

我的 RunTests.py 脚本中有以下导入:

import argparse
import os
import subprocess
from os.path import join, dirname
from xml.etree import ElementTree

import git
from dotenv import load_dotenv, find_dotenv
from termcolor import cprint
python macos unity-game-engine github-actions github-actions-self-hosted-runners
1个回答
0
投票

我忘记了文件权限是一件事。允许使用

chmod -x {pythonScript.py}
执行文件即可使其工作。

© www.soinside.com 2019 - 2024. All rights reserved.