SPQ*_*Inc 6 continuous-integration github continuous-deployment github-actions
我得到了这个工作流程:
\nname: Build and Release\n\non:\n push:\n tags:\n - "v*.*.*"\n\npermissions:\n contents: write\n\njobs:\n build:\n runs-on: ubuntu-latest\n\n steps:\n - name: Checkout code\n uses: actions/checkout@v2\n\n - name: Install PHP\n uses: shivammathur/setup-php@v2\n with:\n php-version: \'8.2\'\n extensions: mbstring, zip\n\n - name: Install PHP dependencies\n run: composer install --no-interaction --prefer-dist\n\n - name: Use Node.js 16.13.0\n uses: actions/setup-node@v2\n with:\n node-version: 16.13.0\n\n - name: Install required npm version\n run: npm -g install npm@8.5.5\n\n - name: Install npm dependencies\n run: npm ci\n\n - name: Build assets\n run: npm run build\n\n - name: Create release zip\n run: zip -r release.zip .\n if: success()\n\n - name: Upload release.zip to GitHub Releases\n uses: softprops/action-gh-release@v1\n with:\n files: release.zip\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\nRun Code Online (Sandbox Code Playgroud)\n这失败了
\n\n\n\xe2\x80\x8d 为标签 v.0.5.0 创建新的 GitHub 版本...\n\xe2\x9a\xa0\xef\xb8\x8f GitHub 版本失败,状态:403\nundefined\n重试... (2剩余重试次数)
\n
我检查了https://github.com/softprops/action-gh-release/issues/236,什么让我在我的工作流程中添加了permissions,但错误仍然存在。
我的问题是:我错过了什么?应该允许该操作来创建该版本?
\n如果目标是自动创建版本,那么使用gh release create命令会比调试一些随机操作要容易得多。
特别是当softprops/action-gh-release@v1运行这个缩小的 js时,您的错误似乎来自这里,包装此版本的包,没有足够的存储库标记来链接到 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)"
Run Code Online (Sandbox Code Playgroud)
这不是关于softprops/action-gh-release@v1的规范答案,但它是使用 github cli 编写版本脚本的GitHub 式方式。
编辑添加: permissions
虽然最初的问题已经尝试指定权限,但无论权限如何仍然存在问题,以向其他发帖者澄清;gh release create需要contents获得许可write。您可以指定整个工作流程或仅指定作业;
permissions:
contents: write
Run Code Online (Sandbox Code Playgroud)
但请注意,仅指定一项权限会将未指定的权限设置为none,因此,如果您正在执行需要其他权限的其他操作,则还必须指定这些权限。
| 归档时间: |
|
| 查看次数: |
1991 次 |
| 最近记录: |