diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..9f8b7fb --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,54 @@ +name: Build and run tests +on: [push, pull_request] +env: + app_id: pvr.dvblink + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - name: "Debian package test" + os: ubuntu-latest + CC: gcc + CXX: g++ + DEBIAN_BUILD: true + steps: + - name: Install needed ubuntu depends + env: + DEBIAN_BUILD: ${{ matrix.DEBIAN_BUILD }} + run: | + if [[ $DEBIAN_BUILD == true ]]; then sudo add-apt-repository -y ppa:team-xbmc/xbmc-nightly; fi + if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get update; fi + if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get install fakeroot; fi + - name: Checkout Kodi repo + uses: actions/checkout@v2 + with: + repository: xbmc/xbmc + ref: Nexus + path: xbmc + - name: Checkout add-on repo + uses: actions/checkout@v2 + with: + path: ${{ env.app_id }} + - name: Configure + env: + CC: ${{ matrix.CC }} + CXX: ${{ matrix.CXX }} + DEBIAN_BUILD: ${{ matrix.DEBIAN_BUILD }} + run: | + if [[ $DEBIAN_BUILD != true ]]; then cd ${app_id} && mkdir -p build && cd build; fi + if [[ $DEBIAN_BUILD != true ]]; then cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=${{ github.workspace }} -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/xbmc/addons -DPACKAGE_ZIP=1 ${{ github.workspace }}/xbmc/cmake/addons; fi + if [[ $DEBIAN_BUILD == true ]]; then wget https://raw.githubusercontent.com/xbmc/xbmc/master/xbmc/addons/kodi-dev-kit/tools/debian-addon-package-test.sh && chmod +x ./debian-addon-package-test.sh; fi + if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get build-dep ${{ github.workspace }}/${app_id}; fi + - name: Build + env: + CC: ${{ matrix.CC }} + CXX: ${{ matrix.CXX }} + DEBIAN_BUILD: ${{ matrix.DEBIAN_BUILD }} + run: | + if [[ $DEBIAN_BUILD != true ]]; then cd ${app_id}/build; fi + if [[ $DEBIAN_BUILD != true ]]; then make; fi + if [[ $DEBIAN_BUILD == true ]]; then ./debian-addon-package-test.sh ${{ github.workspace }}/${app_id}; fi diff --git a/README.md b/README.md index c74944f..2e922d6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ [![License: GPL-2.0-or-later](https://img.shields.io/badge/License-GPL%20v2+-blue.svg)](LICENSE.md) +[![Build and run tests](https://github.com/kodi-pvr/pvr.dvblink/actions/workflows/build.yml/badge.svg?branch=Nexus)](https://github.com/kodi-pvr/pvr.dvblink/actions/workflows/build.yml) [![Build Status](https://dev.azure.com/teamkodi/kodi-pvr/_apis/build/status/kodi-pvr.pvr.dvblink?branchName=Nexus)](https://dev.azure.com/teamkodi/kodi-pvr/_build/latest?definitionId=59&branchName=Nexus) [![Build Status](https://jenkins.kodi.tv/view/Addons/job/kodi-pvr/job/pvr.dvblink/job/Nexus/badge/icon)](https://jenkins.kodi.tv/blue/organizations/jenkins/kodi-pvr%2Fpvr.dvblink/branches/)