diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 89f883f5..540e980e 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -353,7 +353,7 @@ jobs: build_linux: name: Linux - runs-on: ubuntu-20.04 + runs-on: ubuntu-${{ matrix.dist }} needs: [check_changelog, setup_release] strategy: fail-fast: false # false to test all, true to fail entire job if any fail @@ -361,8 +361,13 @@ jobs: include: # package these differently - type: cpack EXTRA_ARGS: '' + dist: 20.04 + - type: cpack + EXTRA_ARGS: '' + dist: 22.04 - type: appimage EXTRA_ARGS: '-DSUNSHINE_CONFIGURE_APPIMAGE=ON' + dist: 20.04 steps: - name: Checkout @@ -374,16 +379,47 @@ jobs: run: | sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y - sudo apt-get update -y + if [[ ${{ matrix.dist }} == "18.04" ]]; then + # Ubuntu 18.04 packages + sudo add-apt-repository ppa:savoury1/boost-defaults-1.71 -y + + sudo apt-get update -y + sudo apt-get install -y \ + libboost-filesystem1.71-dev \ + libboost-log1.71-dev \ + libboost-regex1.71-dev \ + libboost-thread1.71-dev + + # Install cmake + wget https://cmake.org/files/v3.22/cmake-3.22.2-linux-x86_64.sh + chmod +x cmake-3.22.2-linux-x86_64.sh + mkdir /opt/cmake + ./cmake-3.22.2-linux-x86_64.sh --prefix=/opt/cmake --skip-license + ln --force --symbolic /opt/cmake/bin/cmake /usr/local/bin/cmake + cmake --version + + # install newer tar from focal... appimagelint fails on 18.04 without this + echo "original tar version" + tar --version + wget -O tar.deb http://security.ubuntu.com/ubuntu/pool/main/t/tar/tar_1.30+dfsg-7ubuntu0.20.04.2_amd64.deb + sudo apt-get -y install -f ./tar.deb + echo "new tar version" + tar --version + else + # Ubuntu 20.04+ packages + sudo apt-get update -y + sudo apt-get install -y \ + cmake \ + libboost-filesystem-dev \ + libboost-log-dev \ + libboost-thread-dev + fi + sudo apt-get install -y \ build-essential \ - cmake \ gcc-10 \ g++-10 \ libavdevice-dev \ - libboost-filesystem-dev \ - libboost-log-dev \ - libboost-thread-dev \ libcap-dev \ libcurl4-openssl-dev \ libdrm-dev \ @@ -403,24 +439,19 @@ jobs: libxrandr-dev \ libxtst-dev \ wget - # # Ubuntu 20.04+ packages - # libboost-filesystem-dev - # libboost-log-dev - # libboost-thread-dev - - # # Ubuntu 18.04 packages - # libboost-filesystem1.71-dev \ - # libboost-log1.71-dev \ - # libboost-regex1.71-dev \ - # libboost-thread1.71-dev \ # clean apt cache sudo apt-get clean sudo rm -rf /var/lib/apt/lists/* # Update gcc alias + # https://stackoverflow.com/a/70653945/11214013 sudo update-alternatives --install \ - /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 + /usr/bin/gcc gcc /usr/bin/gcc-10 100 \ + --slave /usr/bin/g++ g++ /usr/bin/g++-10 \ + --slave /usr/bin/gcov gcov /usr/bin/gcov-10 \ + --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-10 \ + --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-10 # Install CuDA sudo wget \ @@ -430,14 +461,6 @@ jobs: sudo /root/cuda.run --silent --toolkit --toolkitpath=/usr --no-opengl-libs --no-man-page --no-drm sudo rm /root/cuda.run - # # Install cmake (necessary for 18.04) - # wget https://cmake.org/files/v3.22/cmake-3.22.2-linux-x86_64.sh - # chmod +x cmake-3.22.2-linux-x86_64.sh - # mkdir /opt/cmake - # ./cmake-3.22.2-linux-x86_64.sh --prefix=/opt/cmake --skip-license - # ln --force --symbolic /opt/cmake/bin/cmake /usr/local/bin/cmake - # cmake --version - - name: Build Linux run: | mkdir -p build @@ -464,13 +487,13 @@ jobs: if: ${{ matrix.type == 'cpack' }} working-directory: build run: | - # package cpack -G DEB - cpack -G RPM + mv ./cpack_artifacts/Sunshine.deb ../artifacts/sunshine-${{ matrix.dist }}.deb - # move - mv ./cpack_artifacts/Sunshine.deb ../artifacts/sunshine.deb - mv ./cpack_artifacts/Sunshine.rpm ../artifacts/sunshine.rpm + if [[ ${{ matrix.dist }} == "20.04" ]]; then + cpack -G RPM + mv ./cpack_artifacts/Sunshine.rpm ../artifacts/sunshine.rpm + fi - name: Set AppImage Version if: ${{ matrix.type == 'appimage' && ( needs.check_changelog.outputs.next_version_bare != needs.check_changelog.outputs.last_version ) }} # yamllint disable-line rule:line-length @@ -527,7 +550,7 @@ jobs: - name: Upload Artifacts uses: actions/upload-artifact@v3 with: - name: sunshine-linux-${{ matrix.type }} + name: sunshine-linux-${{ matrix.type }}-${{ matrix.dist }} path: artifacts/ - name: Create/Update GitHub Release diff --git a/docs/source/about/installation.rst b/docs/source/about/installation.rst index c661af3e..5e51f716 100644 --- a/docs/source/about/installation.rst +++ b/docs/source/about/installation.rst @@ -40,15 +40,15 @@ According to AppImageLint the supported distro matrix of the AppImage is below. - [✔] Debian stable (bullseye) - [✔] Debian testing (bookworm) - [✔] Debian unstable (sid) +- [✔] Ubuntu kinetic - [✔] Ubuntu jammy -- [✔] Ubuntu impish - [✔] Ubuntu focal - [✖] Ubuntu bionic - [✖] Ubuntu xenial - [✖] Ubuntu trusty - [✖] CentOS 7 -#. Download ``sunshine-appimage.zip`` and extract the contents to your home directory. +#. Download ``sunshine.AppImage`` to your home directory. #. Open terminal and run the following code. .. code-block:: bash @@ -85,11 +85,14 @@ Debian Package .. image:: https://img.shields.io/github/issues/lizardbyte/sunshine/pkg:deb?logo=github&style=for-the-badge :alt: GitHub issues by-label -#. Download ``sunshine.deb`` and run the following code. +#. Download ``sunshine-{ubuntu-version}.deb`` and run the following code. .. code-block:: bash - sudo apt install -f ./sunshine.deb + sudo apt install -f ./sunshine-{ubuntu-version}.deb + +.. Note:: The ``{ubuntu-version}`` is the version of ubuntu we built the package on. If you are not using Ubuntu and + have an issue with one package, you can try another. .. Tip:: You can double click the deb file to see details about the package and begin installation.