RANKED MATCH ENDED -> MATCH ENDED #566
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: 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 |