# Use the latest 2.1 version of CircleCI pipeline process engine. # See: https://circleci.com/docs/configuration-reference version: 2.1 parameters: run_build: type: boolean default: false environment: type: string default: "m5stack-atom" build_flags: type: string default: "" orbs: python: circleci/python@1.4.0 # Define a job to be invoked later in a workflow. # See: https://circleci.com/docs/configuration-reference/#jobs jobs: pio-build: executor: python/default # Add steps to the job # See: https://circleci.com/docs/configuration-reference/#steps environment: PLATFORMIO_BUILD_FLAGS: << pipeline.parameters.build_flags >> steps: - checkout - run: name: "platformio install" command: "pip install --upgrade platformio" - run: name: "build" command: "pio run -e << pipeline.parameters.environment >>" - store_artifacts: path: .pio/build/<< pipeline.parameters.environment >>/firmware.bin destination: << pipeline.parameters.environment >>-update.bin - store_artifacts: path: .pio/build/<< pipeline.parameters.environment >>/<< pipeline.parameters.environment >>-all.bin destination: << pipeline.parameters.environment >>-all.bin # Orchestrate jobs using workflows # See: https://circleci.com/docs/configuration-reference/#workflows workflows: build-workflow: when: << pipeline.parameters.run_build >> jobs: - pio-build