我正在尝试use_github_action_check_standard()从usethisR 包运行命令,以在 GitHub Actions 上的每次推送中检查我的包。
该测试在 Windows 和 MacOS 上运行没有问题,但对于这两个 Linux 版本,我的工作流程代码甚至在到达包代码之前就失败了。
\n当它尝试安装系统依赖项时失败,它给了我错误##[error]Process completed with exit code 1。
当我查看原始日志(如下)时,我注意到这一行:\n Cache not found for input keys: Linux-287c850eb370edd647ed85b6fac18cbaee02effa7d01b981304dce84a452b22c-1-, Linux--1-.\n但是我担心我不理解该错误。另外,我不认为是这样,因为密钥已经出现在上面的组中(注意 ),##[endgroup]但错误仅出现在下一组中(如屏幕截图所示)。
有任何想法吗?非常感谢!
\n我还在下面发布了我的整个工作流程代码。
\n2020-08-12T22:21:55.5243116Z ##[group]Run install.packages(\'remotes\')\n2020-08-12T22:21:55.5243360Z [36;1minstall.packages(\'remotes\')[0m\n2020-08-12T22:21:55.5243487Z [36;1msaveRDS(remotes::dev_package_deps(dependencies = TRUE), "../.github/depends.Rds", version = 2)[0m\n2020-08-12T22:21:55.5243834Z [36;1mwriteLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), "../.github/R-version")[0m\n2020-08-12T22:21:55.5250702Z shell: /usr/local/bin/Rscript {0}\n2020-08-12T22:21:55.5251247Z env:\n2020-08-12T22:21:55.5251370Z R_REMOTES_NO_ERRORS_FROM_WARNINGS: true\n2020-08-12T22:21:55.5251571Z RSPM: https://packagemanager.rstudio.com/cran/__linux__/focal/latest\n2020-08-12T22:21:55.5251726Z R_LIBS_USER: /home/runner/work/_temp/Library\n2020-08-12T22:21:55.5251838Z TZ: UTC\n2020-08-12T22:21:55.5251944Z NOT_CRAN: …Run Code Online (Sandbox Code Playgroud) GitHub Action“dotnet-tests-report”将包含测试结果的 Markdown 页面附加到 Github Action 工作流程运行摘要。这真的很好。工作流程完成后,结果会立即变得清晰。以视觉方式清晰。
它是开源的,但代码很复杂,所以我仍然不知道如何做到这一点。
我想要的是这样的:
我想从公共存储库的 GitHub 操作部署到 GitHub 包注册表。
我有一个用于工作流程的 yml 文件:
name: My CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install dependencies
run: lein deps
- name: Run tests
run: lein test
- name: Generate pom
run: lein pom
- name: Deploy
run: mvn deploy
Run Code Online (Sandbox Code Playgroud)
我使用 Leiningen 来构建项目并生成一个 POM 文件。然后我想使用 Maven 将工件部署到 GitHub 包注册表。
这在Deploy命令上失败(我已用 替换了个人信息...):
[WARNING] Could not transfer metadata ... from/to github (https://maven.pkg.github.com/.../...): Not authorized
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] …Run Code Online (Sandbox Code Playgroud) 我有一些带有测试的 PHP 代码,这些代码运行使用PHPUnit并希望在GitHub Actions. 我在他们的文档中找不到测试 PHP 包的方法。我想使用不同版本的 PHP 进行测试,但他们只安装了最新7.3版本。
我正在尝试使用 Github Actions 构建一个 macOS 应用程序。这已经很有效了,直到我将我的依赖项迁移到 Swift Package Manager。现在我在构建我的应用程序时收到以下错误:
xcodebuild: error: Could not resolve package dependencies:
The server SSH fingerprint failed to verify.
我有一个私有 GitHub 存储库作为我的应用程序中的依赖项,使用 ssh 位置添加为 Swift 包。因此,我需要在Set up ssh-agent步骤中为依赖项添加我的 ssh 密钥。在一个步骤中手动克隆存储库git clone工作正常,但我需要让它与 xcodebuild 一起使用才能成功构建我的应用程序。
name: Main
on:
push:
tags:
- 'v*.*.*'
jobs:
build:
name: Release
runs-on: macOS-latest
steps:
- name: Checkout
uses: actions/checkout@master
with:
fetch-depth: 1
- name: Set up ssh-agent
uses: yakuhzi/action-ssh-agent@v1
with:
public: ${{ secrets.SSH_PUBLIC_KEY }}
private: ${{ secrets.SSH_PRIVATE_KEY }} …Run Code Online (Sandbox Code Playgroud) 我正在尝试if在 github 操作中的条件中使用环境变量,如下所示:
name: Worfklow
on:
push
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: EXIT step
if: $GITHUB_REF == 'specific-branch'
run: exit 1
Run Code Online (Sandbox Code Playgroud)
如果当前分支等于特定分支,我想退出。
不幸的是,github 操作控制台显示错误:
Unexpected symbol: '$GITHUB_REF'
Run Code Online (Sandbox Code Playgroud)
我可以$GITHUB_REF在 a run:(它包含当前分支的地方)中使用,但不能在if:. 我究竟做错了什么?
在 GitHub 中创建发布后,我会触发 GitHub 操作。在此操作中,我想从发布中获取一些数据,这可能吗?例如,我想获取标签,然后使用这个标签作为NuGet包版本。有没有办法从工作中获取这些数据?
很容易在任何推送或拉取请求上运行 GitHub 操作:
# Triggers the workflow on push or pull request events
on: [push, pull_request]
Run Code Online (Sandbox Code Playgroud)
但是,如果我想将运行限制为针对特定基本引用打开的拉取请求,同时允许在所有分支上运行怎么办?
我想过这个:
on:
push:
branches:
- "*"
pull_request:
branches:
- "develop"
- "staging"
Run Code Online (Sandbox Code Playgroud)
但它没有用。我把这个 Action 添加到了一个特性分支,GitHub 没有接。
我的球有什么问题吗?为什么“*”不起作用?
我正在使用 GitHub Actions 部署到 Azure。在这个项目中,我使用我们自己的私有存储库,该存储库托管在 GitHub 上。这些存储库将在构建期间安装,它们的链接存储在 中requirements.txt,例如:
git+ssh://git@github.com/org-name/package-name.git
Run Code Online (Sandbox Code Playgroud)
在本地,安装需求没有问题,因为我可以通过 SSH 访问这些私有存储库。但是我如何在 GitHub 操作中构建期间访问这些内容。
我收到错误:
Collecting git+ssh://****@github.com/org-name/package-name.git (from -r requirements.txt (line 1))
Cloning ssh://****@github.com/org-nam/package-name.git to /tmp/pip-req-build-9nud9608
ERROR: Command errored out with exit status 128: git clone -q 'ssh://****@github.com/org-name/package-name.git' /tmp/pip-req-build-9nud9608 Check the logs for full command output.
Error: Process completed with exit code 1.
Run Code Online (Sandbox Code Playgroud)
这是有道理的,因为它是一个私人存储库。
在 GitHub文档中,它指出机密的优先级从低到高 ( Environment> Repository> Organization),它还指出Organization机密可用于组织中的所有存储库。但它没有说明任何关于Environment和Repository秘密的东西。
我的问题是:
Environment和Repositorysecret和有什么不一样?Environment什么时候应该使用秘密?Repository什么时候应该使用秘密?continuous-integration github environment-variables continuous-deployment github-actions
github-actions ×10
github ×6
devops ×1
github-api ×1
glob ×1
linux ×1
maven ×1
php ×1
r ×1
r-usethis ×1
release ×1
ssh ×1
xcode ×1
xcodebuild ×1
yaml ×1