Как мне продвинуть версию npm с помощью действий на Github?

#github-actions

Вопрос:

У меня есть следующий рабочий процесс на github…

 name: My workflow
on:
  push:
    branches:
      - 'feature/**'

jobs:
  build:
    name: Install
    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os: [ ubuntu-latest ]
        node: [ 16 ]

    steps:
      - name: Checkout service-core
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
          persist-credentials: false

      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v2
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'npm'

      - name: Install Dependencies
        run: npm ci

      - name: Reconfigure git to use HTTP authentication
        run: >
          git config --global url."https://my-user:${{ secrets.USER_TOKEN }}@github.com/".insteadOf
          ssh://git@github.com/

      - name: Setup Vals
        run: |
          git config --global user.email "my-user@me.com"
          git config --global user.name "my-user"

      - name: Version app
        run: npm version patch

      - name: Commit version
        run: |
          git show
          git push
 

Когда я запускаю, я вижу обновление…

  diff --git a/package.json b/package.json
index 6469a04..5545f7c 100644
--- a/package.json
    b/package.json
@@ -1,6  1,6 @@
 {
-  "version": "0.0.1",
   "version": "0.0.2",
   "main": "index.js",
   "directories": {
 

Но когда он пытается надавить, я вижу…

фатально: не удалось прочитать имя пользователя для ‘https://github.com»: Такого устройства или адреса нет

Что я упускаю, почему он не видит имя пользователя?

Ответ №1:

Вы клонируете репозиторий следующим образом:

 - name: Checkout service-core
  uses: actions/checkout@v2
  with:
    fetch-depth: 0
    persist-credentials: false
 

указывает, что учетные данные не будут сохранены, но вам необходимо знать учетные данные для нажатия.

Вы можете либо удалить persist-credentials: false , либо нажать с помощью ${{ secrets.GITHUB_TOKEN }} :

 git push "https://${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}" "${{ github.head_ref }}"
 

Комментарии:

1. Я думал, что конфигурация git —глобальный URL.» мой-пользователь:$ {{ секреты. USER_TOKEN }}@github.com/».Вместо этого я бы тоже справился с этим, но я думаю, что нет.