标签: github-actions

检查环境变量是否为空

检查 Github 操作上的环境变量是否为空作为步骤条件的最好方法是什么?我尝试过这种简单的方法,但似乎不起作用。

例如:

name: SimpleWorkflow

on:
  push:   

env:
  MULTI_LINE_ARG: |
  ARG1: value
jobs:
  update:
    runs-on: ubuntu-latest
    steps:
      - name: Fetching Local Repository
        uses: actions/checkout@master
      - name: run step if multiline not null
        if: ${{env.MULTI_LINE_ARG}} != ""
        run: echo multiline not null     
Run Code Online (Sandbox Code Playgroud)

无论我如何尝试,我都无法正确检查 env 是否为空。

github-actions

17
推荐指数
1
解决办法
3万
查看次数

当拉取请求基础分支更新时如何重新运行 Github Actions 工作流程

当拉取请求的基础分支推送了新代码时,是否可以触发 Github Actions 工作流程?

举例说明:拉取请求分支是feature1,基础是development,那么当PR打开后开发分支用新代码更新时,是否可以触发feature1分支PR上的工作流程?

github pull-request github-actions

17
推荐指数
1
解决办法
3698
查看次数

Github 检查 API、检查运行、检查套件

我想了解 Github Checks API,以便我可以使用它们来检索数据。在以下 Github 文档https://docs.github.com/en/rest/guides/getting-started-with-the-checks-api上,我能够得出检查运行与更改的 sha 相关联,并且在每个创建分支检查套件上的提交。检查 API 有助于获取所有这些信息。但我希望更清楚地了解其中三个的差异。谁能用简单的例子和​​术语解释这三个术语?

github-api github-actions

17
推荐指数
1
解决办法
4382
查看次数

有没有办法限制操作可以在哪个分支上运行?

手动运行 github 操作时,我可以选择针对哪个分支运行它。对于某些行动来说,这似乎是一个坏主意。特别是按照以下方式进行的操作DeployToProduction- 我只希望它针对分支运行main

有什么方法可以限制它只运行main- 同时仍然手动触发操作?

我的手动触发操作的示例可能如下所示:

---
name: DeployToStaging
on:
  workflow_dispatch:
jobs: 
  ...
Run Code Online (Sandbox Code Playgroud)

github-actions

17
推荐指数
2
解决办法
9259
查看次数

跳过上一个作业时 Github 操作作业会触发

在设置 GitHub 操作来构建和部署应用程序时,我遇到了以下问题。

我想在以下条件下部署我的网络应用程序。然而,wheneverdeploy-apideploy-syncskipdeploy-web也会被跳过。我认为我的 if 条件会捕获这种情况并仍然运行,deploy-web但事实并非如此。感觉就像我错过了一些明显但无法识别的东西。

deploy-web:
  name: Deploy Web
  runs-on: ubuntu-latest
  needs: [build-and-publish-web, deploy-api, deploy-sync]
  if: |
    needs.build-and-publish-web.result == 'success' &&
    (needs.deploy-api.result == 'success' || needs.deploy-api.result == 'skipped') &&
    (needs.deploy-sync.result == 'success' || needs.deploy-sync.result == 'skipped')
Run Code Online (Sandbox Code Playgroud)

github-actions

17
推荐指数
2
解决办法
1万
查看次数

无权对资源执行:sts:TagSession:***

我正在尝试运行 GitHub 操作以在临时服务器上的 AWS 上进行数据库迁移。

name: db migration for stg.

on:
  push:
    branches:
      - staging
    paths:
      - api/db/migrate/**

jobs:
  migration:
    name: DB Migration
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Configure AWS credentials
    uses: aws-actions/configure-aws-credentials@v1
    with:
      aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
      aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
      role-to-assume: ${{ secrets.AWS_ASSUME_ROLE_ARN_STG }}
      role-duration-seconds: 1200
      aws-region: ap-northeast-1
     - uses: ruby/setup-ruby@v1
     with:
      ruby-version: '2.7.2'
     - name: ssh configure
       env:
         SSH_SECRET_KEY: ${{ secrets.SSH_SECRET_KEY }}
       run: |
         mkdir -p ~/.ssh && touch ~/.ssh/config
         echo 'host i-* mi-*' …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services github-actions

17
推荐指数
1
解决办法
2万
查看次数

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

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

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

github github-actions

16
推荐指数
2
解决办法
1万
查看次数

使用 GitHub 操作从私有 GitHub 存储库安装 npm 模块

我正在尝试使用 GitHub 操作为 Node.js 项目运行构建。作为 的一部分npm install,我需要直接从私有 GitHub 存储库(而不是来自 GPR!)安装 npm 模块。

package.json我有:

"dependencies": {
  ...
  "my-module": "github:<org>/<my-module>#master",
  ...
},
Run Code Online (Sandbox Code Playgroud)

但是,在运行时npm install,我得到:

npm 错误!git@github.com:权限被拒绝(公钥)。npm 错误!致命:无法从远程存储库读取。

存储库是我自己组织的一部分,它在本地(即从我的机器)工作。我怎样才能让这个运行?

我已经尝试设置NODE_AUTH_TOKEN环境变量,但没有任何区别。尽管您经常发现此建议,但它似乎只针对 GPR。我想避免的是必须将令牌硬编码到package.json文件中。对此有何想法?

github node.js npm github-actions

16
推荐指数
3
解决办法
5397
查看次数

Github 操作失败:安装 R-CMD-Check 的系统依赖项时进程已完成,退出代码为 1

我正在尝试use_github_action_check_standard()usethisR 包运行命令,以在 GitHub Actions 上的每次推送中检查我的包。

\n

该测试在 Windows 和 MacOS 上运行没有问题,但对于这两个 Linux 版本,我的工作流程代码甚至在到达包代码之前就失败了。

\n

当它尝试安装系统依赖项时失败,它给了我错误##[error]Process completed with exit code 1

\n

当我查看原始日志(如下)时,我注意到这一行:\n Cache not found for input keys: Linux-287c850eb370edd647ed85b6fac18cbaee02effa7d01b981304dce84a452b22c-1-, Linux--1-.\n但是我担心我不理解该错误。另外,我不认为是这样,因为密钥已经出现在上面的组中(注意 ),##[endgroup]但错误仅出现在下一组中(如屏幕截图所示)。

\n

有任何想法吗?非常感谢!

\n

我还在下面发布了我的整个工作流程代码。

\n

截屏

\n

在此输入图像描述

\n

原始日志

\n
2020-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)

linux r github github-actions r-usethis

16
推荐指数
1
解决办法
8万
查看次数

GitHub Actions 缓存 Rust 工件

使用 GitHub Actions,在使用 Rust 的cargo.

我怀疑我忘记了以下代码中的某些内容,这里可能有什么问题?

编辑:如果您想查看的话,这是日志!

name: Rust

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - name: Cargo Cache
      uses: actions/cache@v1
      with:
        path: ~/.cargo
        key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}-${{ hashFiles('**/Cargo.lock') }}
        restore-keys: |
          ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}
          ${{ runner.os }}-cargo

    - name: Cargo Target Cache
      uses: actions/cache@v1
      with:
        path: target
        key: ${{ runner.os }}-cargo-target-${{ hashFiles('**/Cargo.toml') }}-${{ hashFiles('**/Cargo.lock') }}
        restore-keys: |
          ${{ runner.os …
Run Code Online (Sandbox Code Playgroud)

rust github-actions

16
推荐指数
2
解决办法
5610
查看次数