「折腾」GitHub Actions 如何提取推送的 Tag

吐槽/反馈/建议:我的咸鱼心  爱发电-@wdssmq

使用 GitHub Actions 也有近两年了,然后今天发现了两个警告信息;

今天折腾的项目是这个:wdssmq/rollup-plugin-monkey: 使用 rollup 开发「GM_脚本」


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/

↑ 这个感觉需要研究一下,所以在此记录下,虽然实际发现只是照新的写法改一句就好……

工作流配置中的主要步骤如下,完整的配置文件见文末链接:

    steps:
      # Checkout
      - name: Checkout
        uses: actions/checkout@v3
      # Build Release
      - name: Copy && Gen ZIP
        env:
          PUB_NAME: ${{ env.PUB_NAME }}
        run: |
          # 这里用来生成 ${PUB_NAME}.tar.gz 文件
      # Get Tag For Release
      - name: Get Tag
        id: get_tag
        env:
          REF: ${{ github.ref }} # e.g. refs/tags/v1.0.0
        run: |
          TAG=${REF/refs\/tags\/v}
          echo "::set-output name=tag::${TAG}"
      # Publish Release
      - name: Publish Release
        id: release
        uses: softprops/action-gh-release@v1
        env:
          TAG: ${{ steps.get_tag.outputs.tag }} # 获取上一步截取到的版本号,既 1.0.0
        with:
          name: ${{ env.PUB_NAME }} Build ${{ env.TAG }}
          body: ${{ env.PUB_NAME }} Build ${{ env.TAG }} Release.
          files: ${{ env.PUB_NAME }}.tar.gz

功能概述为,在每次打 Tag 的时候,自动构建并发布 Release,同时提取 Tag 作为 Release 的版本号;

所以其中用于提取 Tag 的步骤为:

      # Get Tag For Release
      - name: Get Tag
        id: get_tag
        env:
          REF: ${{ github.ref }} # e.g. refs/tags/v1.0.0
        run: |
          TAG=${REF/refs\/tags\/v}
          echo "::set-output name=tag::${TAG}"

其中TAG=${REF/refs\/tags\/v}将变量REF中指定部分替换为空,然后将结果赋值给TAG${TAG}内容既为1.0.0

只是这个变量只在当前run区块内有效,需要将其导出以便后续步骤使用;

旧的导出命令如上,只是这种写法被废弃了……

↓ 新的写法:

      # Get Tag For Release
      - name: Get Tag
        id: get_tag
        env:
          REF: ${{ github.ref }} # e.g. refs/tags/v1.0.0
        run: |
          TAG=${REF/refs\/tags\/v}
          echo "tag=${TAG}" >> $GITHUB_OUTPUT

官方文档:Setting an output parameter

中文文档:设置输出参数

完整的工作流配置文件:wdssmq/rollup-plugin-monkey/blob/main/.github/workflows/push_def.yml

GitHub Actions 运行结果(旧):wdssmq/rollup-plugin-monkey/actions/runs/4051596042


爱发电

本文标题:《「折腾」GitHub Actions 如何提取推送的 Tag》作者:沉冰浮水
原文链接:https://www.wdssmq.com/post/20220706871.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

笑话 笑话 发布于 2010-12-20 14:35:28  
#cmt2856
哇哈哈,好有意思的游戏
回复
Suitear Suitear 发布于 2010-12-20 13:41:09  
#cmt2855
哈哈~我知道你在哪转的~早看过~
回复
悟天 悟天 发布于 2010-12-20 02:35:14  
#cmt2854
很强大啊~~
回复
小托 小托 发布于 2010-12-19 22:30:47  
#cmt2853
沙发。。。哈哈。。。沉冰 最近还好么
回复
发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类

  • 订阅本站的 RSS 2.0 新闻聚合

搜索

本周旧文

搬家也告一段落,虽然搬过来的东西还得归置,新衣柜虽说已经散俩月味儿了,但还是不想放衣服进去。

要不我每年汇总整理一次??碎雨集_沉冰浮水_第1页

所以,不带这条的话,2024 年目前只发了 13 条嘟????

VSCode 内 git 操作卡住的时候没办法主动取消一直是个痛点,一般都是推送或拉取,今天连提交都卡了。。

又一个夏天过去了,所以今年也没买防水鞋套;然后天凉了,为了应对踢被子买了睡袋,不知道 1.2 米会不会略窄。。

《五至七时的克莱奥》,2018 年 6 月加入列表,21 年 11 月底发现 B 站上线了这部,直到前几天才看完,还是分两次看的。。接下来有五项是 2019 年的,都是电影 —— 略长的待办列表。。

有用程序自动抓取自己带 tag 的嘟,然后按年备份后从线上删除;刚发现去年的数据有备份但是没删线上??和本地数据对比后发现线上的还少一条,Why??

本质上,每个人需要的是「让自己面临的问题得到解决」的能力。。

这又涉及到直接能力和间接能力,,缺乏直接能力很正常,视情况可以通过学习来掌握直接能力,或者「请」有直接能力的人来帮自己解决。。

缺乏间接能力的情况是真没救,尤其是对「这是**我自己**面临的问题」这一前提没有明确认知的人。。

其实,在认知意义上,焦虑时我知道这种情绪对应「焦虑」这个文法词汇,此外还有「压抑」「悲伤」等等,然而「抑郁」其实是个我认知体系外的词,虽然经常一些情绪感受我找不到对应的语言词汇来表述,却也只能将其实表述为「找不到对应的语言词汇来表述」的某些感受。。

所以,我所面对的问题又可以明确向哪里寻求帮助呢?

爱发电支持者

最新留言

友情链接