【问题标题】:How can i specify the architecture in Github Actions?如何在 Github Actions 中指定架构?
【发布时间】:2022-11-04 05:56:47
【问题描述】:

如何在Github Actions 中指定架构? x86arm64 之类的东西?

【问题讨论】:

  • 为了什么?跑者?编译器?你的应用程序?
  • 对于跑步者。

标签: github github-actions github-actions-runners


【解决方案1】:

不,您不能为 GitHub 托管的运行器设置架构。这些虚拟机运行 x64。目前无法指定或请求其他架构。

如果您需要 arm64 或 x86 上的运行器,则需要设置自己的主机/虚拟机并将运行器与构建过程所需的任何其他工具一起安装到其中。

您可以使用 GitHub/virtual-environments 存储库来借用设置脚本,但您需要进行适当的调整以支持您选择的架构。

【讨论】:

  • 看起来有一个alpha version for supporting arm64(仅在 linux 操作系统上)
  • @DavidWer 该链接指向 TravesCI,而不是 GitHub Actions。我在未来几个月的路线图上看不到 ARM。
【解决方案2】:

我相信您可以将架构指定为环境变量。

- name: Set up Python 3.8.5
  uses: actions/setup-python@v3
  with:
    architecture: 'x64'
    python-version: 3.8.5

【讨论】:

    【解决方案3】:

    正如@jessehouwing 所说,您将需要使用自托管运行器。 GitHub 托管的运行器还不支持 arm64。您可以通过启动 arm64 VM 并安装 actions/runner 自己创建运行器。您还可以使用单独的更完整的解决方案来动态创建这些跑步者。您有三个可靠的选择:

    import { aws_codebuild as codebuild } from 'aws-cdk-lib';
    import { Architecture, CodeBuildImageBuilder, CodeBuildRunner } from '@cloudsnorkel/cdk-github-runners';
    
    new GitHubRunners(this, 'runners', {
      providers: [
        new CodeBuildRunner(this, 'CodeBuild ARM64', {
          labels: ['codebuild', 'arm64'],
          computeType: codebuild.ComputeType.SMALL,
          imageBuilder: new CodeBuildImageBuilder(this, 'CodeBuild Image Builder arm', {
            dockerfilePath: CodeBuildRunner.LINUX_ARM64_DOCKERFILE_PATH,
            architecture: Architecture.ARM64,
          }),
        }),
      ],
    });
    

    然后,您的工作流程应使用 runs-on: [self-hosted, codebuild, arm64]

    【讨论】:

      猜你喜欢
      • 2020-01-14
      • 2020-01-08
      • 2021-04-29
      • 2020-01-08
      • 2021-06-25
      • 2020-01-14
      • 2022-08-16
      • 1970-01-01
      • 2023-01-28
      相关资源
      最近更新 更多