Update README.md #65
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build All Menu Configurations | |
# Triggers the workflow on push or pull request events | |
on: [push, pull_request] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
PLATFORMIO_SRC_DIR: temp/menu_a_la_carte | |
if: "!contains(github.event.head_commit.message, 'ci skip')" | |
strategy: | |
matrix: | |
include: | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_DIGI_XBEE_CELLULAR_TRANSPARENT | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_DIGI_XBEE_LTE_BYPASS | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_DIGI_XBEE_3G_BYPASS | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_DIGI_XBEE_WIFI | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_ESPRESSIF_ESP8266 | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_QUECTEL_BG96 | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SEQUANS_MONARCH | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM800 | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7000 | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SODAQ_2G_BEE_R6 | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SODAQ_UBEE_R410M | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SODAQ_UBEE_U201 | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_AO_SONG_AM2315 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_AO_SONG_DHT | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_APOGEE_SQ212 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_ATLAS_SCIENTIFIC_CO2 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_ATLAS_SCIENTIFIC_DO | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_ATLAS_SCIENTIFIC_ORP | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_ATLAS_SCIENTIFIC_PH | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_ATLAS_SCIENTIFIC_RTD | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_ATLAS_SCIENTIFIC_EC | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_BOSCH_BME280 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_BOSCH_BMP3XX | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_CAMPBELL_CLARI_VUE10 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_CAMPBELL_OBS3 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_DECAGON_CTD | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_DECAGON_ES2 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_EVERLIGHT_ALSPT19 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_TIADS1X15 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_FREESCALE_MPL115A2 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_IN_SITU_RDO | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_IN_SITU_TROLL_SDI12A | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_KELLER_ACCULEVEL | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_KELLER_NANOLEVEL | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_MAX_BOTIX_SONAR | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_MAXIM_DS18 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_MEA_SPEC_MS5803 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_DECAGON_5TM | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_METER_HYDROS21 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_METER_TEROS11 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_PALEO_TERRA_REDOX | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_RAIN_COUNTER_I2C | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_SENSIRION_SHT4X | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_TALLY_COUNTER_I2C | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_TI_INA219 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_TURNER_CYCLOPS | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_ANALOG_ELEC_CONDUCTIVITY | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_YOSEMITECH_Y504 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_YOSEMITECH_Y510 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_YOSEMITECH_Y511 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_YOSEMITECH_Y514 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_YOSEMITECH_Y520 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_YOSEMITECH_Y532 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_YOSEMITECH_Y533 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_YOSEMITECH_Y551 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_YOSEMITECH_Y560 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_YOSEMITECH_Y4000 | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: BUILD_SENSOR_ZEBRA_TECH_D_OPTO | |
publisherFlag: BUILD_PUB_ENVIRO_DIY_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_DREAM_HOST_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_THING_SPEAK_PUBLISHER | |
- modemFlag: BUILD_MODEM_SIM_COM_SIM7080 | |
sensorFlag: NO_SENSORS | |
publisherFlag: BUILD_PUB_UBIDOTS_PUBLISHER | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set environment variable for library installation source | |
run: | | |
if [[ -z "${GITHUB_HEAD_REF}" ]]; then | |
echo "::debug::Push to commit ${GITHUB_SHA}" | |
echo "LIBRARY_INSTALL_SOURCE=https://github.com/${GITHUB_REPOSITORY}.git#${GITHUB_SHA}" >> $GITHUB_ENV | |
else | |
echo "::debug::Pull Request from the ${GITHUB_HEAD_REF} branch" | |
echo "LIBRARY_INSTALL_SOURCE=https://github.com/${GITHUB_REPOSITORY}.git#${GITHUB_HEAD_REF}" >> $GITHUB_ENV | |
fi | |
if [[ -z "${GITHUB_HEAD_REF}" ]]; then | |
echo "::debug::Push to commit ${GITHUB_SHA}" | |
echo "LIBRARY_INSTALL_ZIP=https://github.com/${GITHUB_REPOSITORY}/archive/${GITHUB_SHA}.zip" >> $GITHUB_ENV | |
else | |
echo "::debug::Pull Request from the ${GITHUB_HEAD_REF} branch" | |
echo "LIBRARY_INSTALL_ZIP=https://github.com/${GITHUB_REPOSITORY}/archive/${GITHUB_HEAD_REF}.zip" >> $GITHUB_ENV | |
fi | |
- name: Set up Python | |
uses: actions/[email protected] | |
- name: Install PlatformIO | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade platformio | |
# We use the `arduino/setup-arduino-cli` action to install and | |
# configure the Arduino CLI on the system. | |
- name: Setup Arduino CLI | |
uses: arduino/[email protected] | |
- name: Restore PlatformIO and Arduino platforms and libraries | |
uses: actions/cache@v3 | |
id: cache_libraries | |
with: | |
path: | | |
~/.platformio | |
home/arduino | |
# if nothing in the dependencies.json file has changed, then it will | |
# be a "cache hit" and we can restore libraries from cache and not | |
# download them. If it has changed we have to re-download. | |
key: ${{ hashFiles('./continuous_integration/dependencies.json') }} | |
# Install cores and library dependencies for the Arduino CLI | |
- name: Install the Arduino libraries | |
if: steps.cache_libraries.outputs.cache-hit != 'true' | |
run: | | |
chmod +x continuous_integration/install-deps-arduino-cli.sh | |
sh continuous_integration/install-deps-arduino-cli.sh | |
# Install the dependencies for PlatformIO | |
- name: Install the PlatformIO dependencies at global level | |
if: steps.cache_libraries.outputs.cache-hit != 'true' | |
run: | | |
chmod +x continuous_integration/install-deps-platformio.sh | |
sh continuous_integration/install-deps-platformio.sh | |
# Install ModularSensors for the Arduino CLI | |
- name: Install the testing version of Modular Sensors for Arduino CLI | |
run: | | |
chmod +x continuous_integration/install-test-version-arduino-cli.sh | |
sh continuous_integration/install-test-version-arduino-cli.sh | |
# Install ModularSensors at the Global level for PlatformIO | |
# Force install to get the right version | |
- name: Install the testing version of Modular Sensors for PlatformIO | |
run: | | |
pio lib -g install -f ${{ env.LIBRARY_INSTALL_SOURCE }} | |
pio lib show EnviroDIY_ModularSensors | |
- name: Modify menu for matrix configuration | |
env: | |
modemFlag: ${{ matrix.modemFlag }} | |
sensorFlag: ${{ matrix.sensorFlag }} | |
publisherFlag: ${{ matrix.publisherFlag }} | |
run: | | |
echo "${{ env.LIBRARY_INSTALL_SOURCE }}" | |
chmod +x continuous_integration/modify-menu-configuration.sh | |
sh continuous_integration/modify-menu-configuration.sh | |
- name: Test with PlatformIO | |
run: | | |
echo "::group::Build for Mayfly" | |
platformio run --environment mayfly --project-conf="continuous_integration/platformio.ini" | |
echo "::endgroup::" | |
echo "::group::Build for Arduino Mega" | |
platformio run --environment mega --project-conf="continuous_integration/platformio.ini" | |
echo "::endgroup::" | |
echo "::group::Build for Arduino Zero" | |
platformio run --environment arduino_zero --project-conf="continuous_integration/platformio.ini" | |
echo "::endgroup::" | |
echo "::group::Build for Adafruit Feather M0" | |
platformio run --environment adafruit_feather_m0 --project-conf="continuous_integration/platformio.ini" | |
echo "::endgroup::" | |
echo "::group::Build for Sodaq Autonomo" | |
platformio run --environment autonomo --project-conf="continuous_integration/platformio.ini" | |
echo "::endgroup::" | |
- name: Test with Arduino CLI | |
run: | | |
echo "::group::Build for Mayfly" | |
arduino-cli --config-file continuous_integration/arduino_cli.yaml compile --clean --build-property "build.extra_flags=-DNEOSWSERIAL_EXTERNAL_PCINT -DBUILD_TEST_ALTSOFTSERIAL -DBUILD_TEST_NEOSWSERIAL -DBUILD_TEST_SOFTSERIAL -DBUILD_TEST_COMPLEX_LOOP" --fqbn EnviroDIY:avr:envirodiy_mayfly temp/menu_a_la_carte/ | |
echo "::endgroup::" | |
echo "::group::Build for Arduino Mega" | |
arduino-cli --config-file continuous_integration/arduino_cli.yaml compile --clean --build-property "build.extra_flags=-DNEOSWSERIAL_EXTERNAL_PCINT -DMS_RAIN_SOFTWAREWIRE -DMS_PALEOTERRA_SOFTWAREWIRE -DMS_SDI12_NON_CONCURRENT" --fqbn arduino:avr:mega temp/menu_a_la_carte/ | |
echo "::endgroup::" | |
echo "::group::Build for Arduino Zero" | |
arduino-cli --config-file continuous_integration/arduino_cli.yaml compile --clean --build-property "build.extra_flags-DNEOSWSERIAL_EXTERNAL_PCINT -DARDUINO_SAMD_ZERO -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x804d -DUSBCON" --fqbn arduino:samd:mzero_bl temp/menu_a_la_carte/ | |
echo "::endgroup::" | |
echo "::group::Build for Adafruit Feather M0" | |
arduino-cli --config-file continuous_integration/arduino_cli.yaml compile --clean --build-property "build.extra_flags=-DNEOSWSERIAL_EXTERNAL_PCINT -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS -DADAFRUIT_FEATHER_M0 -D__SAMD21G18A__ -DUSB_VID=0x239A -DUSB_PID=0x800B -DUSBCON -DUSB_CONFIG_POWER=100 -DMS_USE_ADS1015" --fqbn adafruit:samd:adafruit_feather_m0 temp/menu_a_la_carte/ | |
echo "::endgroup::" | |
echo "::group::Build for Sodaq Autonomo" | |
arduino-cli --config-file continuous_integration/arduino_cli.yaml compile --clean --build-property "build.extra_flags=-DNEOSWSERIAL_EXTERNAL_PCINT -DVERY_LOW_POWER -D__SAMD21J18A__ -DUSB_VID=0x2341 -DUSB_PID=0x804d -DUSBCON -DENABLE_SERIAL2 -DENABLE_SERIAL3 -DMS_SAMD_DS3231" --fqbn SODAQ:samd:sodaq_autonomo temp/menu_a_la_carte/ | |
echo "::endgroup::" | |
# NOTE: Don't uninstall for PlatformIO because the library manager will clean up the | |
# dependencies leaving nothing for the cache | |
# pio lib -g uninstall EnviroDIY_ModularSensors | |
- name: Uninstall testing version of Modular Sensors before caching | |
run: | | |
arduino-cli --config-file continuous_integration/arduino_cli.yaml lib uninstall ModularSensors |