Мы используем GitHub Action для автоматической публикации sh нашего приложения. Для этого мы вызываем semanti c -релиз в нашем конвейере CI и затем генерируем двоичные файлы с строитель-электрон на следующем шаге. Нам нужны двоичные файлы для MacOS, Windows и Linux. К сожалению, для этого нам нужны две разные работы, так как одна из нас должна работать на macos-latest (чтобы подписать сборку MacOS), а другая на ubuntu-latest (потому что сборка Linux не работает на macos-latest. .. некоторые проблемы с преобразованием основного значка).
Возникающая проблема заключается в том, что шаг semantic-release
в первом задании обновляет package.json
и передает изменения в репозиторий GitHub. Затем он создает двоичные файлы MacOS и Windows. После этого начинается задание Linux, проверяется хранилище и создаются его двоичные файлы. Тем не менее, он по-прежнему работает со старым номером версии (тот, что был до semanti c -release, создал новую версию).
Как убедиться, что второе задание действительно имеет ревизию репозитория git, которая была загружена в первом задании?
Это файл yaml для действия (удалены сопоставления переменных среды ):
name: Release
on:
push:
branches:
- master
jobs:
release:
runs-on: macos-latest
strategy:
matrix:
node-version: [10.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: install
run: npm ci
- name: Release
run: npm run semantic-release || true
- name: Build
run: npm run build
- name: Publish macOS
run: npm run publish:mac
- name: Publish Windows
run: npm run publish:win
release-linux:
needs: release
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: install
run: npm ci
- name: Release
run: npm run semantic-release || true
- name: Build
run: npm run build
- name: Install Snapcraft
uses: samuelmeuli/action-snapcraft@v1
with:
snapcraft_token: ${{ secrets.snapcraft_token }}
- name: Publish Linux
run: npm run publish:linux