我的 GitHub 操作中嵌入的 shell 脚本的 YAML 语法有什么问题?
What's wrong with my YAML syntax for an embedded shell script in my GitHub action?
在我的 GitHub 操作 workflow 中,我有以下部分(在 jobs/build/steps 下):
- name: Install/Select GCC and G++
run: |
sudo apt-get install -y gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }}
echo "CC=/usr/bin/gcc-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "CXX=/usr/bin/g++-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "CUDAHOSTCXX=/usr/bin/g++-${{ matrix.gcc }}" >> $GITHUB_ENV
GitHub 无法 运行 发出:
Invalid workflow file
You have an error in your yaml syntax on line 82
现在,我从另一个存储库中提取了这个 same code 据说可以工作...发生了什么事?
这是相关行,从 68 开始,跳过了一些行:
steps:
- uses: actions/checkout@v2
- name: Install CUDA
# .. snip ..
- name: Install/Select GCC and G++
run: |
sudo apt-get install -y gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }}
echo "CC=/usr/bin/gcc-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "CXX=/usr/bin/g++-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "CUDAHOSTCXX=/usr/bin/g++-${{ matrix.gcc }}" >> $GITHUB_ENV
- name: CMake configure
steps:
是 YAML 映射的一部分。下一行开始一个 YAML 序列,它缩进了两个空格。因此,该序列在第 82 行以 - name: CMake configure
结束。我不知道为什么 GitHub 显示为第 83 行;如果您将其复制粘贴到编辑器,则该空行不存在。可能是行结束问题,但我懒得启动十六进制编辑器来找出答案。
无论如何,在第 82 行,YAML 解析器结束了映射键 steps
的值,因此需要另一个映射键或映射结束。但是,它找到了一个序列项。那是你的错误。
您似乎打算将以下序列项作为 steps:
的一部分。如果是这样,将它们缩进到与前面的项目相同的水平。
在我的 GitHub 操作 workflow 中,我有以下部分(在 jobs/build/steps 下):
- name: Install/Select GCC and G++
run: |
sudo apt-get install -y gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }}
echo "CC=/usr/bin/gcc-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "CXX=/usr/bin/g++-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "CUDAHOSTCXX=/usr/bin/g++-${{ matrix.gcc }}" >> $GITHUB_ENV
GitHub 无法 运行 发出:
Invalid workflow file
You have an error in your yaml syntax on line 82
现在,我从另一个存储库中提取了这个 same code 据说可以工作...发生了什么事?
这是相关行,从 68 开始,跳过了一些行:
steps:
- uses: actions/checkout@v2
- name: Install CUDA
# .. snip ..
- name: Install/Select GCC and G++
run: |
sudo apt-get install -y gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }}
echo "CC=/usr/bin/gcc-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "CXX=/usr/bin/g++-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "CUDAHOSTCXX=/usr/bin/g++-${{ matrix.gcc }}" >> $GITHUB_ENV
- name: CMake configure
steps:
是 YAML 映射的一部分。下一行开始一个 YAML 序列,它缩进了两个空格。因此,该序列在第 82 行以 - name: CMake configure
结束。我不知道为什么 GitHub 显示为第 83 行;如果您将其复制粘贴到编辑器,则该空行不存在。可能是行结束问题,但我懒得启动十六进制编辑器来找出答案。
无论如何,在第 82 行,YAML 解析器结束了映射键 steps
的值,因此需要另一个映射键或映射结束。但是,它找到了一个序列项。那是你的错误。
您似乎打算将以下序列项作为 steps:
的一部分。如果是这样,将它们缩进到与前面的项目相同的水平。