arm/.gitlab-ci.yml

105 lines
2.2 KiB
YAML

### Gitlab CI/CD example for KiCad
stages:
- boards
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
variables:
SCHEMATICS: "true"
GIT_DEPTH: 1
clone:
stage: .pre
script:
- echo "Git repo pre-fetching"
.kicad-pipeline:
stage: boards
trigger:
include: .kicad-pipeline.yml
strategy: depend
rules: !reference [.default_rules, rules]
.default_rules:
rules:
- changes:
- "${FOLDER}/*"
- ".gitlab-ci.yml"
- ".kicad-pipeline.yml"
when: on_success
# Boards for building
# !!! PACKAGE NAMES SHOULD BE WITHOUT SPACES !!!
3phase_Motor_Controller_70mm:
variables:
PACKAGE_NAME: '3phaseMotorController70mm-PCB'
FOLDER: 'brd/3phaseMotorController70mm'
extends: .kicad-pipeline
AngleSensorActiveBrd:
variables:
PACKAGE_NAME: 'Angle-sensor-active-PCB'
FOLDER: 'brd/ScaleBoard70mm/active_msr_brd_2'
extends: .kicad-pipeline
AngleSensorPassiveBrd:
variables:
PACKAGE_NAME: 'Angle-sensor-passive-PCB'
FOLDER: 'brd/ScaleBoard70mm/passive_msr_brd_2'
SCHEMATICS: "false"
extends: .kicad-pipeline
ForkMainConnBrd:
variables:
PACKAGE_NAME: 'ForkMainConnBrd'
FOLDER: 'brd/ForkMainConnBrd'
extends: .kicad-pipeline
ForkUpSlicerHolder:
variables:
PACKAGE_NAME: 'ForkUpSlicerHolder'
FOLDER: 'brd/ForkUpSlicerHolder'
extends: .kicad-pipeline
LinkMiddleConnBrd:
variables:
PACKAGE_NAME: 'LinkMiddleConnBrd'
FOLDER: 'brd/LinkMiddleConnBrd'
extends: .kicad-pipeline
LinkStartConnectionBrd:
variables:
PACKAGE_NAME: 'LinkStartConnectionBrd'
FOLDER: 'brd/LinkStartConnectionBrd'
extends: .kicad-pipeline
LinkUpperConnectBrd:
variables:
PACKAGE_NAME: 'LinkUpperConnectBrd'
FOLDER: 'brd/LinkUpperConnectBrd'
extends: .kicad-pipeline
SlidingContactMain:
variables:
PACKAGE_NAME: 'SlidingContactMain'
FOLDER: 'brd/SlidingContactMain'
extends: .kicad-pipeline
StackCommBrd:
variables:
PACKAGE_NAME: 'StackCommBrd'
FOLDER: 'brd/StackCommBrd'
extends: .kicad-pipeline
StackMainBoard:
variables:
PACKAGE_NAME: 'StackMainBoard'
FOLDER: 'brd/StackMainBoard'
extends: .kicad-pipeline