github actions发布gem包突然开始失败



我曾经使用以下GitHub Actions将gem包发布到GitHub packages,并且它总是成功的。

name: Deploy to Github Packages
on:
release:
types:
- published
env:
ORGANIZATION: MYGITHUBNAME
RELEASE_TAG_NAME: ${{ github.event.release.tag_name }}
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up JDK 8
uses: actions/setup-java@v3
with:
java-version: 8
distribution: temurin
- name: gradlew build
run: |
VERSION=$(echo $RELEASE_TAG_NAME | sed -E 's/(v)(.*)/2/')
./gradlew gem -Pversion=$VERSION
- name: Set up Ruby
uses: actions/setup-ruby@v1
with:
ruby-version: 3.0
- name: Setup Release Credentials
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 600 $HOME/.gem/credentials
echo "---" >$HOME/.gem/credentials
echo ":github: Bearer ${GITHUB_TOKEN}" >> $HOME/.gem/credentials
- name: Publish Gem to GitHub Packages
run: |
PACKAGE=$(find build/gems -type f | sort | tail -n 1)
gem push --KEY github --host https://rubygems.pkg.github.com/${ORGANIZATION} ${PACKAGE}`

然而,在我今天创建的存储库中,它突然停止工作了。而且,当我在现有的存储库中创建它时,它会成功。

失败时的错误信息是:

Pushing gem to https://rubygems.pkg.github.com/MYGITHUBNAME...
Your request could not be authenticated by the GitHub Packages service. Please ensure your access token is valid and has the appropriate scopes configured.
Error: Process completed with exit code 1.

当我使用PAT从本地环境中推送gem时,它成功了,但是它没有出现在中";

如果有人知道是什么原因造成的,请让我知道。谢谢你。

  • 统一存储库和gem名称(失败)
  • 我克隆了gem push成功的存储库,并尝试使用不同的存储库和Gem名称(失败)

问题解决了!

显然,一个名为工作流权限的项已添加到存储库的Settings > Actions > General中,并且看起来现有存储库具有读和写权限,但新存储库具有只读权限,因此出现permission denied错误。

将其更改为Read and Write后,我就可以推送包了。如果这个信息不正确,请有人更正一下。谢谢你。

最新更新