diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml new file mode 100644 index 0000000..85535e7 --- /dev/null +++ b/.github/workflows/build-linux.yml @@ -0,0 +1,51 @@ +name: build-linux + +on: + push: + branches: [ "build_scripts" ] + +env: + BUILD_TYPE: Release + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Install system modules + run: | + sudo apt update + sudo apt install -y autoconf autoconf-archive bison build-essential cmake libtool ninja-build pkg-config unzip zip \ + libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxi-dev freeglut3-dev \ + libxext-dev libxfixes-dev libxrender-dev \ + libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-util0-dev \ + libxkbcommon-dev libxkbcommon-x11-dev libxcb-keysyms1-dev \ + libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev \ + libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev \ + libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev \ + libxcb-cursor-dev + + - name: Install project dependencies + run: vcpkg install libsndfile libsamplerate qtbase qtmultimedia + + - name: Configure CMake + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake + + - name: Build + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + + - name: Test + working-directory: ${{github.workspace}}/build + run: ctest -C ${{env.BUILD_TYPE}} + + - name: Package + run: zip ${{github.workspace}}/build-macos.zip ${{github.workspace}}/build/tmsexpress + + - name: Release + uses: softprops/action-gh-release@v1 + with: + files: | + ${{github.workspace}}/build-linux.zip