Для сборки проекта предусмотрена команда
npm run push_production
Весь проект собирается на GitHub Action.
В процессе выполнения запускается много всяких других команд, после чего весь проект заливается на прод, а в консоли выводится строчка:
Created version N.
Я хочу получить номер версии из вывода и создать соответствующий релиз на GitHub.
Я попробовал сделать следующим образом:
- id: push-production
run: echo "::set-output name=PUSH_RESULT::$(npm run push_production)"
shell: bash
- run: echo PUSH_RESULT:${{ steps.push-production.outputs.PUSH_RESULT }}
Но в консоли выводится только
PUSH_RESULT:
почему-то результат сборки не сохраняется в переменную, из которой позже можно было бы вытащить номер версии.
Полный action.yml
name: Deploy to Produtcion
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14.x
- run: npm ci
- name: Create credentials
env:
credentials: ${{ secrets.GOOGLE_CREDENTIALS }}
run: echo $credentials >> ~/.clasprc.json
- id: push-production
run: echo "::set-output name=PUSH_RESULT::$(npm run push_production)"
shell: bash
- run: echo PUSH_RESULT:${{ steps.push-production.outputs.PUSH_RESULT }}
- id: created-version
env:
PUSH_RESULT: ${{ steps.push-production.outputs.PUSH_RESULT }}
run: echo "::set-output name=CREATED_VERSION::$( $PUSH_RESULT | grep -oE "Created version [0-9]+" | grep -oE "[0-9]+")"
shell: bash
- run: echo CREATED_VERSION:${{ steps.created-version.outputs.CREATED_VERSION }}