我希望能够让操作在除 master 之外的任何给定分支上运行。我知道有一个预先构建的filter动作,但我想要的是完全相反的。
更像是 GitLab 的except关键字。由于这不在官方文档中,是否有人准备了一个像样的解决方法?
非常感谢。
基于提交消息构建 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) 我想在工作级别使用环境变量。有办法做到吗?
env:
stageEnv: UAT
jobs:
name: Upload Build
if: ${{ env.stageEnv == 'UAT' }}
steps:
....
Run Code Online (Sandbox Code Playgroud)
我收到无法识别的命名值:'env'错误。尝试了 $stageEnv 和 ${{ env.stageEnv }}
注意:当我在“步骤”内访问时它可以工作,但希望可以在“作业”级别访问它。