Show selector level instead of index #1611
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: Domoticz PR Check | |
on: | |
pull_request: | |
branches: | |
- development | |
- master | |
paths-ignore: | |
- 'msbuild/**' | |
- '.github/**' | |
- 'tools/**' | |
- '**.md' | |
- '**.txt' | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
env: | |
PR_NR: ${{ github.event.pull_request.number }} | |
jobs: | |
# This workflow contains a single job called "build" | |
build: | |
# The type of runner that the job will run on | |
runs-on: ubuntu-latest | |
#runs-on: ubuntu-20.04 | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
# Prepare environment | |
- name: prepare environment | |
run: | | |
sudo timedatectl set-timezone Europe/Amsterdam | |
buildnr=$(git rev-list HEAD --count) | |
echo "BUILDNR=$(($buildnr + 2107))" >> $GITHUB_ENV | |
if [ "${GITHUB_EVENT_NAME}" == 'pull_request' ]; then | |
echo "BRANCH_NAME=$(echo ${GITHUB_HEAD_REF} | tr / -)" >> $GITHUB_ENV | |
echo "PRNUMBER=$(echo ${PR_NR})" >> $GITHUB_ENV | |
echo "Domoticz build for PR ${PR_NR}! Building version $(($buildnr + 2107)) from branch ${GITHUB_HEAD_REF}" | |
else | |
echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV | |
echo "PRNUMBER=$(echo ${GITHUB_SHA})" >> $GITHUB_ENV | |
fi | |
# install dependencies | |
- name: dependencies | |
run: | | |
echo 'APT::Get::Always-Include-Phased-Updates "false";' | sudo tee /etc/apt/apt.conf.d/99-phased-updates | |
sudo apt-mark hold grub-efi-amd64-signed | |
sudo apt-get update --fix-missing | |
sudo apt-get upgrade | |
sudo apt-get install make gcc g++ libssl-dev git libcurl4-gnutls-dev libusb-dev python3-dev zlib1g-dev liblua5.3-dev uthash-dev | |
sudo apt-get install python3-pytest python3-pytest-bdd | |
# sudo apt-get install lua5.3 luarocks | |
# sudo luarocks install busted | |
# sudo luarocks install luacov | |
# Disabled March 2022 - sudo luarocks install lodash | |
# get CMake | |
- name: cmake-compile | |
run: | | |
curl -sSL https://github.com/Kitware/CMake/releases/download/v3.28.1/cmake-3.28.1-Linux-x86_64.tar.gz -o cmake.tar.gz; | |
sudo tar xf cmake.tar.gz --strip 1 -C /usr/local; | |
export PATH=/usr/local/bin:$PATH; | |
# Boost | |
- name: build boost libraries | |
run: | | |
wget https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz >> /dev/null 2>&1 | |
tar xfz boost-1.84.0.tar.gz | |
cd boost-1.84.0/ | |
./bootstrap.sh | |
./b2 stage threading=multi link=static --with-thread --with-system --with-chrono >> /dev/null 2>&1 | |
sudo ./b2 install threading=multi link=static --with-thread --with-system --with-chrono >> /dev/null 2>&1 | |
# OpenZWave | |
- name: openzwave | |
run: | | |
cd $GITHUB_WORKSPACE | |
cd .. | |
git clone https://github.com/domoticz/open-zwave.git open-zwave-read-only | |
cd open-zwave-read-only | |
make | |
sudo make install >> /dev/null 2>&1 | |
# Domoticz | |
- name: build domoticz | |
run: | | |
cd $GITHUB_WORKSPACE | |
cmake -DCMAKE_BUILD_TYPE=Release CMakeLists.txt | |
make | |
# Run automated tests (disabled March 2022) | |
#- name: unit-tests domoticz-dzVents | |
# run: | | |
# cd $GITHUB_WORKSPACE/dzVents/runtime/tests | |
# busted --coverage -o TAP * | |
# luacov | |
# tail -19 luacov.report.out | |
# continue-on-error: true | |
- name: functional-tests domoticz | |
run: | | |
cd $GITHUB_WORKSPACE | |
ln -s ../test/gherkin/resources/testwebcontent www/test | |
sudo ./domoticz -sslwww 0 -wwwroot www -pidfile /var/run/domoticz.pid -daemon | |
pytest-3 -rA --tb=no test/gherkin/ | |
sudo kill -s TERM `sudo cat /var/run/domoticz.pid` | |
continue-on-error: true | |
# Packaging | |
- name: package domoticz | |
# if: ${{ false }} | |
run: | | |
cd $GITHUB_WORKSPACE | |
mkdir package | |
tar czf package/domoticz_linux_x86_64.tgz domoticz History.txt License.txt domoticz.sh server_cert.pem updatebeta updaterelease www/ scripts/ dzVents/ | |
shasum -a 256 package/domoticz_linux_x86_64.tgz > package/domoticz_linux_x86_64.tgz.sha256sum | |
cp appversion.h.txt package/version_linux_x86_64.h | |
cp History.txt package/history_linux_x86_64.txt | |
# Artifact upload | |
- name: Upload artifacts | |
# if: ${{ false }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: domoticz_linux_x86_64-${{ github.event.pull_request.number }}-${{ github.run_number }} | |
path: package/domoticz_linux_x86_64.tgz | |
retention-days: 7 |