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