.gitlab-ci.yml 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. stages:
  2. - build
  3. - test
  4. variables:
  5. IDF_REPO: https://gitlab-ci-token:${CI_JOB_TOKEN}@${IDF_MIRROR_HOST}/espressif/esp-idf.git
  6. STM32_CUBE_F4_REPO: https://github.com/STMicroelectronics/STM32CubeF4
  7. SERIAL_FLASHER_REPO: ${GITLAB_SSH_SERVER}/espressif/esp-serial-flasher.git
  8. QEMU_PATH: /opt/qemu/bin/qemu-system-xtensa
  9. .clone_and_setup_idf: &clone_and_setup_idf |
  10. git clone "${IDF_REPO}"
  11. cd esp-idf
  12. tools/idf_tools.py --non-interactive install all && eval "$(tools/idf_tools.py --non-interactive export)" || exit 1
  13. git submodule update --init
  14. export IDF_PATH=$(pwd)
  15. .clone_and_setup_stm32: &clone_and_setup_stm32 |
  16. cd $CI_PROJECT_DIR
  17. git submodule update --init
  18. git clone "${STM32_CUBE_F4_REPO}"
  19. mkdir $CI_PROJECT_DIR/examples/stm32_example/build
  20. wget -O gcc-arm-none-eabi.tar.bz2 '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'
  21. tar -xjf gcc-arm-none-eabi.tar.bz2
  22. mv gcc-arm-none-eabi-* gcc-arm-none-eabi
  23. before_script:
  24. # Use CI Tools
  25. - curl -sSL ${CIT_LOADER_URL} | sh
  26. - source citools/import_functions
  27. - PATH=$CI_PROJECT_DIR/esp-idf/tools:$PATH
  28. build_with_idf:
  29. stage: build
  30. image: ${CI_DOCKER_REGISTRY}/esp32-ci-env
  31. tags:
  32. - build
  33. - internet
  34. script:
  35. - *clone_and_setup_idf
  36. - cd $CI_PROJECT_DIR/examples/esp32_example
  37. # Build for all supported targets
  38. - idf.py build -DMD5_ENABLED=1
  39. - idf.py build -DMD5_ENABLED=0
  40. - *clone_and_setup_stm32
  41. - cd $CI_PROJECT_DIR/examples/stm32_example/build
  42. - cmake -DTOOLCHAIN_PREFIX=$CI_PROJECT_DIR/gcc-arm-none-eabi -DSTM32Cube_DIR=$CI_PROJECT_DIR/STM32CubeF4 .. && cmake --build .
  43. run_tests:
  44. stage: test
  45. image: ${CI_DOCKER_REGISTRY}/qemu:esp-develop-20191124
  46. tags:
  47. - build
  48. - internet
  49. script:
  50. - cd $CI_PROJECT_DIR/test
  51. - export QEMU_PATH=/opt/qemu/bin/qemu-system-xtensa
  52. - ./run_test.sh qemu
  53. - ./run_test.sh host