Skip to content

Update GitHub Actions to use Node.js 20 #34

Update GitHub Actions to use Node.js 20

Update GitHub Actions to use Node.js 20 #34

Workflow file for this run

name: Google Tests
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
types: [opened, synchronize, reopened]
jobs:
google-test:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
submodules: true
- name: Checkout submodules
run: git submodule update --init --recursive
- name: Set up Python 3.8
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Check Python version
run: |
python --version
python3 --version
python3.8 --version
- name: Set Python 3.8 as default
run: |
echo "alias python=python3.8" >> ~/.bashrc
source ~/.bashrc
- name: Install dependencies
run: |
sudo apt-get install -y gcc g++ cmake make ninja-build
sudo apt-get install -y git wget libncurses-dev flex bison gperf python3 python3-pip python3-setuptools python3-serial python3-click python3-cryptography python3-future python3-pyparsing python3-pyelftools ccache libffi-dev libssl-dev
sudo apt-get install -y locales
sudo locale-gen de_DE.UTF-8
- name: Set IDF_PATH
run: echo "IDF_PATH=$HOME/esp/esp-idf" >> $GITHUB_ENV
- name: Cache ESP-IDF and tools
id: cache-esp-idf
uses: actions/cache@v4
with:
path: |
~/esp
~/.espressif
key: esp-idf-${{ hashFiles('.github/workflows/google-tests.yml') }}
- name: Download and install ESP-IDF v4.2.2
if: steps.cache-esp-idf.outputs.cache-hit != 'true'
run: |
mkdir ~/esp
cd ~/esp
git clone --recursive --branch v4.2.2 https://github.com/espressif/esp-idf.git
cd $IDF_PATH
./install.sh --python `which python3.8`
- name: Build
run: |
source $HOME/esp/esp-idf/export.sh
printenv | grep IDF
idf.py --version
cd tests
mkdir cmake-build-unit-tests
cd cmake-build-unit-tests
cmake -G "Ninja" ..
ninja
- name: Run tests
run: |
cd tests/cmake-build-unit-tests
ctest