Dᴀʀ*_*ᴅᴇʀ 14 github github-actions building-github-actions
基于提交消息构建 GitHub 操作 我尝试根据提交消息是否包含特定字符串来制定步骤,将其设置为变量,然后在下一步中检查条件。
我目前的行动实施有效:
name: Smoke Test
on:
push:
branches:
- main
permissions:
contents: read
issues: write
jobs:
smoking:
runs-on: [ubuntu-latest]
steps:
- name: Run smoke tests
if: ${{ !contains(github.event.head_commit.message, 'smoke_test') }}
run: |
echo 'Smoke Test not requested'
exit 1
stuff:
needs: smoking
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: JasonEtco/create-an-issue@v2
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
with:
filename: .github/ISSUE_TEMPLATE/smoke-test.md
id: create-issue
- run: 'echo Created issue number ${{ steps.create-issue.outputs.number }}'
- run: 'echo Created ${{ steps.create-issue.outputs.url }}'
Run Code Online (Sandbox Code Playgroud)
但随着实施:
exit 1
Run Code Online (Sandbox Code Playgroud)
导致该操作在操作面板中指示错误,虽然该方法有效,但在技术上并不准确,因为我不需要它出错,我只是不想运行其余步骤。
我尝试设置一个变量:
if: ${{ contains(github.event.head_commit.message, 'smoke_test') }}
with:
run-smoke-test: true
run: |
echo 'Smoke Test requested'
Run Code Online (Sandbox Code Playgroud)
但它不会进入下一步。
在不依赖另一个 GitHub 操作的情况下,是否有一种方法smoking可以一步一步设置该步骤stuff在运行该步骤之前需要验证的环境变量?
name: Smoke Test
on:
push:
branches:
- main
permissions:
contents: read
issues: write
jobs:
commitMessage:
runs-on: ubuntu-latest
outputs:
output1: ${{ steps.isSmoke.outputs.test }}
steps:
- id: isSmoke
if: ${{ contains(github.event.head_commit.message, 'smoke_test') }}
run: echo "::set-output name=test::true"
smokeTest:
runs-on: ubuntu-latest
needs: commitMessage
steps:
- uses: actions/checkout@v2
- uses: JasonEtco/create-an-issue@v2
if: steps.isSmoke.output.test == true
env:
GITHUB_TOKEN: ${{ secrets.DEV_TOKEN }}
with:
filename: .github/ISSUE_TEMPLATE/smoke-test.md
Run Code Online (Sandbox Code Playgroud)
smoke_test但是当使用提交消息时它会绕过create-an-issue:
我在阅读“根据输出条件运行 github actions 步骤”并阅读以下内容后根据我的条件:
条件是否可以出现在步骤之前和/或基于上一步运行步骤的正确方法是什么?
| 归档时间: |
|
| 查看次数: |
33159 次 |
| 最近记录: |