「折腾」GitHub Actions 如何提取推送的 Tag
条评论使用 GitHub Actions 也有近两年了,然后今天发现了两个警告信息;
Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: actions/checkout@v2. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.
↑ 这个好解决,actions/checkout@v2
更新为actions/checkout@v3
就好;
The
set-output
command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
↑ 这个感觉需要研究一下,所以在此记录下,虽然实际发现只是照新的写法改一句就好……
工作流配置中的主要步骤如下,完整的配置文件见文末链接:
1 | steps: |
功能概述为,在每次打 Tag 的时候,自动构建并发布 Release,同时提取 Tag 作为 Release 的版本号;
所以其中用于提取 Tag 的步骤为:
1 | # Get Tag For Release |
其中TAG=${REF/refs\/tags\/v}
将变量REF
中指定部分替换为空,然后将结果赋值给TAG
,${TAG}
内容既为1.0.0
;
只是这个变量只在当前run
区块内有效,需要将其导出以便后续步骤使用;
旧的导出命令如上,只是这种写法被废弃了……
↓ 新的写法:
1 | # Get Tag For Release |
官方文档:Setting an output parameter
中文文档:设置输出参数
完整的工作流配置文件:wdssmq/rollup-plugin-monkey/blob/main/.github/workflows/push_def.yml
GitHub Actions 运行结果(旧):wdssmq/rollup-plugin-monkey/actions/runs/4051596042