diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..c753c82a09 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,97 @@ +on: [push, pull_request] + +name: Continuous integration + +jobs: + ubuntu-build-bundled: + name: "Ubuntu: Build with bundled libraries" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install dependencies + run: sudo apt-get update && sudo apt-get install -y + libasound2-dev + libgl-dev + libglew-dev + libgtk2.0-dev + libjack-dev + libmad0-dev + libpulse-dev + libva-dev + libvorbis-dev + libxinerama-dev + libx11-dev + libxrandr-dev + libxtst-dev + nasm + - name: Configure + run: cmake -B build + - name: Build + run: cmake --build build + + ubuntu-build-system: + name: "Ubuntu: Build with system libraries" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install dependencies + run: sudo apt-get update && sudo apt-get install -y + ffmpeg + libasound2-dev + libgl-dev + libglew-dev + libgtk2.0-dev + libjack-dev + libjsoncpp-dev + libmad0-dev + libpulse-dev + libtomcrypt-dev + libtommath-dev + libva-dev + libvorbis-dev + libxinerama-dev + libx11-dev + libxrandr-dev + libxtst-dev + ninja-build + - name: Configure + # TODO: jsoncpp: https://github.com/stepmania/stepmania/issues/1883 + # TODO: png: https://github.com/stepmania/stepmania/issues/1881 + # TODO: tomcrypt: https://github.com/stepmania/stepmania/issues/1885 + run: cmake -G Ninja -B build + -DWITH_SYSTEM_FFMPEG=ON + -DWITH_SYSTEM_GLEW=ON + -DWITH_SYSTEM_JPEG=ON + -DWITH_SYSTEM_JSONCPP=OFF + -DWITH_SYSTEM_MAD=ON + -DWITH_SYSTEM_OGG=ON + -DWITH_SYSTEM_PCRE=ON + -DWITH_SYSTEM_PNG=OFF + -DWITH_SYSTEM_TOMCRYPT=OFF + -DWITH_SYSTEM_TOMMATH=ON + -DWITH_SYSTEM_ZLIB=ON + - name: Build + run: cmake --build build + + macos-build-bundled: + name: "macOS: Build with bundled libraries" + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Install dependencies + run: brew install + nasm + - name: Configure + run: cmake -B build + - name: Build + run: cmake --build build + + windows-build-bundled: + name: "Windows: Build with bundled libraries" + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: Configure + run: cmake -B build + - name: Build + run: cmake --build build