Github Actions 有人用么,求指导如何实现一个自动 release 的 workflow

MajestySolor 15天前 28

当一个新的 tag push 到特定分支时自动 release,release 名字为该新 tag,并且将上一个 tag 到当前 tag 之间的 commit message 自动写入 release note

比如说远程代码库最新 tag 是 v2.0
当我将一个新的 v2.1 tag push 到 master 时 自动触发 release
release title 是新 tag 也就是 v2.1
release note 是 v2.0 到 v2.1 之间的 commit message

在 actions market 里逛了好久,各种相关的 action 都尝试了下,没有符合我心意的
想自己写,但那语法条件逻辑实在是太复杂了
求大佬指导
最新回复 (13)
  • vcheckzen 11天前
    引用 2
    调调 API 就行了
  • ODD10 11天前
    引用 3
    我记得大部分 action 都是 create-release 和 upload-release 都是分开的,我在 create-release 先写 note,之后 upload-release 再上传文件即可。
  • ODD10 11天前
    引用 4
    https://github.com/id77/OpenWrt-K2P-firmware/blob/master/.github/workflows/build-openwrt.yml

    我分开写的
    https://i.loli.net/2020/07/30/gvfXhlez8ZYLFQ6.jpg
  • imzcg2 11天前
    引用 5
    目测 travis 可以轻松完成任务
  • 楼主 MajestySolor 11天前
    引用 6
    @ODD10 #2 请问你的脚本 create release 这一步里面的 ${{ env.useVersionInfo }} 这个环境变量是怎么来的呢,我就是不明白怎么设置这些变量
  • Trim21 11天前
    引用 7
    这些环境变量有三个来源。一个你在 yaml 里面写的,一个是 actions 自带的一些 github.ref 之类的变量,还有一个是输出特定命令到 stdout 也可以设置环境变量。具体的 logging command 的格式我忘了,GitHub 的文档有写。
  • bitdust 11天前
    引用 8
    提问:为什么这类 CI 的构建脚本都这么难用?
    我理解作为一种 DSL,CI 系统需要解决的问题和一般的脚本语言不一样
    但写 yml 描述构建过程实在是太坑爹了吧
    makefile 都比这些玩意人性化一些,
    以后会出现更好用的 CI 脚本语言吗?
  • ODD10 11天前
    引用 9
    @MajestySolor #5
    每个 steps 都有一个 env,你们看我在上面赋值吗?
    https://i.loli.net/2020/07/30/2CskupRytUe9wjF.jpg
  • MintZX 11天前
    引用 10
    我是 ruby 开发,我用的这个小工具 https://github.com/jstastny/publish-gem-to-github

    你可以自己根据语言开发一个
  • wangxiaoer 11天前
    引用 11
    这些 Action 的执行环境在哪里?跟 gitlab-runner 一样需要自己部署一个 runner 吗?
  • tyx1703 11天前
    引用 12
    https://github.com/actions/create-release#example-workflow---create-a-release

    这个 action 可以根据 tag 自动在 github release
  • 楼主 MajestySolor 11天前
    引用 13
    @bitdust #7 哈哈,确实难用,我这几天已经看晕了
  • 楼主 MajestySolor 11天前
    引用 14
    @ODD10 #8 太感谢了,终于学会怎么设置读取环境变量了,按你这个做法我可以直接设置读取 tag 和 message,感谢感谢。
  • 游客
    15
返回