Added CI files and readme

This commit is contained in:
andrewc
2023-01-12 14:39:25 +10:00
parent f3768bcee6
commit bbed40ccc5
3 changed files with 354 additions and 0 deletions

122
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,122 @@
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 ../default.kibot.yaml -d "../Fabrication/$DIR" -s
SUFFIX: ""
script:
- cd "$DIR"
- echo $COMMAND $SUFFIX | bash
dependencies: []
parallel:
matrix:
- DIR: '.'
SCHEM: 'proj.kicad_sch'
.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