问题标签 [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 投票
1 回答
1456 浏览

azure-devops - Run Cypress.io on Azure Pipelines Hosted Linux Agent

I'm trying to run Cypress tests on the Hosted Linux Pool for Azure Pipelines. Unfortunately, the Hosted Agent doesn't have all the dependencies for Cypress installed.

Running the documented apt-get doesn't work:

Running apt-get update takes forever (25 minutes and still not done).

Any clues on how to get Cypress working quickly on the Hosted Agent is welcome.

Note: I tried running on Windows, that works, fortunately, so I'm not completely blocked. But to use the Windows Agent I now have 2 agent phases which adds overhead due to artefact downloads and npm install overhead.

0 投票
2 回答
11670 浏览

github - GitHub Actions 和 Jenkins 等其他 CI 工具有什么区别?

GitHub 宣布了一项即将推出的功能,GitHub Actions

我对 Jenkins 等 CI 工具在自动构建或测试方面的好处持肯定态度,GitHub Actions 的目标是在未来使用这些工具。

在 GitHub 上拥有一个存储库并使用外部 CI 工具具有允许将存储库移动到另一个 Git 存储库平台(甚至是本地)的巨大好处,而无需重写整个 CI 过程。使用 GitHub Actions,您或多或少地与 GitHub 生态系统联系在一起。

我假设 GitHub 的 Actions 的集成在原生环境中会更加流畅,但除此之外还有其他优点或缺点吗?

0 投票
2 回答
1245 浏览

docker - 在 Github Actions 上从 package.json 安装私有 github 包

我正在尝试在我的项目中将 Github 操作作为 CI 实施。问题是我在我的 package.json 上使用了私有 git URL,但 CI 收到错误,因为 Github 操作“不知何故”无法访问该存储库,这是不可能的,因为它位于同一个用户帐户上。

有谁知道如何解决这个问题?

main.workflow文件:

错误日志:

0 投票
1 回答
445 浏览

github - GitHub Actions:过滤器返回“jq:错误无法迭代 null (null)”

我正在尝试 GitHub Actions 中的过滤器,但它返回此错误:

这是我的 main.workflow:

尝试引用以前的提交而不是 master (actions/bin/filter@18d4c9c),但是我仍然得到同样的错误。

我的存储库也是私有的,不确定这是否与它有关。

谢谢!

0 投票
1 回答
157 浏览

docker - 如何在 Docker 容器中运行 VS Code 的扩展开发主机来测试我的 vscode 扩展?

我正在尝试使用 GitHub Actions 测试我的 vscode 扩展,这意味着 Visual Studio Code 需要位于 Docker 容器中。有人做过吗?有谁知道如何做到这一点?

0 投票
4 回答
19042 浏览

github - 如何使用 GitHub Actions 对构建工件进行版本化?

我的用例是我希望每次构建/运行都有一个唯一的工件版本号。使用当前的工具,如 CircleCI、Travis 等,有一个可用的内部版本号,基本上是一个始终上升的计数器。所以,我可以创建版本字符串,如0.1.0-27. 即使对于相同的提交,每次都会增加此计数器。

如何使用 GitHub Actions 做类似的事情?Github 操作仅提供 GITHUB_SHA 和 GITHUB_REF。

0 投票
2 回答
5516 浏览

github - 是否可以在 GitHub Actions 中的 Actions 之间保留 WORKDIR?

今天早上我收到了我的 GitHub Actions BETA 邀请 (wooo) 并开始使用它,目的是迁移我目前在 CircleCI 上运行的一些简单的构建、测试和部署管道。

我仍在尝试了解 Actions,但我想到的流程是,在推送之后,工作流中的第一个 Action 将启动 Docker 容器。在该容器内,我将运行一些简单的构建过程,例如最小化资产和移除人工制品。然后,下一个 Action 将对构建运行一些测试。管道中的下一个操作将部署到多个环境之一,具体取决于我推送到的分支。

我遵循了https://developer.github.com/actions/creating-github-actions/creating-a-docker-container/上的文档,并有一个基本的工作流程,可以启动 Docker 容器并在内部运行一些构建命令WORKDIR. 我也可以在其中运行部署(通过 rsync)WORKDIR

但是,我想将其拆分为单独的步骤/操作,但我无法找到解决此问题的方法。

本质上,这类似于我正在使用的 CircleCI 工作/工作流模型。但是,使用 CircleCI,第一个作业会运行构建,然后在整个工作流程的其余部分中保留生成的目录结构,如下所示:

所以,我在这里将 CircleCI 的工作等同于 GitHub 的操作,这可能是错误的做法吗?本质上,我想知道的是我是否可以WORKDIR在第一个 Action 的 Docker 容器中持久化 a 并将其WORKDIR提供给后续的 Action。

这是可能的,还是我想象中的 GitHub Actions 可以做的事情还很遥远?

谢谢!

0 投票
1 回答
4916 浏览

github - 如何在 Github Actions 中获取 SECRETS 的值?

我正在尝试访问SECRETs 发送到 GitHub Action 的值,但我很挣扎。[FILTERED]无论键或原始值是什么,每次都会返回值。

我可以ENVIRONMENT VARIABLES毫无问题地访问,所以我一定在其他地方搞砸了。

本质上,我想要做的是向我的操作/容器发送一个 ssh 密钥,但是在发送任何其他密钥/值作为秘密时我会遇到同样的问题。

我的(简化的)GitHub Action 如下:

Dockerfile:

入口点.sh:

这三个cat命令的输出是:

如您所见,我可以获取(并使用)环境变量的值,但不会暴露秘密。

有人有任何线索吗?

只是为了更新这一点,我还简单地尝试在 entrypoint.sh 中回显两个不带引号的秘密:

...并且在日志中,我看到了$SSH_PRIVATE_KEY(即我的 ssh 密钥的实际内容)的完整解密内容,而$SSH_PUBLIC_KEY仍然返回[FILTERED]

所以,我可以假设我们能够看到一个动作中的秘密内容,但我不知道为什么我只能看到其中一个,而另一个返回[FILTERED]

它是一个缓存的东西,也许?

我只是想找出一种可预测的方式来处理这个问题。

0 投票
6 回答
32296 浏览

github - 如何在 GitHub 操作中缓存步骤?

假设我有一个包含 2 个步骤的 GitHub 操作工作流程。

  1. 下载并编译我的应用程序的依赖项。
  2. 编译并测试我的应用程序

我的依赖项很少更改,并且编译的依赖项可以安全地缓存,直到我下次更改指定其版本的锁定文件。

是否有一种方法可以保存第一步的结果,以便将来的工作流程可以跳过该步骤?

0 投票
3 回答
24796 浏览

github - 有没有办法通过 GitHub 操作推送更改?

这个问题指的是这个:https ://github.com/features/actions

我编写了一个 GitHub 操作来构建我的代码并创建一个生产包。我希望通过将更改提交到 origin/master 将其包含到我的存储库中。这似乎是 GitHub 操作的一个明显功能,但我在任何地方都找不到。如何使用 GitHub 操作提交更改并推送它们?