Skip to content

Play ranked -> Quick play. Choose casual server with players if no ra… #565

Play ranked -> Quick play. Choose casual server with players if no ra…

Play ranked -> Quick play. Choose casual server with players if no ra… #565

Workflow file for this run

name: Linux build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[ds only]') && !contains(github.event.head_commit.message, '[win only]')"
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
fetch-depth: 0
- name: Update packages
run: sudo apt-get update
- name: Install packages
run: sudo apt-get install --fix-missing cmake ninja-build
- name: Install OpenSSL3
run: cmake/linux_actions/install_openssl3.sh
- name: Install LLVM
run: . cmake/linux_actions/install_llvm.sh
- name: Install Libsodium
run: . cmake/linux_actions/install_libsodium.sh
# Install dependencies for building GLFW with X11 and Wayland support
- name: Install build dependencies
run: sudo apt-get install --fix-missing alsa-oss osspd-alsa osspd libasound2 libasound2-dev libgl1-mesa-dev libwayland-dev libxkbcommon-dev xorg-dev
- name: Add PipeWire PPA
run: |
sudo add-apt-repository -y ppa:pipewire-debian/pipewire-upstream
sudo apt-get update
- name: Install OpenAL soft dependencies
run: sudo apt-get install --fix-missing libpulse-dev portaudio19-dev libasound2-dev libjack-dev libdbus-1-dev libpipewire-0.3-dev
- name: Clone GLFW
run: git clone https://github.com/glfw/glfw.git
# Build GLFW from source with support for both X11 and Wayland
- name: Build GLFW from source
run: |
cd glfw
mkdir build && cd build
cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DGLFW_BUILD_DOCS=OFF -DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_WAYLAND=ON -DGLFW_BUILD_X11=ON
make
sudo make install
- name: Backup Steam lib
run: cp cmake/steam_integration/bin/linux/libsteam_integration.so libsteam_integration.so.bak
- name: Build Non-Steam libsteam_integration
run: . cmake/build_nonsteam_integration.sh
- name: Generate CMake files
run: . cmake/linux_actions/generate_cmake_files.sh
- name: Build
run: pushd build/current && ninja tests -k 0 && popd
- name: Build AppImage
run: cmake/appimage_builder.sh
- name: Restore Steam lib
run: cp libsteam_integration.so.bak cmake/steam_integration/bin/linux/libsteam_integration.so
- name: Build AppImage (Steam)
run: cmake/appimage_builder.sh --steam
- name: Create release_notes.txt
run: cmake/generate_archives.sh Linux
- uses: actions/upload-artifact@v3
with:
name: Linux-binaries
path: |
Hypersomnia.AppImage
Hypersomnia-Steam.AppImage
hypersomnia/release_notes.txt