Newer
Older
build:
image: europeanxfel/karabo-ci:ubuntu-22-003
script:
# Set up Arduino environment
- cat /etc/os-release
- apt-get install -y wget python3-pip rename
- wget -nv
https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz
- tar -xf arduino-cli_latest_Linux_64bit.tar.gz
- mv arduino-cli /usr/bin/arduino-cli
# Configure arduino-cli
- echo "board_manager:" > arduino-cli.yaml
- echo " additional_urls:" >> arduino-cli.yaml
- echo " - https://dl.espressif.com/dl/package_esp32_index.json" >> arduino-cli.yaml
- echo "library:" >> arduino-cli.yaml
- echo -n " enable_unsafe_install:" >> arduino-cli.yaml
- echo " true" >> arduino-cli.yaml
- cat -E arduino-cli.yaml
# Set up esp32 support
- arduino-cli core update-index --config-file arduino-cli.yaml
- arduino-cli core install esp32:esp32
# Add pyserial for esp32 tools to chooch
- pip3 install pyserial
# Install dependencies
- arduino-cli lib install Ethernet
- arduino-cli lib install MCP23S08@0.5.2
- arduino-cli lib install --git-url https://github.com/patricklaf/SNMP.git --config-file arduino-cli.yaml # Awaiting 1.4.1+ tag
# Set version, tag if available else commit sha
- ICBM_GIT_VERSION=$CI_COMMIT_SHORT_SHA
- if [[ -v CI_COMMIT_TAG ]]; then ICBM_GIT_VERSION=$CI_COMMIT_TAG; fi;
- echo "Firmware version is $ICBM_GIT_VERSION"
- arduino-cli compile --fqbn esp32:esp32:esp32wroverkit icbm.ino --output-dir icbm-$ICBM_GIT_VERSION --build-property build.extra_flags="-DICBM_GIT_VERSION=\"$ICBM_GIT_VERSION\" -DICBM_GIT_TIMESTAMP=\"$CI_COMMIT_TIMESTAMP\""
- rename "s/ino/$ICBM_GIT_VERSION.ino/" icbm-$ICBM_GIT_VERSION/*
- zip -r icbm-$ICBM_GIT_VERSION.zip icbm-$ICBM_GIT_VERSION