| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- stages:
- - build
- - test
- - deploy
- workflow:
- rules:
- - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push"
- when: never
- - if: "$CI_COMMIT_BRANCH"
- variables:
- STM32_CUBE_F4_REPO: https://github.com/STMicroelectronics/STM32CubeF4
- STM32_CUBE_F4_REPO_TAG: v1.26.2
- ARM_TOOLCHAIN_URL: https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2?revision=05382cca-1721-44e1-ae19-1e7c3dc96118&la=en&hash=D7C9D18FCA2DD9F894FD9F3C3DC9228498FA281A
- QEMU_PATH: /opt/qemu/bin/qemu-system-xtensa
- .build_idf_template:
- stage: build
- image: espressif/idf:latest
- tags:
- - build
- - internet
- variables:
- PEDANTIC_FLAGS: "-Werror -Werror=deprecated-declarations -Werror=unused-variable -Werror=unused-but-set-variable -Werror=unused-function"
- EXTRA_CFLAGS: "${PEDANTIC_FLAGS}"
- EXTRA_CXXFLAGS: "${PEDANTIC_FLAGS}"
- script:
- - cd $CI_PROJECT_DIR/examples/esp32_example
- - idf.py build -DMD5_ENABLED=1
- - idf.py build -DMD5_ENABLED=0
- build_idf_v3.3:
- extends: .build_idf_template
- image: espressif/idf:release-v3.3
- build_idf_v4.1:
- extends: .build_idf_template
- image: espressif/idf:release-v4.1
- build_idf_v4.2:
- extends: .build_idf_template
- image: espressif/idf:release-v4.2
- build_idf_v4.3:
- extends: .build_idf_template
- image: espressif/idf:release-v4.3
- build_idf_v4.4:
- extends: .build_idf_template
- image: espressif/idf:release-v4.4
- build_idf_master:
- extends: .build_idf_template
- image: espressif/idf:latest
- build_stm32:
- stage: build
- # IDF is not necessary for STM32 build, but this image is already used in another job
- # and it comes with a recent enough CMake version.
- image: espressif/idf:latest
- tags:
- - build
- - internet
- script:
- - cd $CI_PROJECT_DIR
- - git submodule update --init
- - git clone --depth=1 -b ${STM32_CUBE_F4_REPO_TAG} ${STM32_CUBE_F4_REPO}
- - wget --no-verbose -O gcc-arm-none-eabi.tar.bz2 ${ARM_TOOLCHAIN_URL}
- - tar -xjf gcc-arm-none-eabi.tar.bz2
- - mv gcc-arm-none-eabi-* gcc-arm-none-eabi
- - mkdir $CI_PROJECT_DIR/examples/stm32_example/build
- - cd $CI_PROJECT_DIR/examples/stm32_example/build
- - cmake -DTOOLCHAIN_PREFIX=$CI_PROJECT_DIR/gcc-arm-none-eabi -DSTM32Cube_DIR=$CI_PROJECT_DIR/STM32CubeF4 -G Ninja ..
- - cmake --build .
- run_tests:
- stage: test
- image: ${CI_DOCKER_REGISTRY}/qemu:esp-develop-20191124
- tags:
- - build
- - internet
- script:
- - cd $CI_PROJECT_DIR/test
- - export QEMU_PATH=/opt/qemu/bin/qemu-system-xtensa
- - ./run_test.sh qemu
- - ./run_test.sh host
- push_to_the_components_registry:
- stage: deploy
- image: python:3.10-alpine
- tags:
- - build
- - internet
- rules:
- - if: '$CI_COMMIT_BRANCH == "master"'
- - if: '$FORCE_PUSH_COMPONENT == "1"'
- script:
- - pip install idf-component-manager
- - python -m idf_component_manager upload-component --allow-existing --name=esp-serial-flasher --namespace=espressif
|