相关疑难解决方法(0)

如何在 Github Actions 中失败?

我正在开发 Github 操作工作流。此工作流在 Linux、Mac 和 Windows 上运行。

作为工作流程的一部分,我必须检查 2 个环境变量是否相等。如果他们不这样做 - 失败的工作。

如上所述这里,Github上操作支持if:条件:

steps:
- run: # How can I make a cross-platform failure here?
  if: ${{ envA }} != ${{ envB }}
Run Code Online (Sandbox Code Playgroud)

如果上述条件为真,我怎样才能使工作失败?一开始,我想到了一个脚本,但必须有一个更优雅的方式来失败一个工作。

github github-actions

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

github-action:IF 有 ELSE 吗?

在 github 操作中,我有一个 if,但如果我处于 else 情况下,我仍然需要运行其他东西。有没有一种干净的方法来做到这一点,或者我是否必须在 false 的相同条件下执行另一个步骤?

 - if: contains(['SNAPSHOT'],env.BUILD_VERSION)
   name:IF
   run: echo ":)"
 - if: false == contains(['SNAPSHOT'], env.BUILD_VERSION)
   name: Else
   run: echo ":("
Run Code Online (Sandbox Code Playgroud)

github-actions

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

Github Actions - 在一个动作完成后触发另一个动作

我有一个操作(一个yaml文件)用于将 docker 映像部署到 Google Cloud Run。

我想接收通知构建和推送结果的 Slack 或电子邮件消息。

构建操作完成后如何触发消息操作?

是否有可能获得构建操作的结果?

github github-actions

21
推荐指数
4
解决办法
1万
查看次数

在 github 操作中使用环境变量,如果

我正在尝试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-actions

15
推荐指数
3
解决办法
8073
查看次数

如何在两个连续的 GitHub Actions 作业之间传递变量?

我正在尝试编写一个工作流程,让标签创建工作流程填充我的 GitHub 项目版本。

我已经知道如何创建版本(使用actions/create-release@v1.0.0)以及如何在版本中推送工件(使用actions/upload-release-asset)。

但是,由于我正在构建 Rust 代码,因此我必须在不同的平台上编译它。显然,为此,我在每个平台上都有一份工作,并且我正在努力将我的工件推向该工作。

但为了让推送工作,我必须使用 给出的发布标识符actions/create-release@v1.0.0,它在另一个作业中运行。

因此我的问题是:如何将发布 URL 从发布创建作业传递到将推送工件的作业?

完整的工作流程可以在这里找到:https://github.com/Riduidel/rrss2imap/blob/master/.github/workflows/on_tag.yml

我把它复制在这里

name: Push release artifacts on tag

on:
  push:
    tags:
      - '[0-9]+.[0-9]+.[0-9]+'

jobs:
  Make_GitHub_Release:
    name: Create Release
    runs-on: ubuntu-latest
    steps:
      - name: Create Release
        id: create_release
        uses: actions/create-release@v1.0.0
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          draft: true
          prerelease: false
  Standard_OS_build:
    name: Build on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix: …
Run Code Online (Sandbox Code Playgroud)

continuous-integration release github github-actions

6
推荐指数
1
解决办法
8429
查看次数

如何根据输出条件运行 Github Action 的步骤?

如果有超过 100 个 flake8 错误,我想对 PR 发表评论,但它不会禁用合并按钮。

我的方法是这样的:

name: Flake8 Check
on:  [pull_request]

jobs:
  flake8:
    name: Flake8 Check
    runs-on: ubuntu-latest

    steps:
      - name: Check out code
        uses: actions/checkout@v2

      - name: Install Python
        uses: actions/setup-python@v1
        with:
          python-version: 3.6

      - name: Install dependency
        run: pip install flake8

      - name: Flake8
        id: flake
        run: echo "::set-output name=number::$(flake8 --config=tools/dev/.flake8 --count -qq)"


      - name: comment PR
        uses: unsplash/comment-on-pr@master
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          msg: "There are ${{ steps.flake.outputs.number }} Flake8 errors which is a …
Run Code Online (Sandbox Code Playgroud)

python flake8 github-actions

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