Auto: GitHub Action gagal menemukan NPM_TOKEN

Dibuat pada 22 Feb 2021  ·  6Komentar  ·  Sumber: intuit/auto

Saya mencoba beralih dari penerbitan langsung ke npm (yang berfungsi dengan baik) ke menggunakan Paket GitHub dengan nama paket cakupan organisasi.

Saya telah mengubah nama paket saya di package.json , menambahkan publishConfig misalnya

"publishConfig": {
    "registry": "https://npm.pkg.github.com"
  },

Dan mengubah langkah Tindakan saya untuk menggunakan NODE_AUTH_TOKEN alih-alih NPM_TOKEN sesuai dengan dokumen, tetapi ketika saya menggabungkan cabang dan memicu tindakan saya mendapatkan peringatan berikut dan paket tidak pernah diterbitkan (meskipun versi tag dan changelog diperbarui, jadi yang mengganggu tidak ditandai sebagai proses yang gagal):

 ✔  success   Wrote authentication token string to /home/runner/.npmrc
⚠  warning   Error: Failed to replace env in config: ${NPM_TOKEN}

NPM_TOKEN diatur dalam Rahasia repositori saya di GitHub.

Inilah pengaturan Tindakan:

name: Publish

on:
  push:
    branches: [main]

jobs:
  release:
    runs-on: ubuntu-latest

    # this check needs to be in place to prevent a publish loop with auto and github actions
    if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'skip ci')"

    steps:
      - uses: actions/checkout<strong i="19">@v2</strong>
        with:
          # Needed for branch protection override
          token: ${{ secrets.GITHUB_TOKEN }}

      - name: Prepare repository
        run: git fetch --unshallow --tags

      - name: Use Node.js 12.x
        uses: actions/setup-node<strong i="20">@v1</strong>
        with:
          node-version: 12.x

      - name: Cache node modules
        uses: actions/cache<strong i="21">@v2</strong>
        with:
          path: node_modules
          key: node-modules-${{ hashFiles('package-lock.json') }}
          restore-keys: |
            node-modules-${{ hashFiles('package-lock.json') }}

      - name: Create release
        env
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
        run: |
          npm ci
          npm run build
          npm run release
question released

Semua 6 komentar

Ada instruksi tambahan untuk memublikasikan ke registri paket GitHub.

Anda perlu menggunakan token GitHub Anda untuk memublikasikan karena Anda tidak lagi memublikasikan ke NPM

NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Berikut adalah contoh repo tempat ia bekerja.

@hipstersmoothie Banyak terima kasih atas bantuannya. Saya melihat dokumen telah diperbarui sejak saya awalnya mengatur Action, tetapi sepertinya mereka masih belum menyertakan semua langkah. Saya harus menambahkan baris-baris ini ke pengaturan Node saya juga (diperhatikan di repo demo Anda):

with:
          node-version: 14.x
          registry-url: 'https://npm.pkg.github.com'
          scope: '<strong i="7">@whiteorg</strong>'

Saya juga masih melihat pesan peringatan NPM_TOKEN. Menambahkannya kembali sebagai rahasia lingkungan tampaknya telah memperbaikinya yaitu

- name: Create release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

Akhirnya, dengan semua pengaturan itu, saya dapat menggabungkan PR dan membuat Auto melakukannya, merilis paket baru dan memperbarui versi/changelog

Namun saya telah menonaktifkan perlindungan cabang saat bermain-main; mengaktifkannya kembali menyebabkan kesalahan baru di mana setiap kali Auto mencoba melakukan pembaruan versi, itu akan gagal. Saya telah mengatasinya dengan menambahkan token GitHub pribadi baru dan merujuknya sebagai rahasia, alih-alih default GITHUB_SECRET , seperti:

- uses: actions/checkout<strong i="17">@v2</strong>
        with:
          # Needed for branch protection override
          token: ${{ secrets.GH_ADMIN_TOKEN }}

Sepertinya bukan solusi terbaik, jadi jika ada yang tahu solusi yang lebih baik, saya akan menghargainya. Atau, saya pikir dokumen mungkin perlu diperbarui di sini: https://intuit.github.io/auto/docs/build-platforms/github-actions#running -with-branch-protection

Saya telah membuat PR untuk meningkatkan dokumen itu. Maukah Anda meninjau #1828?

Ditinjau, beberapa saran kecil tetapi semuanya terlihat bagus Sekali lagi terima kasih atas semua bantuan Anda


:rocket: Masalah dirilis di v10.16.8 :rocket:

Apakah halaman ini membantu?
0 / 5 - 0 peringkat