diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml new file mode 100644 index 0000000..425b3c2 --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,51 @@ +name: linux + +on: + push: + branches: + - "*" + paths-ignore: + - "**.md" + pull_request: + branches: + - "*" + workflow_dispatch: + +jobs: + build: + name: ${{matrix.cxx_compiler}} USE_QT_GUI=${{matrix.qt_gui}} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + cxx_compiler: [g++, clang++] + qt_gui: [YES, NO] + + steps: + - name: "Checkout Code" + uses: actions/checkout@v2 + with: + submodules: "recursive" + fetch-depth: 0 + + - name: Dependencies + run: | + sudo apt -y update + sudo apt -y install ninja-build build-essential libcurl4-openssl-dev libboost-regex-dev \ + libjsoncpp-dev librhash-dev libtinyxml2-dev libhtmlcxx-dev \ + libboost-system-dev libboost-filesystem-dev libboost-program-options-dev \ + libboost-date-time-dev libboost-iostreams-dev help2man cmake \ + pkg-config zlib1g-dev qtwebengine5-dev + + - name: Configure + env: + CXX: ${{matrix.cxx_compiler}} + run: | + cmake -S . -B build -D CMAKE_BUILD_TYPE=Release \ + -D USE_QT_GUI=${{matrix.qt_gui}} -G Ninja + + - name: Build + run: ninja -C build + + - name: Run + run: cd build && ./lgogdownloader --help