标签: github-actions

Github 操作问题 - 错误:进程已完成,退出代码 2

我有以下一段用于 github 操作的代码:

name: Python application

on:
  push:
    branches: [ main ]

jobs: 
  build: 
  
    runs-on: ubuntu-latest
    
    steps: 
    - uses: actions/checkout@v2
    - name: Install dependencies 
      run: /
        python -m pip install --upgrade pip
        python -m pip install numpy pytest
        if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
    - name: Test Selenium
      run: /
        python -m pytest -v -m devs
Run Code Online (Sandbox Code Playgroud)

但是当我提交并且操作开始运行时,我收到此错误:

Run / python -m pip install --upgrade pip python -m pip install numpy pytest if [ -f requirements.txt …
Run Code Online (Sandbox Code Playgroud)

python selenium github-actions

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

在 GitHub Actions 矩阵中仅生成一次测试覆盖率报告

我有一个测试套件,想使用 GitHub Actions 以矩阵策略运行。我想为我的测试生成代码覆盖率报告,但仅限于单个矩阵项。

这是我正在处理的操作的副本:

name: test
on: [pull_request, workflow_dispatch]
jobs:
  run_tests:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [14.x, 16.x]
    steps:
      - uses: actions/checkout@v2
        name: Test Node.js ${{ matrix.node-version }}
      - uses: actions/setup-node@v2
        with:
          node-version: ${{ matrix.node-version }}
      - run: npm install --production=false
      - run: npm test -- --coverage ## I would prefer to only generate coverage once
      - name: Upload to Codecov     ## I would like to only run this once
        run: |
          curl -Os https://uploader.codecov.io/latest/linux/codecov …
Run Code Online (Sandbox Code Playgroud)

codecov github-actions

5
推荐指数
1
解决办法
586
查看次数

Github 操作无需提交,工作树干净

我有一个 git 操作,我必须确保是否没有任何内容要添加,然后不提交或推送。

但我如何检查是否有需要添加和提交的内容(如有必要)。

这是我目前的做法的一个例子:

在此输入图像描述

on:
  push:
    branches:
      - testing

name: Build
jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        name: Check out current commit

      - name: Install
        run: npm install

      - name: Build
        run: npm run build

      - name: Commit
        run: |
          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
          git config --local user.name "github-actions[bot]"
          git add .
          git commit -m "Build" -a

      - name: Push
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branch: ${{ github.ref }}
Run Code Online (Sandbox Code Playgroud)

yaml action commit github github-actions

5
推荐指数
2
解决办法
2483
查看次数

Github 操作如何访问输入

在此输入图像描述

on: 
  workflow_dispatch:
    inputs:
      logLevel:
        description: 'Log level'     
        required: true
        default: 'warning'
      tags:
        description: 'Test scenario tags'
Run Code Online (Sandbox Code Playgroud)

我有以下输入:

  • 我想使用哪个分支
  • 输入字段

如何访问我输入的信息,然后在 github 操作脚本中使用它?

yaml action github github-actions

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

如何访问徽章中的 GitHub 操作输出

我有一个输出数字的 GitHub 操作工作流程,我想将其显示在徽章中。

使用https://github.com/username/reponame/actions/workflows/myaction.yml/badge.svg我得到一个红色或绿色的失败/成功徽章,但我想显示失败的数量,工作流将其输出到其中“错误”输出变量。

如何访问徽章中的该变量?

badge github-actions

5
推荐指数
1
解决办法
1703
查看次数

尝试使用 jq 解析 GitHub Actions 工作流程中的 terraform 输出时出现解析错误

我有一个 GitHub Actions 工作流程,可以从 terraform 配置读取输出。我正在尝试这样做:

terraform -chdir=terraform/live/dev output -json > /tmp/output.json

APP_URL=$(cat /tmp/output.json | jq -r '.app_url.value')
Run Code Online (Sandbox Code Playgroud)

我在 GitHub 操作日志中收到以下错误:

parse error: Invalid numeric literal at line 1, column 9
Run Code Online (Sandbox Code Playgroud)

我添加了以下内容来调试:

parse error: Invalid numeric literal at line 1, column 9
Run Code Online (Sandbox Code Playgroud)

我发现输出是cat /tmp/output.json

# debugging output.json file
echo "output.json:"
cat /tmp/output.json
Run Code Online (Sandbox Code Playgroud)

这告诉我jq无法解析我写入 terraform JSON 输出的临时文件,因为它似乎将命令添加到文件本身:

/home/runner/work/_temp/2b622f60-be99-4a29-a295-593b06dde9a8/terraform-bin -chdir=terraform/live/dev output -json
{
  "app_url": {
    "sensitive": false,
    "type": "string",
    "value": "https://app.example.com"
  }
}
Run Code Online (Sandbox Code Playgroud)

如何获取 JSON 形式的 terraform 输出并将其写入文件,而不使用导致解析错误的额外标题行? …

jq terraform github-actions

5
推荐指数
2
解决办法
1973
查看次数

从文件创建 GitHub Actions 选择输入选项

现在,我们正在运行手动工作流程,以便将我们的产品部署到生产中。我们只有一项输入,就可以选择需要部署的品牌。

它包括像这样的选项

on:
  workflow_dispatch:
    inputs:
      dst:
        type: choice
        description: Select destination brand
        required: true
        options:
          - A
          - B
          - C
Run Code Online (Sandbox Code Playgroud)

等等。

是否可以从文件(例如我们项目中的文本文件)读取这些选项?我看了看,但没有看到其他人的解决方案。

github github-actions

5
推荐指数
1
解决办法
4064
查看次数

根据标签有条件地防止分支合并

我的团队使用无法访问草稿拉取请求的私有分支,但我仍然至少希望有一种方法可以防止合并拉取请求,同时它们应用了自定义标签,例如“草稿”或“WIP”。

有没有办法建立自定义所需的状态检查来检查该标签或使用 GitHub 操作使 PR 无效,直到标签被删除或类似的事情?

github github-actions

5
推荐指数
1
解决办法
3477
查看次数

Github actions 如何在合并到master时只运行一个步骤

我几个小时以来一直在努力解决这个问题,但我找不到任何帮助。我正在尝试设置一个 github 操作,该操作将对每个到 master 的拉取请求以及对 master 分支的任何更改运行测试,但仅在 master 分支发生更改时运行部署步骤。

这是我正在尝试做的事情的简单再现。

name: Main
on:
  push:
    branches:
      - "main"
  pull_request:
    branches:
      - "main"
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Test
        run: echo "running tests"
      - name: Deploy
        run: echo "Deploying"
        if: github.head_ref == 'main'
Run Code Online (Sandbox Code Playgroud)

我尝试了在这里/其他论坛上找到的多个条件,我尝试移动if上面和下面的语句,run我完全没有想法。我尝试过的所有操作要么在拉取请求和合并上运行部署步骤,要么在拉取请求和合并上跳过部署步骤。

github-actions

5
推荐指数
1
解决办法
6424
查看次数

如何防止 GitHub 项目问题在合并/关闭拉取请求时自动关闭?

我正在使用 GitHub 中的一个项目(新)的板。当拉取请求中有一个问题链接到它并且我关闭拉取请求(使用拉取请求页面底部的 GitHub 按钮)时,问题也会关闭。
我不希望出现这种行为,即使这是该问题的唯一 PR。

我尝试更改项目工作流程设置,删除“拉取请求”“is:已关闭”触发器:

在此输入图像描述

初始状态:Issue 和 PR 均已开放:
在此输入图像描述

合并 PR 到 master: 在此输入图像描述

结果:
在此输入图像描述

该问题也已关闭! 在此输入图像描述

github github-actions

5
推荐指数
0
解决办法
1477
查看次数

标签 统计

github-actions ×10

github ×5

action ×2

yaml ×2

badge ×1

codecov ×1

commit ×1

jq ×1

python ×1

selenium ×1

terraform ×1