76 lines
1.7 KiB
YAML
76 lines
1.7 KiB
YAML
version: 2.1
|
|
|
|
# Required for dynamic configuration
|
|
setup: true
|
|
|
|
# Orbs
|
|
orbs:
|
|
path-filtering: circleci/path-filtering@0.1.0
|
|
continuation: circleci/continuation@0.2.0
|
|
|
|
# All input parameters to pass to build config
|
|
parameters:
|
|
run-docs-only:
|
|
type: boolean
|
|
default: false
|
|
|
|
upload-to-storage:
|
|
type: string
|
|
default: '1'
|
|
|
|
run-build-linux:
|
|
type: boolean
|
|
default: false
|
|
|
|
run-build-mac:
|
|
type: boolean
|
|
default: false
|
|
|
|
run-linux-publish:
|
|
type: boolean
|
|
default: false
|
|
|
|
linux-publish-arch-limit:
|
|
type: enum
|
|
default: all
|
|
enum: ["all", "arm", "arm64", "x64", "ia32"]
|
|
|
|
run-macos-publish:
|
|
type: boolean
|
|
default: false
|
|
|
|
macos-publish-arch-limit:
|
|
type: enum
|
|
default: all
|
|
enum: ["all", "osx-x64", "osx-arm64", "mas-x64", "mas-arm64"]
|
|
|
|
jobs:
|
|
generate-config:
|
|
docker:
|
|
- image: cimg/node:16.14
|
|
steps:
|
|
- checkout
|
|
- path-filtering/set-parameters:
|
|
base-revision: main
|
|
mapping: |
|
|
^((?!docs/).)*$ run-build-mac true
|
|
^((?!docs/).)*$ run-build-linux true
|
|
docs/.* run-docs-only true
|
|
^((?!docs/).)*$ run-docs-only false
|
|
- run:
|
|
command: |
|
|
cd .circleci/config
|
|
yarn
|
|
export CIRCLECI_BINARY="$HOME/circleci"
|
|
curl -fLSs https://raw.githubusercontent.com/CircleCI-Public/circleci-cli/main/install.sh | DESTDIR=$CIRCLECI_BINARY bash
|
|
node build.js
|
|
name: Pack config.yml
|
|
- continuation/continue:
|
|
configuration_path: .circleci/config-staging/built.yml
|
|
parameters: /tmp/pipeline-parameters.json
|
|
|
|
# Initial setup workflow
|
|
workflows:
|
|
setup:
|
|
jobs:
|
|
- generate-config
|