问题标签 [github-actions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
67 浏览

github - 仅当有人打开 PR 时才运行 GitHub Action

有没有办法只在 PR 打开时运行 Github-Actions。我知道有可能使用on = "pull_request". 然而,这意味着当有人打开 PR、评论、审查和关闭时,将触发工作流。当有人打开 PR 时,我只想运行一次。我试过 ENV_VAR 但没有运气。也许事件可能是要走的路?https://developer.github.com/webhooks/#events

0 投票
2 回答
464 浏览

github - 仅当 pr 目标为 master 时才运行 GitHub 操作

我试图找出一种仅在将 pr 打开到 master 时才运行 GitHub 工作流的方法,即更改将进入 master。

到目前为止,我到了这一点

当我打开拉取请求将development分支合并到master分支时,我的Install操作没有运行,因为Is Master Branch返回

refs/heads/development 与 refs/heads/master 不匹配

0 投票
2 回答
1033 浏览

github - /github/home 是否在 github 操作之间持续存在?

到目前为止,根据文件系统文档,我的印象是(仅?)/github/workspace跨操作(而不是工作流程)持续存在:

Docker 容器的工作目录。GitHub Actions 在此目录中执行。该目录的路径在GITHUB_WORKSPACE环境变量中设置。

(...)

操作可以修改此目录的内容,后续操作可以访问这些内容。

我现在有一个reprex(带有动作运行的实时 repo)显示它/github/home似乎在动作中也持续存在。

当然,我知道这些都不会在工作流程或运行中持续存在。就在动作之间。

文档(对我来说)对此有点不清楚,我还没有得到支持的答复。

从第一个操作记录/github/home

从第二个动作记录/github/home

这似乎表明确实,/github/home也持续存在,但我想确定。

0 投票
5 回答
23024 浏览

github - 如何重新运行 Github Actions?

我在 Github Web UI 上看到了这个:

截屏

但我不清楚禁用的重新运行是我的.github/main.workflow配置的结果,还是从 Github Actions 服务继承的。

下面的示例工作流程 - 我没有看到任何明显会禁用重新运行的内容。

0 投票
2 回答
1691 浏览

git - 我可以在本地编辑 main.workflow github-actions 文件吗?

main.workflow如果我在本地而不是在分支中更改我的文件master,提交并推送更改,我会从push命令中收到此错误:

0 投票
1 回答
42880 浏览

docker - 如何在一个 Github Actions Docker 中运行多个命令

一个运行多个命令的正确方法是action什么?

例如:

我想将 python 脚本作为action. 在运行此脚本之前,我需要安装requirements.txt.

我可以想到几个选择:

  • Dockerfile使用其中的命令创建一个RUN pip install -r requirements.txt
  • 使用python:3图像,并在运行in中的参数之前运行pip install -r requirements.txtin文件。entrypoint.shargsmain.workflow
  • 同时使用pip installpython myscript.py作为args

另一个例子:

我想运行一个存在于我的存储库中的脚本,然后比较 2 个文件(它的输出和一个已经存在的文件)。

这是一个包含两个命令的过程,而在第一个示例中,该pip install命令可以被视为构建命令而不是测试命令。

问题:

我可以为另一个命令创建另一个 Docker,它将包含以前 Docker 的输出吗?

我正在寻找命令在 in Dockerfile、 inentrypoint或 in 中的位置指南args

0 投票
3 回答
29349 浏览

github-actions - 我可以有多个 GitHub Actions 工作流文件吗?

我可以有多个工作流文件吗?

我有一些使用 GitHub Actions 的 repo,它们工作得很好!在我的特定用例中,我在“推送”时自动部署到我的开发环境,并在“发布”时自动部署到生产环境。这是两个独立的工作流程。

我知道我可以将这两个工作流放在同一个 main.workflow 文件中,这样可以正常工作,但我更愿意将它们完全放在单独的工作流文件中。例如,是否有可能拥有一个 dev.workflow 文件和一个 prod.workflow 文件?

我尝试创建一个 dev.workflow 和 prod.workflow 文件,但它们似乎没有被 Actions 拾取。似乎需要一个 main.workflow 文件。如果是这种情况,有没有办法将其他工作流文件源到 main.workflow 中?

0 投票
0 回答
357 浏览

google-cloud-platform - 尝试在 GitHub Actions 中运行 Terraform 时出错

我打算使用 GitHub Actions 在我的项目上运行一些 Terraform 命令。工作流程非常简单,基本上是:将凭据配置到 GCP -> terraform fmt-> terraform init->terraform validate最后terraform plan。它在该步骤中失败plan,说明由于超时而尝试读取 GCP 上的现有资源时发生错误。

这是错误消息:

我能够在terraform plan本地运行就好了。

使用的 Terraform 版本是 0.12.4,Google Provider 是 2.11。

0 投票
4 回答
33063 浏览

github - Github 操作在作业之间共享工作区/工件?

尝试使用 Github 的 beta 操作时,我有两份工作,一份负责构建代码,另一份负责部署代码。但是,我似乎无法在部署工作中获得构建工件。

我最近的尝试是为每个作业手动设置具有相同卷的容器映像,根据文档,这应该是解决方案:https ://help.github.com/en/articles/workflow-syntax-for-github-actions#工作job_idcontainervolumes

设置容器使用的卷数组。您可以使用卷在服务或作业中的其他步骤之间共享数据。您可以在主机上指定命名 Docker 卷、匿名 Docker 卷或绑定挂载。

工作流程

第一个作业 (build) 有一个 build 目录,但是当第二个作业 (deploy) 运行时它没有并且只包含源代码。

这个项目是一个单声道存储库,其中的代码我试图部署在路径下,server因此所有的working-directory标志。

0 投票
1 回答
3976 浏览

github - 使用 GitHub Actions 自动向 GitHub 存储库发出拉取请求

我在 GitHub 存储库中有一个文件,需要偶尔通过运行命令进行更新。

作为GitHub Workflows的一部分,我想让一个机器人运行命令,并查看它是否在 repo 上创建了差异,如果是,则自动向存储库发出拉取请求。

我怀疑GitHub 工作流可以帮助我做到这一点,因为 GitHub 现在允许人们运行任意容器(“操作”)来执行诸如在存储库中构建之类的操作。我在这里看到了一些官方的自动化工作流程,可让您“标记”和“评论”问题等:https ://github.com/actions/starter-workflows/tree/master/automation

如果我想运行任意命令并对存储库进行 PR,我应该查看哪些 GitHub Actions 而不是重新发明自己的 Actions?任何指针表示赞赏。