我正在尝试使用for循环运行下面的工作流程,其中包含if条件,但是操作被解析为一个错误,我的错误是什么?
工作流程:
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
analysis:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Cpp Check
run: sudo apt-get install cppcheck
- name: Run Static Analysis
run: cppcheck . --force --error-exitcode=1
unit_test:
# needs: Scan_changes
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Ruby
run: sudo apt-get install ruby
- name: Setup Ceedling
run: sudo gem install ceedling
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
with:
dir_names: true
files: |
code/**
- name: Unit Test for Changed modules
run: |
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
if: contains('$file', 'SomeString')
echo "$file was changed"
done
- name: Test
run: |
ceedling
输出是

所以我不确定前置循环中if条件的比例是多少
发布于 2022-11-28 15:31:45
无效的bash脚本代码。你应该做这样的事情:
- name: Unit Test for Changed modules
run: |
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
if [[ $file =~ "SomeString" ]]; then
echo "$file was changed"
fi
donehttps://stackoverflow.com/questions/74602174
复制相似问题