${{ secrets.GITHUB_TOKEN }}只有 1 小时时效
但我编译要 2 个小时,GITHUB_TOKEN 会失效。
我也尝试过自建 token,在项目的 Secrets 里面进行了添加;依旧不行。
Create Release
Run actions/create-release@v1
with:
tag_name: refs/tags/V1.0
release_name: Release refs/tags/V1.0
body: refs/tags/V1.0
draft: false
prerelease: false
env:
REPO_URL: https://github.com/coolsnowwolf/lede
REPO_BRANCH: master
CONFIG_FILE: .config
DIY_SH: diy.sh
FREE_UP_DISK: false
SSH_ACTIONS: false
UPLOAD_BIN_DIR: false
UPLOAD_FIRMWARE: true
TZ: Asia/Shanghai
FILE_NAME: OpenWrt-K2P-firmware
FIRMWARE: /home/runner/work/OpenWrt-K2P-firmware/OpenWrt-K2P-firmware/openwrt/bin/targets/ramips/mt7621
GITHUB_TOKEN: ***
##[error]Validation Failed
1
ODD10 OP ```yaml
- name: Create Release id: create_release uses: actions/create-release@v1 env: # 建议自建 TOKEN # 然后在项目的 [Settings-Secrets] 绑定 # https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets # GITHUB_TOKEN 好像有时效,1 小时后失效,会报错 [Bad credentials] GITHUB_TOKEN: ${{ secrets.RELEASES_TOKEN }} with: tag_name: ${{ github.ref }} # 触发工作流程运行的分支或标记 ref https://help.github.com/en/actions/reference/contexts-and-expression-syntax-for-github-actions#github-context release_name: Release ${{ github.ref }} body: ${{ github.ref }} draft: false prerelease: false ``` |
2
Trim21 2020-02-22 13:51:27 +08:00
试试换个环境变量的名字,不用`GITHUB_`开头
|
3
ODD10 OP |
5
Trim21 2020-02-22 14:00:26 +08:00
|
6
ODD10 OP @Trim21 #5
https://help.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables 才看到,我自建的使用新 env 名字的还在编译;完结再来反馈 |
7
ODD10 OP @Trim21 #5
但还有一个问题,如果 env 中不能用 GITHUB_TOKEN 使用自建 token,可能不会加密,别人就能在 actions 日志看到这个 token。猜测,待验证。 |
9
Kr98 2020-02-22 14:39:13 +08:00
只是检查 token 能不能用的话不需要 2 小时,跳过编译直接发布空的内容就够了,确定没问题之后再完整地跑。
GITHUB_TOKEN 这个名字是 actions/create-release@v1 要用的,你改成 super_secret 就不认了。 怀疑可能是 token 的权限没设置对? |
10
ODD10 OP |
11
ODD10 OP |
13
explorerman 2020-03-03 09:32:42 +08:00
楼主,问题解决了没。
|
14
ODD10 OP @explorerman #13
actions/create-release 使用自建 token,并且不存在已创建同名 release。是可以成功执行的。 |
15
explorerman 2020-03-03 15:03:37 +08:00
@ODD10 方便分享一下代码和设置截图(模糊处理敏感信息)不,邮箱 [email protected] ,谢谢。在项目 Secrets 里面添加 token,还是在个人账户的 Settings/Developer settings/Personal access tokens 里添加。如果在 Secrets 里添加,其值的长度和复杂程度有什么要求没哈。
这个问题困扰很久了,谢谢指导! |
16
ODD10 OP @explorerman #15
在项目 Secrets 里面添加的 token,日志都会打码***;个人账户的 Settings/Developer settings/Personal access tokens 只是给操作仓库等权限; Secrets 的大小好像有限制,64kb 还是多少来着,一般超不了。Secrets 可以开启 debug 日志等等,不一定存 token,比如存 docker 用户名、密码也是可以的。 |
17
explorerman 2020-03-03 22:48:11 +08:00
@ODD10 意思是,直接在在项目 Secrets 里面添加的 token 就好了是吧。
尝试自己建立的 secrets 处理 - name: Create release uses: softprops/action-gh-release@v1, env: LEO_TOKEN: ${{ secrets.LEO_TOKEN }} 但错误提示 Unexpected error fetching GitHub release for tag refs/heads/master: HttpError: Bad credentials |
18
explorerman 2020-03-03 23:05:03 +08:00
@ODD10 需要在 2 个地方同时设置不。
需要在个人账户 Settings/Developer settings/Personal access tokens 里,设置一个与项目 Secrets 里相同名称的 token 吗。如果是,项目 Secrets 里值要与 Personal access tokens 里产生的值,保持一致不。 谢谢~ |
19
ODD10 OP @explorerman #18
Secrets 的 token 名称是独立的,所以随便起,你自己知道是干嘛的就行。比如你要用 Settings/Developer settings/Personal access tokens 里面的 tokenA,值一定要是 tokenA 的值,Secrets 的字段名随便起。 |
20
explorerman 2020-03-03 23:34:48 +08:00
@ODD10 能否分享一下最后正确的代码哈,谢谢~
|
21
ODD10 OP @explorerman #20
GITHUB_TOKEN: ${{ secrets.RELEASES_TOKEN }} |
22
explorerman 2020-03-04 21:43:56 +08:00
@ODD10 我可能理解不太好,还不太清楚。可以这样理解不:
1、在个人账户 Settings/Developer settings/Personal access tokens 里建立一个 token,比如 AAA_TOKEN,产生一个值为 XXXX。 2、在项目 Secrets 里建立一个 BBB 的 secret,将其值确定为 XXXX ( AAA_TOKEN 的一串值)。 3、再在代码 code 里,做如下描述 - name: Create Release id: create_release uses: actions/create-release@v1 env:GITHUB_TOKEN: ${{ secrets.RELEASES_TOKEN }} 4、代码里要引用 AAA_TOKEN 或者 BBB 不。 最后能否有联系方式哈,想多请教下。我的邮箱 [email protected] 谢谢~ |
23
ODD10 OP @explorerman #22
secrets.RELEASES_TOKEN secrets secrets secrets secrets.RELEASES_TOKEN ———————————- 还不明白吗? 「 secrets.」这里接的就是 secrets 里面的字段名。RELEASES_TOKEN 就是我在 secrets 起的名字,只是用来做 github 发布编译固件文件的令牌票据。 secrets 就相当于 Object,里面放满了 ATOKEN、BTOKEN…… |
24
explorerman 2020-03-05 07:20:16 +08:00
@ODD10 谢谢帮助。
|