Files
kicad-ci/.gitlab-ci.yml
ac 40737327a0 CI updated to actually work with multi schem projs
Git submodules tested and working using .gitmodules file
Made test template
2023-01-18 18:25:49 +10:00

121 lines
2.2 KiB
YAML

workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
when: never
- if: $CI_COMMIT_BRANCH
stages:
- run_erc
- run_drc
- gen_mech
- mech_out
- gen_fab
- fab_out
image:
name: ghcr.io/inti-cmnb/kicad6_auto:1.3.0
.main_rules:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
- if: $CI_COMMIT_BRANCH == "main"
.dev_rules:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "dev"'
- if: $CI_COMMIT_BRANCH == "dev"
.template:
rules:
- !reference [.main_rules, rules]
variables:
COMMAND: kibot -e "$SCHEM" -c "$CI_PROJECT_DIR/default.kibot.yaml" -d "$CI_PROJECT_DIR/Fabrication/$DIR" -s
SUFFIX: ""
script:
- cd "$DIR"
- echo $COMMAND $SUFFIX | bash
dependencies: []
parallel:
matrix:
.tempout:
extends: .template
artifacts:
when: always
expire_in: 2 mins
paths:
- Fabrication/
.temprc:
extends: .template
rules:
- !reference [.main_rules, rules]
- !reference [.dev_rules, rules]
.tempcoll:
rules:
- !reference [.main_rules, rules]
script:
- ls Fabrication/
artifacts:
when: always
paths:
- Fabrication/
erc:
extends: .temprc
stage: run_erc
variables:
SUFFIX: update_xml,run_drc -i
drc:
extends: .temprc
stage: run_drc
variables:
SUFFIX: update_xml,run_erc -i
cad_outputs:
extends: .tempout
rules:
- !reference [.main_rules, rules]
- !reference [.dev_rules, rules]
stage: gen_mech
variables:
SUFFIX: run_drc step
mech_outputs:
extends: .tempcoll
rules:
- !reference [.main_rules, rules]
- !reference [.dev_rules, rules]
stage: mech_out
dependencies:
- cad_outputs
sch_outputs:
extends: .tempout
stage: gen_fab
variables:
SUFFIX: run_drc,run_erc print_sch
pcb_outputs:
extends: .tempout
stage: gen_fab
variables:
SUFFIX: all print_front JLCPCB_fab assembly step
bom:
extends: .tempout
stage: gen_fab
variables:
SUFFIX: all bom
fab_outputs:
extends: .tempcoll
stage: fab_out
dependencies:
- sch_outputs
- pcb_outputs
- bom