【发布时间】:2022-11-04 05:56:47
【问题描述】:
如何在Github Actions 中指定架构?
x86 或 arm64 之类的东西?
【问题讨论】:
-
为了什么?跑者?编译器?你的应用程序?
-
对于跑步者。
标签: github github-actions github-actions-runners
如何在Github Actions 中指定架构?
x86 或 arm64 之类的东西?
【问题讨论】:
标签: github github-actions github-actions-runners
不,您不能为 GitHub 托管的运行器设置架构。这些虚拟机运行 x64。目前无法指定或请求其他架构。
如果您需要 arm64 或 x86 上的运行器,则需要设置自己的主机/虚拟机并将运行器与构建过程所需的任何其他工具一起安装到其中。
您可以使用 GitHub/virtual-environments 存储库来借用设置脚本,但您需要进行适当的调整以支持您选择的架构。
【讨论】:
我相信您可以将架构指定为环境变量。
- name: Set up Python 3.8.5
uses: actions/setup-python@v3
with:
architecture: 'x64'
python-version: 3.8.5
【讨论】:
正如@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]。
【讨论】: