Skip to content

BUILD_ON_DEMAND

BUILD_ON_DEMAND #308

name: BUILD_ON_DEMAND
on:
workflow_dispatch:
inputs:
buildName:
description: 'Name of the build'
required: true
linkedDependencies:
description: 'Dependencies to link from GitHub (format: bpmn-js#develop,dmn-js#9.0.0)'
default: ''
jobs:
build:
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-2022 ]
runs-on: ${{ matrix.os }}
env:
ON_DEMAND: true
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Link dependencies
env:
LINKED_DEPENDENCIES: "${{ github.event.inputs.linkedDependencies }}"
run: npm run link-dependencies
- name: Build distro (Linux)
if: ${{ runner.OS == 'Linux' }}
env:
BUILD_NAME: "${{ github.event.inputs.buildName }}"
AWS_ACCESS_KEY_ID: "${{ secrets.AWS_ON_DEMAND_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.AWS_ON_DEMAND_SECRET_ACCESS_KEY }}"
AWS_REGION: "${{ secrets.AWS_ON_DEMAND_REGION }}"
AWS_BUCKET: "${{ secrets.AWS_ON_DEMAND_BUCKET }}"
CSC_LINK: "${{ secrets.CSC_LINK }}"
CSC_KEY_PASSWORD: "${{ secrets.CSC_KEY_PASSWORD }}"
run: npm run build -- --linux --publish --on-demand
- name: Build distro (MacOS)
if: ${{ runner.os == 'macOS' }}
env:
BUILD_NAME: "${{ github.event.inputs.buildName }}"
AWS_ACCESS_KEY_ID: "${{ secrets.AWS_ON_DEMAND_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.AWS_ON_DEMAND_SECRET_ACCESS_KEY }}"
AWS_REGION: "${{ secrets.AWS_ON_DEMAND_REGION }}"
AWS_BUCKET: "${{ secrets.AWS_ON_DEMAND_BUCKET }}"
APPLE_DEVELOPER_ID: "${{ secrets.APPLE_DEVELOPER_ID }}"
APPLE_DEVELOPER_ID_PASSWORD: "${{ secrets.APPLE_DEVELOPER_ID_PASSWORD }}"
APPLE_TEAM_ID: "${{ secrets.APPLE_TEAM_ID }}"
CSC_LINK: "${{ secrets.CSC_LINK }}"
CSC_KEY_PASSWORD: "${{ secrets.CSC_KEY_PASSWORD }}"
run: npm run build -- --mac --publish --on-demand
- name: Build distro (Windows)
if: ${{ runner.os == 'Windows' }}
env:
BUILD_NAME: "${{ github.event.inputs.buildName }}"
AWS_ACCESS_KEY_ID: "${{ secrets.AWS_ON_DEMAND_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.AWS_ON_DEMAND_SECRET_ACCESS_KEY }}"
AWS_REGION: "${{ secrets.AWS_ON_DEMAND_REGION }}"
AWS_BUCKET: "${{ secrets.AWS_ON_DEMAND_BUCKET }}"
run: npm run build -- --win --publish --on-demand