我得到了这个工作流程:
name: Build and Release
on:
push:
tags:
- "v*.*.*"
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
extensions: mbstring, zip
- name: Install PHP dependencies
run: composer install --no-interaction --prefer-dist
- name: Use Node.js 16.13.0
uses: actions/setup-node@v2
with:
node-version: 16.13.0
- name: Install required npm version
run: npm -g install [email protected]
- name: Install npm dependencies
run: npm ci
- name: Build assets
run: npm run build
- name: Create release zip
run: zip -r release.zip .
if: success()
- name: Upload release.zip to GitHub Releases
uses: softprops/action-gh-release@v1
with:
files: release.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
失败了
👩u200d🏭 正在为标签 v.0.5.0 创建新的 GitHub 版本... ⚠️ GitHub 发布失败,状态:403 不明确的 正在重试...(还剩 2 次重试)
我检查了https://github.com/softprops/action-gh-release/issues/236,是什么让我在我的工作流程中添加
permissions
,但错误仍然存在。
我的问题是:我错过了什么?应该允许该操作创建该版本?
如果目标是自动创建版本,那么使用 gh release create 命令会更容易,而不是调试一些随机操作。
特别是当 softprops/action-gh-release@v1 正在运行时 这个缩小版的 js,您的错误似乎来自 here,包装 此包的 此版本,带有 不适当的存储库标记链接到正在使用的 octokit 包的显式版本,以调试发布失败的原因。
你可以用以下方法达到同样的效果;
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: >-
gh release create ${{ github.ref_name }}
"release.zip#Whatever you want to call this artifact"
--generate-notes
--title "Version ${{ github.ref_name }} (or some other name)"
这不是关于 softprops/action-gh-release@v1 的规范答案,但它是使用 github cli 编写发布脚本的 GitHub-esque 方式。
我使用“gh release”命令遇到了同样的问题,真正的问题是关于权限的,要解决它,你必须在你的作业名称下添加作业的权限,例如:
...
jobs:
build:
permissions: write-all # this is the FIX
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
...