在 github 操作中保存步骤变量不起作用
Save step variable in github action not working
我已经按照现有的在线文档提出了在下面的步骤中保存变量 file_size
的代码,但是它总是空白,即使有可用的文件,我做错了什么?
- name: Get modified files
id: files
uses: umani/changed-files@v3.3.0
with:
repo-token: ${{ github.token }}
pattern: '^src.*\.(py)$'
result-encoding: 'string'
- name: Check files size
id: file_check
run: |
echo ::set-output name=file_size::$(printf "%s" "${{ steps.files.outputs.files_updated }} ${{ steps.files.outputs.files_created }}" | wc -m)
echo 'MESSAGE<<EOF' >> $GITHUB_ENV
echo "No valid file found, skipped" >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- name: Lint with pylint
if: steps.vars.file_check.file_size > 1
这是 运行 结果:
bash命令是正确的,我在网上试过:
这意味着变量没有保存在 github 操作中,怎么会?
好的,修复了:
- name: Check files size
id: file_check
run: |
echo "file_size="$(printf "%s" "${{ steps.files.outputs.files_updated }} ${{ steps.files.outputs.files_created }}" | wc -m) >> $GITHUB_ENV
echo 'MESSAGE=No valid file found, skipped' >> $GITHUB_ENV
您需要将值传递给$GITHUB_ENV
像这样:
echo "file_size="$(printf "%s" "${{ steps.files.outputs.files_updated }} ${{ steps.files.outputs.files_created }}" | wc -m) >> $GITHUB_ENV
否则该值将不会保留。
我已经按照现有的在线文档提出了在下面的步骤中保存变量 file_size
的代码,但是它总是空白,即使有可用的文件,我做错了什么?
- name: Get modified files
id: files
uses: umani/changed-files@v3.3.0
with:
repo-token: ${{ github.token }}
pattern: '^src.*\.(py)$'
result-encoding: 'string'
- name: Check files size
id: file_check
run: |
echo ::set-output name=file_size::$(printf "%s" "${{ steps.files.outputs.files_updated }} ${{ steps.files.outputs.files_created }}" | wc -m)
echo 'MESSAGE<<EOF' >> $GITHUB_ENV
echo "No valid file found, skipped" >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- name: Lint with pylint
if: steps.vars.file_check.file_size > 1
这是 运行 结果:
bash命令是正确的,我在网上试过:
这意味着变量没有保存在 github 操作中,怎么会?
好的,修复了:
- name: Check files size
id: file_check
run: |
echo "file_size="$(printf "%s" "${{ steps.files.outputs.files_updated }} ${{ steps.files.outputs.files_created }}" | wc -m) >> $GITHUB_ENV
echo 'MESSAGE=No valid file found, skipped' >> $GITHUB_ENV
您需要将值传递给$GITHUB_ENV
像这样:
echo "file_size="$(printf "%s" "${{ steps.files.outputs.files_updated }} ${{ steps.files.outputs.files_created }}" | wc -m) >> $GITHUB_ENV
否则该值将不会保留。