Fix Windows build #515
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]')" | |
# 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-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
fetch-depth: 0 | |
- name: Update packages | |
run: sudo apt-get update | |
# Install dependencies for building GLFW with X11 and Wayland support | |
- name: Install build dependencies | |
run: sudo apt-get install --fix-missing cmake ninja-build alsa-oss osspd-alsa osspd libasound2 libasound2-dev libgl1-mesa-dev libwayland-dev libxkbcommon-dev xorg-dev | |
- 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: Install LLVM | |
run: . cmake/linux_actions/install_llvm.sh | |
- 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: Install Libsodium | |
run: . cmake/linux_actions/install_libsodium.sh | |
- 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 |