У меня есть рабочий процесс для CI в monorepo, для этого рабочего процесса в конечном итоге создаются два проекта. Задания работают нормально, однако мне интересно, есть ли способ удалить дублирование в этом файле workflow.yml с настройкой бегуна для задания. Я разделил их так, чтобы они работали параллельно, поскольку они не полагаются друг на друга и быстрее завершаются. Это большая разница во времени за 5 минут по сравнению с 10+, когда ожидание окончания CI sh.
jobs:
job1:
name: PT.W Build
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v1
- name: Setup SSH-Agent
uses: webfactory/ssh-agent@v0.2.0
with:
ssh-private-key: |
${{ secrets.SSH_PRIVATE_KEY }}
- name: Setup JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Setup Permobil-Client
run: |
echo no | npm i -g nativescript
tns usage-reporting disable
tns error-reporting disable
npm run setup.all
- name: Build PT.W Android
run: |
cd apps/wear/pushtracker
tns build android --env.uglify
job2:
name: SD.W Build
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v1
- name: Setup SSH-Agent
uses: webfactory/ssh-agent@v0.2.0
with:
ssh-private-key: |
${{ secrets.SSH_PRIVATE_KEY }}
- name: Setup JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Setup Permobil-Client
run: |
echo no | npm i -g nativescript
tns usage-reporting disable
tns error-reporting disable
npm run setup.all
- name: Build SD.W Android
run: |
cd apps/wear/smartdrive
tns build android --env.uglify
Здесь вы видите, что задания имеют почти идентичный процесс, это просто создание сами разные приложения. Мне интересно, есть ли способ взять дубликаты блоков в заданиях и создать способ написать их только один раз и повторно использовать в обоих заданиях.